FreeBSD hálózatkezelés

Ennek a kis leírásnak a címe szólhatott volna úgyis, hogy BSD hálózatkezelés, ám a helyzet az, hogy a FreeBSD egy kicsit más szemléletet követ hálózatkezelés (IP beállítás, routing,s tb. )terén, mint két testvére, az OpenBSD és NetBSD. Ez nem jelenti azt, hogy bonyolultabb volna mindezeket beállítani, egyszerűen csak: más. Nézzük meg, hogyan is történik ez!

FreeBSD hálózatkezelés

Természetesen itt is működnek a UNIX vagy Linux világában megismert parancsok, melyekkel informácókat szerezhetünk a hálózati beállításokról:

# ifconfig

Egy szokványos ifconfig parancs a fenti kimenetet fogja nekünk adni. Láthatjuk, hogy van egy em0 és lo0 interface-ünk, kitalálható, hogy az em0 a hálózati kártyát, a lo0 pedig a localhost. Az em0 interface-nek pedig van egy konfigurált IP címe is, mely statikus,tehát kézzel állítottuk be. Honnan tudhatjuk ezt? FreeBSD esetén hiába keressük a pl. Solaris vagy OpenBSD esetén megszokott filet az /etc könyvtárban, ami /etc/hostname.<interface><interface number> formátumú. Itt ugyanis, kicsit külön, ám nem kényelmetlen módon a /etc/rc.conf fileban találhatjuk meg a hálózati interfacenk konfigját.

# cat/etc/rc.conf

Ide pontosan úgy írhatjuk be a változó értékét, ahogyan azt kiadnánk parancssorban is, az egyetlen különbség, hogy az ifconfig és az interface neve között szóköz helyett alávonás lesz.

freebsd# ifconfig em0 inet 192.168.55.22 netmask 255.255.255.0

Egyszóval, bármiféle hálózati konfiguráció, melyet újraindítás után is szeretnénk aktiválni, ebbe a fájba fog kerülni, az egyetlen kivétel a DNS szerverek konfigurációja, mely itt is hagyományosan a /etc/resolv.conf filebe fog kerülni.

IP alias:

Mi a teendőnk, amennyiben egy meglevő hálózati kártya meglevő IP címe mellé IP aliast szeretnénk beállítani? Nagyon egyszerű: adjuk ki a következő parancsot!

freebsd# ifconfig em0 inet 192.168.55.23 netmask 255.255.255.0 alias

Az IP alias máris aktív. Ha ezt szeretnénk eltávolítani, akkor sem kell kétségbe esnünk:

freebsd# ifconfig em0 inet 192.168.55.23 netmask 255.255.255.0 –alias

És az IP alias eltávolítva. IP aliast természetesen többet is adhatunk egy adott interface-hez. Ha szeretnénk, hogy ez újraindítás után is aktív legyen, akkor itt is a már megismert /etc/rc.conf fileba fogjuk írni, így:

Így reboot után is aktiválódni fog az IP alias. Ha az  /etc/rc.conf-ba írjuk ezt be, akkor újraindítás nélkül a következő paranccsal aktiválhatjuk ezt:

freebsd# /etc/netstart

Ez, mint fentebb látjuk újraindítja a hálózatot, beleértve a route táblát is. Ha csak az interfaceket szeretnénk, akkor a

/etc/rc.d/netif restart    ill. ha csak a routingot akkor:   /etc/rc.d/routing restart

Routing

Mi a helyzet a routinggal? gateway nélkül nem lesz internet, erről is kell tehát szólnunk. Itt most csak a static routingról írunk, ámbár, megérne egy misét, hogy hogyan tudunk egy BSD-ből egy multi-interface-s dinamikus routing protokollt is használó routert építeni…hm, ki tudja, talán egyszer 🙂 Nézzük most a static routingot és gateway kezelést.

Adjunk egy alapértelmezett átjárót a hálózati konfighoz:

# route add default 192.168.55.1

Lehetne ennél egyszerűbb? Nézzük meg, sikeres volt-e ?

Szóval igen. Mi a teendő, ha ezt szeretnénk rendszerindítás után is ílyennek látni? A már megismert /etc/rc.conf-ba írjuk be, a következőképpen:

És reboot vagy /etc/rc.d/routing restart máris él a default gatewayunk. Mi van akkor, ha szeretnénk custom routeokat is alkalmazni?

freebsd# route add -net 192.168.2.0/24 192.168.55.1

Ha pedig szeretnénk ezt is automatikussá tenni, akkor az rc.confba írjuk, így:

DHCP:

Ha DHCP-től szeretnénk IP-t kapni, akkor a dolgunk mindössze annyi, hogy az rc.conf-ot a következőre módosítjuk:

Majd a hálózat újraindítása után ennyit: #dhclient em0 (vagy reboot).

És megkaptuk az IP-t.

Nézzük még meg, hogy a hálókártya duplexitását hogyan tudjuk kézzel állítani:

VLAN konfiguráció:

Ez vlan interface beállításával történik:

freebsd# ifconfig vlan0 create

freebsd# ifconfig vlan0 192.168.55.24 netmask 255.255.255.0 vlan 1 vlandev em0

Permanenssé tétele (bejegyzés az /etc/rc.conf fileba):

Ha pedig nincs vlan-ra tovább szükségünk, akkor:

# ifconfig vlan0 destroy

Hálózati forgalom monitorozása:

# tcpdump –i em0 –v[n]               (az –n kapcsolót használva nem próbálkozik reverse névfeloldással)

Összegzés:

Szerintem a FreeBSD (de általában is a BSD) hálózati konfigurálása nagyon egyszerű és letisztult.  A konfigurációs fileban jól követhetően, logikusan szerepelnek a megfelelő bejegyzések.