Gentoo Logo

Visszavonások : Ez a dokumentum már nem érvényes, ezért nincs többé karbantartva.


[ << ] [ < ] [ Kezdőlap ] [ > ] [ >> ]


3. Moduláris hálózatkezelés

Tartalom:

3.a. Hálózati modulok

Moduláris hálózati szkriptek használatával könnyedén tudunk egy új típusú eszközöket és konfigurációs modulokat a rendszerbe illeszteni a régiekkel történő kompatibilitás megőrzése mellett.

A modulok alapesetben akkor töltődnek be ha fel van telepítve az a csomag amelyre szükségük van. Ha olyan modult adsz itt meg amelyhez a csomag nincs feltelepítve, hibaüzenetet fogsz kapni a telepítendő csomag nevével. Ideális esetben csak akkor használod a modules beállítást amikor egy szolgáltatást több csomag is nyújt és szeretnéd megadni, hogy melyiket akarod használni közülük.

Megjegyzés: Az itt tárgyalt beállítások az /etc/conf.d/net állományban találhatóak meg, hacsak mást nem írunk.

Kódlista 1.1: Modulválasztás

# iproute2 kiválasztása ifconfig helyett
modules=( "iproute2" )

# Egyéb modulokat is megadhatsz egy hálókártyához
# Ebben példában az udhcpc-t választjuk a dhcpcd helyett
modules_eth0=( "udhcpc" )

# Azt is megadhatod, hogy melyik modulokat nem akarod használni - 
# például használhatsz egy supplicant-ot vagy a linux-wlan-ng-t a 
# vezeték nélküli hálózat beállításához, de továbbra is ESSID alapján kell 
# beállítanod a hálózatot.
modules=( "!iwconfig" )

3.b. Interfész kezelők

Jelenleg két interfész kezelő használható: az ifconfig és az iproute2. Ahhoz, hogy bármilyen hálózati beállítást el tudj végezni, szükséged van valamelyikre.

Az ifconfig az alapértelmezett a Gentoo-ban és ez található meg a rendszer profilban is. Az iproute2 többet tud és rugalmasabb is, de ezt nem tartalmazza a rendszer alapból.

Kódlista 2.1: Az iproute2 telepítése

# emerge sys-apps/iproute2

# Az iproute2-ot választjuk ha az ifconfig is fel lenne telepítve

modules=( "iproute2" )

Mivel az ifconfig és az iproute2 hasonló feladatokat lát el, az alapvető dolgokat úgy állítjuk be, hogy bármelyikükkel használható legyen. Az alábbi példa mindkét modullal fog működni.

Kódlista 2.2: ifconfig és iproute2 példák

config_eth0=( "192.168.0.2/24" )
config_eth0=( "192.168.0.2 netmask 255.255.255.0" )

# Broadcast-ot is megadhatunk
config_eth0=( "192.168.0.2/24 brd 192.168.0.255" )
config_eth0=( "192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255" )

3.c. DHCP

A DHCP a hálózati információk (IP cím, DNS szerverek, átjáró, stb) DHCP szerverről történő lekérésének a módja. Ez azt jelenti, hogy ha a hálózaton elérhető egy DHCP szerver, akkor elég megmondani a klienseknek, hogy használják a DHCP-t és a többi beállítást önállóan elvégzi. Természetesen a DHCP használata előtt be kell állítanod a többi dolgot mint például a vezeték nélküli hálózatot, a PPP-t vagy bármi mást ami még szükséges.

A DHCP-t a dhclient, a dhcpcd, a pump és az udhcpc nyújtja. Mindegyik DHCP modulnak van előnye és hátránya - következzen egy rövid összefoglaló.

DHCP modul Csomag Előny Hátrány
dhclient net-misc/dhcp Az ISC fejlesztette, ők készítették a BIND DNS programot is. Jól konfigurálható A beállítása túlságosan bonyolult, a program elég zsúfolt, NTP szerver adatokat nem tud DHCP-ről lekérni, nem küldi a gép nevét alap beállításokkal
dhcpcd net-misc/dhcpcd Régóta ez az alapértelmezett, és nincs igazából bizalmunk másban, mert a a Gentoo-nál fejlesztik Időnként lassú lehet, nem vonul a háttérbe ha a lejárati idő végtelen
pump net-misc/pump Kicsi, nem függ külső programoktól Már nincs karbantartva, megbízhatatlan, különösen modemen keresztül, NIS szerver adatokat nem tud DHCP-ről lekérni
udhcpc net-misc/udhcp Kicsi- a legkisebb DHCP kliens, beágyazott rendszerekhez lett kifejlesztve Nem bizonyított még - egy disztribúcióban sem ez az alapértelmezett, időtúllépésnek nem lehet 3 másodpercnél nagyobb értéket adni

Ha több DHCP kliens is fel van telepítve, meg kell adnod, hogy melyiket akarod használni - egyébként az alapértelmezett dhcpcd lesz használva, ha lehetséges.

A module_eth0="..." sorral tudsz egyedi beállításokat megadni a DHCP modulnak. (annak a DHCP modulnak a nevét add meg amelyiket használod - pl. dhcpcd_eth0).

Megpróbáltuk a DHCP-t viszonylag rugalmasra csinálni - ennek szellemében a következő parancsok állnak rendelkezésre a dhcp_eth0 változóban. Alapértemezetten egyik sincs beállítva:

  • release - felszabadítja az IP címet újrakiosztáshoz
  • nodns - nem írja felül az /etc/resolv.conf-ot
  • nontp - nem írja felül az /etc/ntp.conf-ot
  • nonis - nem írja felül az /etc/yp.conf-ot

Kódlista 3.1: Példa DHCP beállítás az /etc/conf.d/net-ben

# Csak akkor szükséges ha több DHCP modul is fel van telepítve

modules=( "dhcpcd" ) 

config_eth0=( "dhcp" )
dhcpcd_eth0="-t 10" # Időtűllépés 10 másodperc után
dhcp_eth0="release nodns nontp nonis" # Csak címet kér

Megjegyzés: A dhcpcd, az udhcpc és a pump elküldi a gép nevét a DHCP szervernek az alap beállításokat használva, ezért ezt már nem kell megadnod többé.

3.d. ADSL PPPoE/PPPoA-val

Először is fel kell telepíteni az ADSL-hez a programot.

Kódlista 4.1: Az ppp csomag feltelepítése

# emerge net-dialup/ppp

Figyelmeztetés: Csak a baselayout-1.12.x és későbbi verziók támogatják a PPPoA-t.

Másodszorra létre kell hozni a PPP hálózati scriptet a hálózati interfész scriptjéből:

Kódlista 4.2: A PPP és hálózati scriptek létrehozása

# ln -s /etc/init.d/net.lo /etc/init.d/net.ppp0
# ln -s /etc/init.d/net.lo /etc/init.d/net.eth0

Állítsd be a RC_NET_STRICT_CHECKING="yes" értéket a /etc/conf.d/rc fájlban.

Ezután be kell állítanunk a /etc/conf.d/net állományt.

Kódlista 4.3: Egy alap PPPoE beállítás

config_eth0=( null ) (Itt a hálózati interfészedet add meg)
config_ppp0=( "ppp" )
link_ppp0="eth0" (Szintén a hálózati interfészedet add meg)
plugins_ppp0=( "pppoe" )
username_ppp0='felhasználó'
password_ppp0='jelszó'
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
)

depend_ppp0() {
    need net.eth0
}

Az /etc/ppp/pap-secrets állományban add meg a felhasználónevedet és a jelszavadat.

Kódlista 4.4: Példa /etc/ppp/pap-secrets állomány

# A * lényeges
"felhasznalonev"  *  "jelszo"

Ha a PPPoE-t USB modemmel szeretnéd használni, akkor emergelned kell a br2684ctl csomagot. Kérlek olvasd el a /usr/portage/net-dialup/speedtouch-usb/files/README fájlt a konfigurálás előtt. Fontos információk vannak benne.

Fontos: Kérlek figyelmesen olvasd át a /etc/conf.d/net.example ADSL-re és PPP-re vonatkozó részét. Ez részletesebb magyarázattal szolgál a beállításokról, és valószínűleg szükséged is lesz rá.

3.e. APIPA (Automatic Private IP Addressing)

Az APIPA megkísérel egy szabad IP címet találni a 169.254.0.0-169.254.255.255 tartományban, úgy hogy véletlenszerűen kiválasztott címre küld ARP kérést a kártyáról. Ha nem érkezik válasz ezt a címet rendeli a kártyához.

Ez csak olyan DHCP szerver nélküli LAN-okon hasznos amikor nincsenek közvetlenül rákötve az Internetre és minden gép APIPA-t használ.

Az APIPA használatáhaz az net-misc/iputils vagy az net-analyzer/arping csomagot kell feltelepítened.

Kódlista 5.1: Az APIPA beállítása a /etc/conf.d/net-ben

# Először a DHCP-t próbáljuk - ha ez sikertelen akkor jöhet az APIPA

config_eth0=( "dhcp" )
fallback_eth0=( "apipa" )

# Csak az APIPA-t használjuk
config_eth0=( "apipa" )

3.f. Csatolás (bonding)

Csatolások és trunk-ök kialakításához az net-misc/ifenslave csomagra van szükséged.

A bonding-ot a hálózat sávszélességének a növelésére használják. Ha van két hálókártyád ami ugyanarra a hálózatra csatlakozik, összecsatolhatod őket, ezáltal a programok csak egy hálókártyát fognak látni, de valójában mindkét hálókártyát használják.

Kódlista 6.1: Csatolás beállítása az /etc/conf.d/net-ben

# Hálókártyák összecsatolása
slaves_bond0="eth0 eth1 eth2"

# Lehet, hogy nem akarod átruházni az IP-t a csatolt interfészre

config_bond0=( "null" )

# Függ az eth0, az eth1 és az eth2 interfészektől, mert lehet, hogy 
# további beállításokat igényelnek
depend_bond0() {
  need net.eth0 net.eth1 net.eth2
}

3.g. Bridge-ek használata (802.1d support)

Hidak kialakításához a net-misc/bridge-utils csomagot kell telepítened.

Hidak segítségével hálózatokat köthetünk egybe. Tegyük fel, hogy van egy szervered ami ADSL-lel kapcsolódik az Internetre, a hálózat többi gépe pedig egy vezeték nélküli kártyán keresztül éri el az Internetet az ADSL modemen keresztül. A két eszközt összekötheted egy híd segítségével.

Kódlista 7.1: Bridge beállítása az /etc/conf.d/net-ben

# A bridge beállítása - "man btctl" további részletekért
brctl_br0=( "setfd 0" "sethello 0" "stp off" )

# Port hozzáadása a br0 bridge-hez
bridge_br0="eth0 eth1"

# A portokat null-ra kell állítanod, hogy a DHCP címkérés 
# ne induljon el
config_eth0=( "null" )
config_eth1=( "null" )

# Végül címet adunk a hídnak - DHCP-t is használhatsz
config_br0=( "192.168.0.1/24" )

# Függ az eth0 és az eth1 intefészektől, mert lehet, hogy további 
# beállításokat igényelnek
depend_br0() {
  need net.eth0 net.eth1
}

Fontos: Ha további információkat szeretnél megtudni a híd beállításairól, akkor nézd át a változó nevéről szóló dokumentációt.

3.h. MAC címek

Ha a sys-apps/baselayout-1.11.14 vagy újabb van a rendszereden, semmit sem kell telepítened ahhoz, hogy a kártyád MAC címét egy adott címre változtasd. Azonban, ha véletlenszerű MAC címre akarod beállítani a kártyádat vagy a baselayout-od régebbi, fel kell telepítened a net-analyzer/macchanger csomagot.

Kódlista 8.1: MAC cím megváltoztatása

# Egy kártya MAC címének megváltoztatása
mac_eth0="00:11:22:33:44:55"

# Az utolsó 3 byte véletlenszerű lesz
mac_eth0="random-ending"

# Véletlenszerű címeket állít be azonos fizikai közeget használó 
# kapcsolatok között (pl. üvegszál, réz, vezetéknélküli) , gyártótól 
# függetlenül
mac_eth0="random-samekind"

# Véletlenszerű címeket állít be bármely fizikai közeget használó 
# kapcsolatok között (pl. üvegszál, réz, vezetéknélküli) , gyártótól 
# függetlenül
mac_eth0="random-anykind"

# Teljes véletlenszerű címek - VIGYÁZAT: néhány így generált MAC cím 
# NEM biztos, hogy az elvárt módon fog viselkedni
mac_eth0="random-full"

3.i. Alagút kialakítása

Alagút kialakításához nem kell semmit sem telepítened, a hálókártya kezelőprogramja ezt is tudja.

Kódlista 9.1: Alagút beállítása az /etc/conf.d/net-ben

# GRE alagutakhoz
iptunnel_vpn0="mode gre remote 207.170.82.1 key 0xffffffff ttl 255"

# IPIP alagutakhoz
iptunnel_vpn0="mode ipip remote 207.170.82.2 ttl 255"

# Az interfész beállítása
config_vpn0=( "192.168.0.2 peer 192.168.1.1" ) 

3.j. VLAN (802.1q támogatás)

VLAN-hoz a net-misc/vconfig csomagot kell feltelepítened.

A virtuális helyi hálózat hálózati eszközök egy olyan csoportja amelyek úgy viselkednek mintha a hálózat egy különálló szegmenséhez csatlakoznának - még akkor is ha nem. A VLAN tagjai csak az azonos VLAN tagjait érik el, hiába vannak fizikailag egy hálózatban.

Kódlista 10.1: VLAN beállítása az /etc/conf.d/net-ben

# A VLAN számok megadása az interfésznek
# Ügyelj arra, hogy a VLAN ID-k NE legyenek nullával kiegészítve

vlans_eth0="1 2"

# A VLAN beállításait is megadhatod
# további részleteket a vconfig man-jában találhatsz
vconfig_eth0=( "set_name_type VLAN_PLUS_VID_NO_PAD" )
vconfig_vlan1=( "set_flag 1" "set_egress_map 2 6" )

# A kártyákat a szokásos módon állítjuk be
config_vlan1=( "172.16.3.1 netmask 255.255.254.0" )
config_vlan2=( "172.16.2.1 netmask 255.255.254.0" )

Fontos: Ha további információkat szeretnél megtudni a VLAN beállításairól, akkor nézd át a változó nevéről szóló dokumentációt.


[ << ] [ < ] [ Kezdőlap ] [ > ] [ >> ]


Nyomtatás

View all

Frissítve 2007. május 7.

Ezen dokumentum eredeti változatának utolsó frissítési dátuma 2014. szeptember 25.

Összefoglaló: A Gentoo rugalmas hálózatkezelést kínál számodra - ebben a fejezetben többek között a DHCP kliens kiválasztásáról, csatolások (bonding) és hidak (bridging) beállításáról valamint a VLAN-okról olvashatsz.

Sven Vermeulen
Szerző

Grant Goodyear
Szerző

Roy Marples
Szerző

Daniel Robbins
Szerző

Chris Houser
Szerző

Jerry Alexandratos
Szerző

Seemant Kulleen
Gentoo x86 fejlesztő

Tavis Ormandy
Gentoo Alpha fejlesztő

Jason Huebel
Gentoo AMD64 fejlesztő

Guy Martin
Gentoo HPPA fejlesztő

Pieter Van den Abeele
Gentoo PPC fejlesztő

Joe Kallar
Gentoo SPARC fejlesztő

John P. Davis
Szerkesztő

Pierre-Henri Jondot
Szerkesztő

Eric Stockbridge
Szerkesztő

Rajiv Manglani
Szerkesztő

Jungmin Seo
Szerkesztő

Stoyan Zhekov
Szerkesztő

Jared Hudson
Szerkesztő

Colin Morey
Szerkesztő

Jorge Paulo
Szerkesztő

Carl Anderson
Szerkesztő

Jon Portnoy
Szerkesztő

Zack Gilburd
Szerkesztő

Jack Morgan
Szerkesztő

Benny Chuang
Szerkesztő

Erwin
Szerkesztő

Joshua Kinard
Szerkesztő

Tobias Scherbaum
Szerkesztő

Xavier Neys
Szerkesztő

Joshua Saddler
Szerkesztő

Gerald J. Normandin Jr.
Elbíráló

Donnie Berkholz
Elbíráló

Ken Nowack
Elbíráló

Lars Weiler
Közreműködő

Konkoly Katalin
Fordító

Sipos Tibor
Fordító

Nyitrai István
Fordító

Lukács Árpád
Fordító

Lónyai Gergely
Fordító, lektor

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.