VLAN kasutamine

Allikas: Kuutõrvaja
Redaktsioon seisuga 17. juuli 2011, kell 01:46 kasutajalt Imre (arutelu | kaastöö) (Kasulikud lisamaterjalid)

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 silt (ingl. k. tag), mis sisaldab andmeid selle kohta, millisesse VLANi frame kuulub. VLAN siltide abil saavad võrgus osalevad seadmed kontrollida kõnealuse frame'i liikumist. Kasutaja jaoks esinevad VLAN sildid 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 märgi ning peale pordist väljumist VLAN silt 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 siltidega frame'idel võimalus liikuda switchide vahel nii, et need märgid 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 silte 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 siltidega tegelemise mõttes nagu mode trunk režiimis töötava pordiga switch. St OpenBSD ise kontrollib andmevahetust VLAN siltide alusel sh moodustab neid silte. 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

Seadistusfaili /etc/hostname.if kasutamine

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

Selleks, et alglaadimise käigus tekiks nö puhas (st ilma seadistatud ip aadressita) vlan seade tuleb kirjutada /etc/hostname.vlan5 faili

 vlan 5 vlandev xl0

Linux'i kasutamine mode trunk režiimis

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

# apt-get install vlan

mis sisaldab manuaali man vlan-interfaces ning laadida 8021q moodul

# modprobe 8021q

ning nö eth0.5 kujulise nimega VLAN seadme tekitamiseks öelda

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

Tekivad seadmed

 vlan5    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)
 
 vlan6    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)
 
 vlan7    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

 # ifconfig vlan5 192.168.5.1 netmask 255.255.255.0
 # ifconfig vlan6 192.168.6.1 netmask 255.255.255.0  
 # ifconfig vlan7 192.168.7.1 netmask 255.255.255.0

Seadme eemaldamiseks tuleb öelda

 bash# vconfig rem vlan7  
 Removed VLAN -:vlan7:-

VLAN seadme nimede esitamisel on üldiselt levinud sellised kujud

  • VLAN_PLUS_VID - vlan0005
  • VLAN_PLUS_VID_NO_PAD - vlan5
  • DEV_PLUS_VID - eth0.0005
  • DEV_PLUS_VID_NO_PAD - eth0.5

Seadistusfaili /etc/network/interfaces kasutamine

Seadistusfailist /etc/network/interfaces toimub vlan seadmete seadistamine nt selliselt

 auto eth0.5
 iface eth0.5 inet static
   address 192.168.5.1
   netmask 255.255.255.0
 
 auto eth0.6
 iface eth0.6 inet static
   address 192.168.6.1
   netmask 255.255.255.0
 
 auto eth0.7
 iface eth0.7 inet static
   address 192.168.6.1
   netmask 255.255.255.0

või soovides kasutada seadmenimedena tingimata vlan* kuju

 auto vlan5
 iface vlan5 inet static
   vlan-raw-device eth0
   address 192.168.5.1
   netmask 255.255.255.0
 
 auto vlan6
 iface vlan6 inet static
   vlan-raw-device eth0
   address 192.168.6.1
   netmask 255.255.255.0
 
 auto vlan7
 iface vlan7 inet static
   vlan-raw-device eth0
   address 192.168.6.1
   netmask 255.255.255.0

/proc failisüsteemis asub vlan seadmete kohta info kataloogis /proc/net/vlan

 # find /proc/net/vlan/ -ls
 4026533686    0 dr-xr-xr-x   2 root     root            0 Jun 30 14:40 /proc/net/vlan/
 4026533705    0 -rw-------   1 root     root            0 Jun 30 14:40 /proc/net/vlan/peth0.5
 4026533703    0 -rw-------   1 root     root            0 Jun 30 14:40 /proc/net/vlan/peth0.6
 4026533701    0 -rw-------   1 root     root            0 Jun 30 14:40 /proc/net/vlan/peth0.7
 4026533687    0 -rw-------   1 root     root            0 Jun 30 14:40 /proc/net/vlan/config

802.1Q-in-Q

802.1Q-in-Q, QinQ ehk stacked VLANs tehnika võimaldab kasutada mitmekordseid VLAN silte. OpenBSD puhul toimub svlan(4) (service VLAN) seadistamine selliselt

vlan -> svlan -> füüsiline seade

svlan seade moodustatakse füüsilisele re3 seadmele

# cat /etc/hostname.svlan34
vlandev re3 description svlan34

ja vlan seade moodustatakse svlan seadmele, praktiliselt tehakse tõenäoliselt enam kui üks sarnane vlan seade

# cat /etc/hostname.vlan33   
vlandev svlan34 description vlan33

Tulemusena paistab re3 seadmel nt selline QinQ liiklus

01:37:11.326915 00:0c:42:07:1a:47 ff:ff:ff:ff:ff:ff 88a8 50: QinQ svid 34 pri 0 802.1Q vid 33 pri 0 arp who-has 10.140.10.254 tell 10.140.10.210
01:37:12.334440 00:0c:42:07:1a:47 ff:ff:ff:ff:ff:ff 88a8 50: QinQ svid 34 pri 0 802.1Q vid 33 pri 0 arp who-has 10.140.10.254 tell 10.140.10.210

Private VLAN

TODO

Kasulikud lisamaterjalid