Ethernet
Sisukord
Sissejuhatus
FreeBSD võimaldab arvuteid omavahel ühendada erineval moel
- etherneti võrgukaart
- modem
- paralleelport
- järjestikport
Järgnevas kirjeldame kuidas kasutada FreeBSDd etherneti võrgus, so kõige klassikalisemas 10/100 Mb/s TCP/IP võrgus. Selleks peab arvutis leiduma vastav võrguseade, kas emaplaadile integreeritult või laienduskaardina. Lihtsaim on tarvitada PCI võrgukaarte, kuna reeglina toimub siis süsteemi ressursside (IRQ, IO) eraldamine automaatselt.
Tuuma konfigureerimine
Võrguseadmed kannavad kolme-nelja sümboli pikkuseid nimesid sõltuvalt seadme tootjast. Võrguseadme kasutamiseks tuleb tuuma konfiguratsioonis näidata, millise seadmega on tegemist, näiteks 3Comi PCI etherneti võrgukaardi mudel 3C950 jaoks on rida
device vx # 3Com 3c590, 3c595 (``Vortex)
ning arvuti algkäivitamisel sobiva tuumaga ilmub dmesgi sarnane tekst
vx0: <3COM 3C590 Etherlink III PCI> port 0xa800-0xa81f irq 10 at device 10.0 on pci0 vx0: supplying EUI64: 00:a0:24:ff:fe:75:43:6e vx0: driver is using old-style compatability shims vx0: starting DAD for fe80:0001::02a0:24ff:fe75:436e vx0: DAD complete for fe80:0001::02a0:24ff:fe75:436e - no duplicates found Võrgutoe seadistamine
Võrguseadme kasutuselevõtmiseks tuleb seade konfigureerida programmiga Ifconfig. Näiteks omistame seadmele IPv4 aadressi 192.168.2.130 ning võrgumaski 255.255.255.224
bash# ifconfig vx0 192.168.2.130 netmask 255.255.255.224
FreeBSD saab ise aru, et masin kuulub võrku 192.168.2.128 ning leviaadressiks on 192.168.2.159.
Võrguseadme omadusi saab vaadata käsuga ifconfig, kirjutades selle taha seadme nime, näiteks selliselt
bash# ifconfig vx0 vx0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 192.168.2.130 netmask 0xffffff00 broadcast 192.168.2.159 inet6 fe80::2a0:24ff:fe75:436e%vx0 prefixlen 64 scopeid 0x1 ether 00:a0:24:75:43:6e
Konfigureeritud võrguseadet saab seisma panna nii
bash# ifconfig vx0 down
ning varemkonfigureeritud väärtustega taas käima selliselt
bash# ifconfig vx0 up
Seadme ümberkonfigureerimiseks näidake programmiga Ifconfig uued parameetrite väärtused talitades sarnaselt ülaltoodule.
Peale võrguseadme konfigureerimist lisatakse ruutingutabelisse ruuting, sellesse võrku, kuhu seade ise kuulub. Eraldi on vaja kirjeldada vaikelüüsi aadress, näiteks 192.168.2.1
bash# route add -net default 192.168.2.1
Selleks, et konfigureerida võrguseadmed automaatselt peale arvuti käivitamist, peavad süsteemi konfiguratsioonifailis olema sarnased read
ifconfig_vx0="inet 192.168.2.130 netmask 255.255.255.224" defaultrouter ="192.168.2.1"
Marsruuting
FreeBSDd saab kasutada marsruuterina. Staatilist tuuma ruutingutabelit saab näha käsuga netstat -rn ning seda redigeerida programmiga Route.
Näiteks kui FreeBSD on seatud marsruuteriks R1 mitme kohaliku võrgu ja Interneti vahel
___ | | teenusepakkuja ruuter Internetti |___| ___ | 1 | | | |___| 3 | | |----|-----------|----- 193.40.10.0/26 ---------|---| | | xl0 _|_ 2 ___ ___ |R1 | | | .. | | |___| |___| |___| fxp0 | 65 | | 68 | | | |----|--|----- 193.40.10.64/26 -----------|--|--------|---| | | eth0 _|_ 66 67 _|_ eth0 |R2 | |R3 | |___| |___| eth1 | 129 193 | eth1 | | |--|----|---|-- -193.40.10.128/26 --| |--|---|--------|-- 193.40.10.192/26 --| | | | | _|_ _|_ _|_ _|_ | | .. | | 130 | | .. | | 194 |___| |___| |___| |___|
näeb ruutingutabel välja selline, pange tähele, et siin on näha ka marsruuteri enda ning viimatikülastatud sama võrgu masinate võrguseadmete MAC aadressid
su-2.03# netstat -rn Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire default 193.40.10.1 UGSc 0 0 xl0 127.0.0.1 127.0.0.1 UH 0 0 lo0 193.40.10.64/26 link#1 UC 0 0 fxp0 => 193.40.10.65 0:d0:b7:aa:e6:48 UHLW 0 4 lo0 193.40.10.66 link#1 UHLW 1 0 fxp0 => 193.40.10.67 link#1 UHLW 1 0 fxp0 => 193.40.10.128/26 193.40.10.66 UGSc 0 0 fxp0 193.40.10.192/26 193.40.10.67 UGSc 0 0 fxp0 193.40.10.0/26 link#2 UC 0 0 xl0 => 193.40.10.1 0:20:af:bf:cc:d8 UHLW 1 2 xl0 1194 193.40.10.2 0:a0:24:ef:ef:ff UHLW 0 12 lo0
Gateway näitab, kuidas toimub Destinationisse jõudmine
127.0.0.1 127.0.0.1 ..... lo0 - masina kohalik seade, läbi iseenda 193.40.10.64/26 link#1 .... fxp0 - võrguseadme fxp0 külge ühendatud võrku 193.40.10.64/26 saab läbi link#1'e, so esimese võrgukaardi 193.40.10.65 0:d0:b7:aa:e6:48 ... lo0 - omale saadetakse lo0 seadme kaudu 193.40.10.66 link#1 ... fxp0 - masin 193.40.10.66 on link#1 küljes so FreeBSD esimene võrguseade ja 193.40.10.66 võrguseade on sama kaabli peal. 193.40.10.128/26 193.40.10.66 ... fxp0 - võrku 193.40.10.128/26 suunduvad IP-paketid tuleb saata läbi fxp0 võrguseadme lüüsi 193.40.10.66 kaudu kohale 193.40.10.1 0:20:af:bf:cc:d8 ... xl0 - IP-aadressiga 93.40.0.1 võrguseade on xl0'iga sama kaabli peal ja vastava võrgukaardi MAC aadress on 0:20:af:bf:cc:d8
FreeBSD marsruuteriks konfigureerimiseks käsurealt on vaja anda sellised korraldused:
Lubame pakette edasisuunata
bash# sysctl -w net.inet.ip.forwarding=1
Seadistame võrguseadmed
bash# ifconfig lx0 193.40.10.2 netmask 255.255.255.192 bash# ifconfig fxp0 193.40.10.65 netmask 255.255.255.192
ning seejärel ruutingutabel
bash# route add -net 193.40.10.128 193.40.10.66 255.255.255.192 bash# route add -net 193.40.10.192 193.40.10.67 255.255.255.192 bash# route add -net default 193.40.10.1
route käsu süntaks on selline route käsk -sihtkoha-tüüp sihtkoha-aadress lüüs sihtkoha-võrgumask
kus käsk - add või delete vastavalt kirje lisamiseks või eemaldamiseks -sihtkoha-tüüp - -net või -host vastavalt võrgu või hosti lüüsi näitamiseks sihtkoha-aadress - võrgu või hosti nimi, kustkaudu lüüsi pakette saadetakse lüüs - lüüsi aadress, mida kasutatakse pakettide sihtkohta saatmisel sihtkoha-võrgumask
Võrgumaski võib näidata ka lühikesel kujul võrgu aadressi järel, näiteks need kaks vormi on ekvivalentsed
route add -net 193.40.10.128 193.40.10.66 255.255.255.192 route add -net 193.40.10.128/26 193.40.10.66
Ruutingutabeli rea kustutamine toimub samuti käsuga route, näiteks kustutame ruutingu võrku 193.40.13.128/26
bash# route delete -net 193.40.13.128/26
Võrguseadmete parameetrite muutimiseks tuleb enne vastav marsruuting kustutada ning seejärel võrguseade sobivalt konfigureerida.
Selleks, et süsteemi käivitamisel konfigureeritaks automaatselt võrguseadmed, lüüsid ning et masin toimiks ruuterina, peab leiduma failis /etc/rc.conf näiteks muuseas sellised read
ifconfig_xl0="inet 193.40.10.2 netmask 255.255.255.192" ifconfig_fxp0="inet 193.40.10.65 netmask 255.255.255.192" hostname="kalake.zoo.edu.ee" gateway_enable="YES" defaultrouter="193.40.10.1" static_routes="vanaklass uusklass" route_vanaklass="-net 193.40.10.128/26 193.40.10.66" route_uusklass="-net 193.40.10.192/26 193.40.10.67"
Pisikesed süsteemid tavaliselt ei kasuta marsruutingu deemonit. Vaikimisi seda ei käivitata, kuid süsteemi konfiguratsioonifailis /etc/rc.conf olev rida
router_enable="YES"
annab korralduse ruutingu deemon süsteemi algkäivitamisel tööle panna. Niisiis, tavaliselt peab selline rida puuduma või näitama väärtuse "NO".
IPv6 võrguseadme seadistamine ning marsruuting
IPv6 võrguseadme konfigureerimiseks lisage /etc/rc.conf faili IPv4 juurde alias rida
ifconfig_fxp0="inet 192.168.5.2 netmask 255.255.255.0" ipv6_ifconfig_fxp0="fec0:0:0:5::2 prefixlen 64"
Või sisestage käsurealt
bash# ifconfig fxp0 inet6 fec0:0:0:5::2 prefixlen 64 alias
Kustutamiseks sisestage
bash# ifconfig fxp0 inet6 fec0:0:0:5::2 prefixlen 64 -alias
Vaikelüüsi seadmiseks kirjutage näiteks
bash# route add -inet6 default fec0:0:0:5::1