Handbook:AMD64/Networking/Modular/hu
Hálózati modulok
Netifrc támogatja a moduláris hálózati szkripteket, ami azt jelenti, hogy új interfésztípusok és beállításmodulok támogatása könnyen hozzáadható, miközben megmarad a kompatibilitás a meglévőkkel.
A modulok alapértelmezés szerint betöltődnek, ha a szükséges szoftvercsomag telepítve van. Ha a felhasználók itt megadnak egy modult, amelynek szoftvercsomagja nincs telepítve, akkor hibaüzenetet kapnak, amely jelzi, melyik szoftvercsomagot kell telepíteniük. Ideális esetben a modulok beállítása csak akkor használatos, ha két vagy több olyan szoftvercsomag van telepítve, amelyek ugyanazt a szolgáltatást nyújtják, és egyiket előnyben kell részesíteni a másikkal szemben.
Minden itt tárgyalt beállítás az /etc/conf.d/net fájlban van tárolva, kivéve, ha másként van megadva.
/etc/conf.d/net
Moduldefiníciók# Prefer ifconfig over iproute2
# modules="ifconfig"
# You can also specify other modules for an interface
# In this case we prefer dhclient over dhcpcd
modules_eth0="dhclient"
# You can also specify which modules not to use - for example you may be
# using a supplicant or linux-wlan-ng to control wireless configuration but
# you still want to configure network settings per ESSID associated with.
modules="!iwconfig"
Interfészkezelők
Két interfészkezelőt biztosítunk: ifconfig és iproute2. Ezek közül valamelyikre szükség van a hálózati beállítások elvégzéséhez.
Mindkettő alapértelmezés szerint telepítve van a rendszerprofil részeként. Az iproute2 egy erősebb és rugalmasabb szoftvercsomag. Az ifconfig és a net-tools már nem ajánlottak hálózati beállításokhoz.
Mivel az iproute2 és az ifconfig nagyon hasonló dolgokat végez, ezért lehetővé tesszük alapvető beállításaik együttműködését. Például az alábbi beállítás a használt modultól függetlenül működik.
/etc/conf.d/net
Példa beállításconfig_eth0="192.168.0.2/24"
config_eth0="192.168.0.2 netmask 255.255.255.0"
DHCP
A DHCP egy eszköz IP-címének és más hálózati információk (DNS-szerver(ek), átjáró stb.) megszerzésére szolgáló módszer egy szerverről. Egy DHCP-szerver futása esetén a hálózaton a felhasználónak csak annyit kell tennie, hogy minden eszközt beállít a DHCP-beállítás információk megszerzésére, amelyet az eszköz automatikus beállítására használnak. Természetesen ehhez hálózati kapcsolat szükséges (pl. vezeték nélküli hozzáférési ponton, PPPoE-n stb. keresztül).
A DHCP szolgáltatást a dhclient vagy a dhcpcd biztosíthatja. Mindkét DHCP modulnak megvannak a maga előnyei és hátrányai. Itt egy rövid összefoglaló:
DHCP modul | Szoftvercsomag | Érvek | Ellenérvek |
---|---|---|---|
dhclient | net-misc/dhcp | Az ISC által készített szoftver, ugyanazok az emberek, akik a BIND DNS szoftvert is készítik. Nagyon konfigurálható. Használható DHCPv4 vagy DHCPv6 biztosítására. | A konfiguráció túlságosan bonyolult, a szoftver meglehetősen terjedelmes, nem tud NTP szervereket szerezni a DHCP-ből, alapértelmezés szerint nem küld hostnevet. Már nem karbantartják upstream. |
dhcpcd | net-misc/dhcpcd | Hosszú ideig Gentoo alapértelmezett, nincs szükség külső eszközökre, aktívan fejlesztve Gentoo által. Egyidejűleg biztosít DHCPv4-et és DHCPv6-ot. | Néha lassú lehet, és nem fut háttérfolyamatként, amikor a bérlet végtelen. |
Ha több DHCP-kliens van telepítve, akkor meg lehet határozni, hogy melyik klienst használja az "modules" változó beállításával, pl. modules="dhcpcd"
. Egyébként, ha a dhcpcd telepítve van, akkor az alapértelmezés szerint használva lesz.
A specifikus opciók DHCP modulnak történő elküldéséhez használja a module_eth0="..." formátumot, ahol module a használt DHCP modul neve - például "dhcpcd_eth0".
Igyekszünk a DHCP-t viszonylag semlegessé tenni - ennek érdekében támogatjuk az alábbi parancsokat a dhcp_eth0 változóval. Alapértelmezés szerint egyik sem kerül beállításra:
release
- Az IP-cím felszabadítása újbóli felhasználás céljából.
nodns
- Ne írja felül az /etc/resolv.conf fájlt.
nontp
- Ne írja felül az /etc/ntp.conf fájlt.
nonis
- Ne írja felül az /etc/yp.conf fájlt.
/etc/conf.d/net
Példa DHCP (v4) beállítás# Only needed if more than one DHCP module is installed
modules="dhcpcd"
config_eth0="dhcp"
dhcpcd_eth0="-t 10" # Timeout after 10 seconds
dhcp_eth0="release nodns nontp nonis" # Only get an address
dhcpcd alapértelmezés szerint elküldi az aktuális hostnevet a DHCP-szervernek, így ezt már nem szükséges megadni.
/etc/conf.d/net
Példa DHCPv6 beállítás# Only needed if more than one DHCP module is installed
modules="dhclient"
config_eth0="dhcpv6"
# To use both DHCPv4 and DHCPv6 on a dual-stack network, remove the above line and uncomment the following lines
#config_eth0="dhcp
#dhcpv6"
# Futásidejű argumentumok továbbítása a dhclient számára a DHCPv6-hoz
dhclientv6_eth0="-t 10" # Időtúllépés 10 másodperc után
# Általános DHCPv6 opciók beállítása
dhcpv6_eth0="release nodns nontp nonis nogateway nosendhost"
ADSL a PPPoE/PPPoA segítségével
Először telepítse az ADSL szoftvert:
root #
emerge --ask net-dialup/ppp
Másodszor, hozza létre a PPP hálózati szkriptet és a hálózati szkriptet az Ethernet interfészhez, amelyet a PPP fog használni.
root #
ln -s /etc/init.d/net.lo /etc/init.d/net.ppp0
root #
ln -s /etc/init.d/net.lo /etc/init.d/net.eth0
Győződjön meg róla, hogy az rc_depend_strict értéke YES
legyen az /etc/rc.conf fájlban.
Most már be kell állítanunk a /etc/conf.d/net fájlt.
/etc/conf.d/net
Egy alapvető PPPoE beállításconfig_eth0=null (Specify the ethernet interface)
config_ppp0="ppp"
link_ppp0="eth0" (Specify the ethernet interface)
plugins_ppp0="pppoe"
username_ppp0='user'
password_ppp0='password'
pppd_ppp0="
noauth
defaultroute
usepeerdns
holdoff 3
child-timeout 60
lcp-echo-interval 15
lcp-echo-failure 3
noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp"
rc_net_ppp0_need="net.eth0"
Lehetséges a jelszót a /etc/ppp/pap-secrets fájlban beállítani.
/etc/ppp/pap-secrets
Példa a pap-secrets jelszó beállításra# The * is important
"username" * "password"
Ha a PPPoE valamilyen USB modemmel van használva, akkor ügyeljen arra, hogy telepítse a br2684ctl szoftvercsomagot. Kérjük, olvassa el a /var/db/repos/gentoo/net-dialup/speedtouch-usb/files/README fájlt, hogy megismerje a megfelelő beállításnak a módját.
Kérjük, figyelmesen olvassa el az ADSL és PPP szakaszt a /usr/share/doc/netifrc-*/net.example.bz2 fájlban. Ez tartalmazza az összes beállítás részletesebb magyarázatát, amelyre bármely adott PPP beállításnak szüksége lehet.
APIPA (Automatic Private IP Addressing)
APIPA megpróbál szabad címet találni a 169.254.0.0-169.254.255.255 tartományban azzal, hogy az interfészen egy véletlenszerű címet pingel az arping segítségével. Ha nem érkezik válasz, akkor azt a címet hozzárendeli az interfészhez.
Ez csak olyan LAN-ok esetében hasznos, ahol:
- Nincs DHCP szerver.
- A rendszer nem csatlakozik közvetlenül az internethez.
- Az összes többi számítógép az APIPA-t használja.
Az APIPA támogatásának érdekében telepítse a net-misc/iputils szoftvercsomagot az arping
USE jelölőzászlóval, vagy telepítse a net-analyzer/arping szoftvercsomagot.
/etc/conf.d/net
APIPA beállítása# Try DHCP first - if that fails then fallback to APIPA
config_eth0="dhcp"
fallback_eth0="apipa"
# Just use APIPA
config_eth0="apipa"
Kötés (bonding)
A kapcsolat összekapcsolása (bonding) a hálózati sávszélesség növelése vagy a hardverhibákkal szembeni ellenálló képesség javítása érdekében történik. Ha egy rendszer két hálózati kártyával rendelkezik, akkor amelyek ugyanarra a hálózatra csatlakoznak, ezek összekapcsolhatók: Az alkalmazások csak egyetlen egy interfészt fognak látni, de valójában mind a két hálózati kártya használatban lesz.
A kapcsolat összekapcsolásának számos módja van. Néhányuk, mint például a 802.3ad LACP mód, támogatást és a hálózati kapcsoló további beállítását igényli. Az egyes opciókra vonatkozó hivatkozásokat a /usr/src/linux/Documentation/networking/bonding.txt fájl helyi másolata találja.
Először törölje a résztvevő interfészek beállítását:
/etc/conf.d/net
Interfész beállításának törléseconfig_eth0="null"
config_eth1="null"
config_eth2="null"
Ezután határozza meg a kapcsolódást az interfészek között:
/etc/conf.d/net
Kapcsolat definiálásaslaves_bond0="eth0 eth1 eth2"
config_bond0="192.168.100.4/24"
# Pick a correct mode and additional configuration options which suit your needs
mode_bond0="balance-alb"
Távolítsa el a net.eth* szolgáltatásokat a megfelelő futási szintről, majd hozzon létre egy net.bond0 szolgáltatást, és adja hozzá a megfelelő futási szinthez.
Áthidalás (802.1d támogatás)
Az áthidalás (hídkapcsolat) arra szolgál, hogy a különálló hálózatokat egyesítsünk. Például egy hálózat rendelkezhet egy szerverrel, amely egy ADSL modem segítségével csatlakozik az internethez, és egy vezeték nélküli adapterrel is, amely lehetővé teszi más eszközök számára, hogy ezen a modemen keresztül csatlakozzanak az internethez. Létrehozhatunk egy hidat, hogy az interfészeket összekapcsoljuk.
/etc/conf.d/net
Hid beállítása# Configure the bridge - "man brctl" for more details
bridge_forward_delay_br0=0
bridge_hello_time_br0=200
bridge_stp_state_br0=1
# To add ports to bridge br0
bridge_br0="eth0 eth1"
# You need to configure the ports to null values so dhcp does not get started
config_eth0="null"
config_eth1="null"
# Finally give the bridge an address - you could use DHCP as well
config_br0="192.168.0.1/24"
# Depend on eth0 and eth1 as they may require extra configuration
rc_net_br0_need="net.eth0 net.eth1"
A híd egyes beállításainak használatához tekintse meg a változónév dokumentációját.
IPv6 híd használatakor az SLAAC azt igényli, hogy az STP értéke
1
legyen, amint azt a fenti példa mutatja.= MAC-cím
A hálózati beállítás fájlban is lehetséges az interfészek MAC címének megváltoztatása.
/etc/conf.d/net
MAC cím megváltoztatásának a példája# To set the MAC address of the interface
mac_eth0="00:11:22:33:44:55"
# To randomize the last 3 bytes only
mac_eth0="random-ending"
# To randomize between the same physical type of connection (e.g. fibre,
# copper, wireless) , all vendors
mac_eth0="random-samekind"
# To randomize between any physical type of connection (e.g. fibre, copper,
# wireless) , all vendors
mac_eth0="random-anykind"
# Full randomization - WARNING: some MAC addresses generated by this may
# NOT act as expected
mac_eth0="random-full"
Alagutazás
Az alagutak létrehozása nem igényel további szoftver telepítését, mivel az interfész kezelője képes azt elvégezni.
/etc/conf.d/net
Alagút beállítása# For GRE tunnels
iptunnel_vpn0="mode gre remote 207.170.82.1 key 0xffffffff ttl 255"
# For IPIP tunnels
iptunnel_vpn0="mode ipip remote 207.170.82.2 ttl 255"
# To configure the interface
config_vpn0="192.168.0.2 peer 192.168.1.1"
VLAN (802.1q támogatás)
A VLAN támogatásához győződjön meg arról, hogy a sys-apps/iproute2 szoftvercsomag telepítve van, és hogy az iproute2 be van állítva beállító modul-ként (nem pedig az ifconfig).
A VLAN, vagy virtuális LAN, olyan hálózati eszközök csoportja, amelyek úgy viselkednek, mintha egyetlen hálózati szegmenshez csatlakoznának, még akkor is, ha valójában nem így van. A VLAN tagjai csak ugyanazon VLAN többi tagját láthatják, még akkor is, ha ugyanazt a fizikai hálózatot használják.
A VLAN-ok beállításához először adja meg a VLAN számokat a /etc/conf.d/net fájlban az alábbi módon:
/etc/conf.d/net
VLAN számok megadásavlans_eth0="1 2"
Ezután állítsa be az interfészt minden egyes VLAN-hoz:
/etc/conf.d/net
Interfész beállítása minden VLAN-hozconfig_eth0_1="172.16.3.1 netmask 255.255.254.0"
routes_eth0_1="default via 172.16.3.254"
config_eth0_2="172.16.2.1 netmask 255.255.254.0"
routes_eth0_2="default via 172.16.2.254"
A VLAN-specifikus beállításokat a vconfig kezeli a következőképpen:
/etc/conf.d/net
VLAN-ok beállításavlan1_name="vlan1"
vlan1_ingress="2:6 3:5"
eth0_vlan1_egress="1:2"
Egyes VLAN beállítások használatának érdekében konzultáljon a változónév dokumentációjával.