Ethernet

Allikas: Kuutõrvaja
Redaktsioon seisuga 15. september 2009, kell 16:18 kasutajalt Jj (arutelu | kaastöö) (Tuuma konfigureerimine)

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 (broadcast) 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 rc.conf 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