VLAN kasutamine

Allikas: Kuutõrvaja
Redaktsioon seisuga 30. märts 2008, kell 15:18 kasutajalt Imre (arutelu | kaastöö) (VLAN (Virtual Local Area Network))

VLAN (Virtual Local Area Network)

VLAN (Virtual Local Area Network) tehnika võimaldab ühel füüsilisel infrastruktuuril moodustada mitmeid loogilisi etherneti segmente, selliste võimalustega

  • lokaliseerida liiklust (on vaieldav kas tegu on ranges mõttes turvalisuse instrumendiga, vt nt VLAN Hopping)
  • lahendada topoloogilisi küsimusi ISO level 2 kihis, st kiht allpool ruuterid

VLANilises andmevahetuses osalevatel ethernet frame'idel on lisaks juures spetsiaalne vlan märk (ingl. k. tag), mis sisaldab andmeid selle kohta, millisesse VLANi frame kuulub. Nende tag'ide abil saavad võrgus osalevad seadmed kontrollida kõnealuse frame'i liikumist. Kasutaja jaoks esinevad VLAN tagid positiivsete täisarvude kujul, mida nimetatakse VLAN ID'deks.

Tavaliselt kõneldaks VLAN võimest seoses switchidega, kahes tähenduses

  • mode access - füüsilise switchi igale pordile on öeldud, millisesse VLANi ta kuulub ning ühendades selliselt seadistatud switchi portidesse arvutid nö näevad üksteist ethernetis ainult samasse VLANi kuuluvad arvutid. Tavaliselt kasutatakse erinevates VLANides töötavatel seadmetel erinevaid ip subnet aadresse ja kui sellise asjakorralduse puhul ka seadistada ühe VLANi arvutile aadress teise VLANi ip subnetist, siis ikkaga ühendust teine VLANi arvutitega ei teki kuna ethernet frame'ide tasemel (ISO level 2) on selline liiklus blokeeritud. Sellisel juhul omistab switch peale etherneti frame'i porti sisenemist talle VLAN tagi ning peale pordist väljumist VLAN tag eemaldatakse. Selliselt seadistatud switchi porte kasutavad arvutid iseenesest ei tea midagi VLANidest.
  • mode trunk - selleks, et mode access režiimis saaks kasutada sama VLANi nii, et see ulatub üle mitme switchi peab olema VLAN tagidega frame'idel võimalus liikuda switchide vahel nii, et need tagid säilivad. Kui näiteks ühte VLANi peab kuuluma porte ühe ja teise switchi küljest, siis piisab need kaks switchi ühendada omavahel kokku tavalise võrgukaabliga ning seadista vastavad pordid mode trunk'is, mis tähendab, et selliste portide läbimisel ethernet frame'idelt VLAN tag'e ei eemaldata. Seadistades switchi pordi mode trunk režiimi tuleb öelda, milliste VLAN ID'dega ethernet frame'id pordist läbi saavad.

Mode access või mode trunk režiimis olek on üksiku pordi mitte switchi omadus.

Cisco switch

Cisco switchi puhul toimub mode access seadistamine näiteks selliselt

 conf t
 interface GigabitEthernet0/9
 no shutdown
 switchport access vlan 5
 switchport mode access
 ^z
 write

Kui mõni muu port veel selliselt seadistada ja neisse portidesse ühendada arvutid ning seadistada neile sama ip subneti aadressid, siis nad saavad omavahel võrgus suhelda.

Cisco switchi puhul toimub mode trunk seadistamine näiteks selliselt

 conf t
 interface GigabitEthernet0/10
 no shutdown
 switchport trunk encapsulation dot1q
 switchport trunk allowed vlan 5,6,7
 switchport mode trunk
 ^z
 write

Kui teise switchi mõni port seadistada sarnaselt ja nad ühendada mööda kõnealuseid porte kaabliga, ning seadistada kummagi switchi muid porte mode access režiimis VLAN ID väärtusega 5, siis saavad neisse portidesse ühendatud arvuti kõik omavahel suhelda. Seejuures peab arvestama, et kahe switchi vahel on andmevahetuse kiirus piiratud trunk režiimis oleva ühenduse kiirusega.

OpenBSD kasutamine mode trunk režiimis

Lisaks sellele, et OpenBSD töötab tavalise mode access režiimis seadistatud switch pordi külge ühendatud arvutina saab OpenBSD seadistada käima ka selliselt, et ta töötab VLAN tag'idega tegelemise mõttes nagu mode trunk režiimis töötava pordiga switch. St OpenBSD ise kontrollib andmevahetust VLAN tagide alusel sh moodustab neid tag'e. Selline asjakorraldus nt võimaldab lülitada arvuti samaaegselt erinevatesse VLANidesse kuigi tal on vaid üks füüsiline võrgukaart.

Selleks tuleb ühendada samuti sobivalt seadistatud VLAN ID'dega trunk režiimis switchi port ja füüsiline võrgukaart kaabliga ning esmalt moodustada vlan seade seostades ta sobiva füüsilise seadmega, nt xl0

 ifconfig vlan5 vlan 5 vlandev xl0

ning seejärel seadistada loogilisele seadme võrk, näiteks

 ifconfig vlan5 inet 192.168.5.1 netmask 255.255.255.0

Kusjuures neid käske võib korrata seostades ühe füüsilise seadmega mitu erinevat VLANi (samad mis vastaval switchi pordil), nt

 # ifconfig -A
 ..
 xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
       lladdr 00:60:97:2a:4b:4c
       media: Ethernet 10baseT (10baseT half-duplex)
       status: active
       inet6 fe80::260:97ff:fe2a:4b4c%xl0 prefixlen 64 scopeid 0x3
 ..
 vlan5: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         lladdr 00:60:97:2a:4b:4c
         vlan: 5 priority: 0 parent interface: xl0
         groups: vlan
         inet6 fe80::260:97ff:fe2a:4b4c%vlan5 prefixlen 64 scopeid 0xb
 vlan6: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
         lladdr 00:60:97:2a:4b:4c
         vlan: 6 priority: 0 parent interface: xl0
         groups: vlan
         inet6 fe80::260:97ff:fe2a:4b4c%vlan6 prefixlen 64 scopeid 0xc
 vlan7: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         lladdr 00:60:97:2a:4b:4c
         vlan: 7 priority: 0 parent interface: xl0
         groups: vlan
         inet6 fe80::260:97ff:fe2a:4b4c%vlan7 prefixlen 64 scopeid 0xd

Selleks, et peale bootimist vlan seade automaatselt moodustuks, tuleb tekitada tekstifail /etc/hostname.vlan5 sisuga

 inet 192.168.5.1 255.255.255.0 NONE vlan 5 vlandev xl0

Selleks, et võrk töötaks peab see seade, mida vlan seadmed kasutavad olema up olekus, selleks tuleb antud näite puhul omada faili /etc/hostname.xl0 sisuga

 up

Linux'i kasutamine mode trunk režiimis

Operatsioonisüsteem Debian GNU/Linux abil saab edukalt kasutada vlan seadmeid. Tuleb paigaldada pakett vlan

 bash# apt-get install vlan

ning laadida 8021q moodul

 bash# modprobe 8021q

ning öelda

 bash# ip link set dev eth0 up
 bash# vconfig set_name_type DEV_PLUS_VID_NO_PAD
 bash# vconfig add eth0 5
 Added VLAN with VID == 5 to IF -:eth0:-
 bash# vconfig add eth0 6
 Added VLAN with VID == 6 to IF -:eth0:-
 bash# vconfig add eth0 7
 Added VLAN with VID == 7 to IF -:eth0:-

Tekivad seadmed

 eth0.5    Link encap:Ethernet  HWaddr 00:0C:42:07:1A:44  
           BROADCAST MULTICAST  MTU:1500  Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:0 
           RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
 
 eth0.6    Link encap:Ethernet  HWaddr 00:0C:42:07:1A:44  
           BROADCAST MULTICAST  MTU:1500  Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:0 
           RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
 
 eth0.7    Link encap:Ethernet  HWaddr 00:0C:42:07:1A:44  
           BROADCAST MULTICAST  MTU:1500  Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:0 
           RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

Ning seejärel seadistada vlan seadmete võrk, nt selliselt

 bash# ifconfig eth0.5 192.168.5.1 netmask 255.255.255.0
 bash# ifconfig eth0.6 192.168.6.1 netmask 255.255.255.0  
 bash# ifconfig eth0.7 192.168.7.1 netmask 255.255.255.0

Seadme eemaldamiseks tuleb öelda

 bash# vconfig rem eth0.7  
 Removed VLAN -:eth0.7:-