Vlan
Autor: Oliver Karjane
Rühm: AK21
Aasta: 2013
VLAN olemus
VLAN (Virtual Local Area Network) e. maakeeli virtuaalne kohtvõrk on teenus, mis võimaldab ühe füüsilise võrgu sees ehitada erinevaid loogilisi võrke kanalikihi tasemel. Enamasti on see teenus kasutuses võrguseadmetes nagu kommutaatorid ja marsruuterid aga seda saab kasutada ka tööjaamades ja serverites jooksvate operatsioonisüsteemide ning virtualiseerimiskeskkondade juures. Osades kommutaatorites on VLAN teenus seadistatav kahel erineval moel: pordipõhiselt (port based) ja märgistuspõhiselt (tag based). Esimesel juhul määratakse ära VLAN idendifikaatorid (ID) ja nende juurde portide numbrid, mis sinna ID külge kuuluvad, üks port võib kuuluda mitme ID juurde. Kui ühest pordist saabub pakett, siis saab see liikuda edasi ainult nendesse portidesse, mis omavad sama VLAN ID'd mille liikmeks see port on. Teisel juhul on samuti ära määratud VLAN ID'd kuid pakettide sorteerimiseks kasutatakse nende märgistamist ehk ethernet'i kaadrile lisatakse 4 baiti millega kirjeldatakse ära selle paketi VLAN ID ja sinna mahub tegelikult ka prioriteedi taseme number. Kuidas seda täpselt tehakse on ära kirjeldatud IEEE 802.1q standardis. Seadme pordile määratakse töörežiim mis võimaldab sealt läbi lasta kas ainult ühe VLAN ID'ga kaadreid ning pordist väljudes kustutatakse ID kaadrist (access mode) või mitu ID'd ja märgistus säilitatakse (trunk mode). Märgistuse säilitamisel on võimalik pordist saata välja erinevaid ID'sid omavaid pakette ja neid järgmises seadmes eristatult vastu võtta eeldusel, et ka vastuvõttev port on samas režiimis. Tulemuseks on üksteisest täiesti eraldatud võrguühenduste loomine üle ühe füüsilise kanali.
VLAN kasutamine erinevates süsteemides
Järgnevalt vaatleme kuidas on võimalik VLAN teenust kasutada erinevates operatsioonisüsteemides ja virtualiseerimiskeskkondades põhirõhuga linux keskkonnal.
Linux
Näide on tehtud Debian 7 linuxi distributsiooni baasil. Eeldab linux'i pakihaldussüsteemi kasutamise oskust, juurkasutaja õiguste omamist süsteemis, mingi käsurea tekstiredaktori kasutamise oskust, arusaamist võrguliidese parameetritest.
Süsteemis pakub VLAN teenuse kasutamise tuge tarkvarapakett vlan. Selle paigaldamiseks on vaja käivitada käsk:
apt-get install vlan
Kui nüüd tahta lisada süsteemi võrguliides, mis võtab vastu ja saadab kindla ID'ga pakette, siis võib seda teha jooksvalt otse käsurealt kasutades käsku vconfig koos võtmete ja parameetritega. Kui tahta näiteks liidesele eth0 lisada virtuaalne liides mis omaks VLAN ID'd 100 siis saab seda teha käsuga:
vconfig add eth0 100
Vastloodud liides on väljalülitatud seisundis, selleks et seda aktiveerida, tuleb anda käsk:
ifconfig eth0.100 up
Kui nüüd käsuga ifconfig küsida liideste nimekirja, siis peaks seal näha olema liides nimega eth0.100.
Sellisel meetodil tehtud virtuaalne liides süsteemi taaskäivitust üle ei ela, selle säilitamiseks on tarvis seadistus konfiguratsiooni kirja panna. Võrgu seadistus asub süsteemis /etc/network/interfaces failis. Kui me tahame säilitada oma loodud liidese täpselt samasugusel kujul ning kohe ka sellele staatilise IP aadressi omistada, siis tuleks meil lisada selle faili lõppu järgmised read:
allow-hotplug eth0.100 iface eth0.100 inet static address 10.10.10.1 netmask 255.255.255.0
Kui keegi tahab enda loodud liidesele nimeks panna midagi muud kui (füüsiline liides . VLAN ID) siis ka selline võimalus on olemas. Kasutades mingit muud nimekuju tuleb seadistuses ära määrata füüsiline liides, mis loodava virtuaalse liidese baasiks on. Näiteks virtuaalse liidese nimega sisemine loomiseks mis baseerub füüsilisel liidesel eth0 tuleks /etc/network/interfaces faili lisada järgmised read:
allow-hotplug sisemine iface sisemine inet static vlan-raw-device eth0 address 10.10.10.1 netmask 255.255.255.0
Loomulikult võib virtuaalne liides ka kasutada DHCP teenust võrgu parameetrite seadistamiseks:
allow-hotplug sisemine iface sisemine inet dhcp vlan-raw-device eth0
Mida meile võib anda virtuaalsete liideste loomise võimalus süsteemis?
Esiteks annab see meile võimaluse testida võrguühendusi mis on seadistatud kasutama märgistatud pakette nii, et me ei pea ühtegi muudatust ülejäänud võrgu seadistustes tegema.
Teiseks on meil võimalus ehitada ka ühe füüsilise liidesega masinast marsruuter, kus liideste lisamiseks on vaja paari rida seadistust. Sellise süsteemi puhul tuleks silmas pidada, et liideste läbilaskevõime on määratletud ühe füüsilise pordi võimekusega.
Windows
Windows operatsioonisüsteemid ise ei paku VLAN liideste loomise võimalust, seda võimaldavad osade võrguliidestega kaasaskäivad tarkvarad, millest tuntuim ja siiani autori poolt testituna toimiv on firma Intel liideseid toetav Intel® PROSet. Ka Realtek nimeline firma on välja andnud oma liidestele VLAN võimaluse lisava tarkvara aga autori katsetused sellega ei lõppenud positiivselt.
Intel® PROSet tarkvaraga VLAN liidese lisamisel seadistatakse füüsiline liides automaatselt trunk režiimi ning igale virtuaalliidesele saab omistada oma ID mida siis füüsiline port saadab välja märgistatuna. Virtuaalseid liideseid saab teha rohkem kui ühe. Autori katsetuse tulemusena VLAN liidesed töötasid hästi. Tarkvara on ühilduv kõikide x86 ja x64 arhitektuuril töötavate Windows operatsioonisüsteemidega alates Windows XP'st kuni hetkeseisuni kõige uuema Windows 8.1'ni.
Hyper-V
Virtualiseerimiskeskkond Hyper-V sisaldab endas virtuaalseid kommutaatoreid mille külge ühendatud virtuaalmasinate liidestele saab samuti määrata VLAN ID. Vaatame kõigepealt joonist, kuidas on masinad keskonnas omavel ühendatud, eeldusel, et nad kasutavad sama virtuaalset kommutaatorit:
[1] Virtuaalse kommutaatori ühendused süsteemis.
Virtuaalse kommutaatori kõik pordid töötavad vaikimisi trunk režiimis, seda režiimi saab ka välja lülitada ning siis ei saa enam VLAN ID'sid selles kommutaatoris kasutada. Meie eeldame, et hetkel see režiim on toimiv. Kui nüüd mõne virtuaalmasina (joonisel Guest VM) virtuaalsele liidesele teha märge, et kasutatakse VLAN märgistust ja määrata ära ID number, siis tulemusena saadab süsteem selle masina poolt genereeritud võrguliikluse märgistatult virtuaalsest kommutaatorist välja, jõudes kas füüsilisse võrku või mõnda teise sama kommutaatorit kasutavasse virtuaalmasinasse, kui see on samuti seadistatud sama VLAN ID'd kasutama. Lisainfot leiab siit.
XenServer
Virtualiseerimiskeskkond XenServer lubab samuti virtuaalmasinatel saata võrguliiklust välja märgistatult VLAN ID'ga. Selleks tuleb keskkonda lisada virtuaalne liides soovitud füüsilisele liidesele koos soovitud VLAN ID numbriga, seda saab teha kas käsurealt või siis läbi XenCenter haldustarkvara. Järgneval pildil (VLAN lisamine XenCenter rakendusega) oleva seadistusega lisaksime XenCenter haldustarkvara abil keskkonda virtuaalliidese ID'ga 100 ja see kasutaks füüsilist liidest nimega NIC1.
VLAN lisamine XenCenter rakendusega (Originaalne ekraanitõmmis)
Selle toimingu eduka lõpuleviimise tulemusena on meil võimalik süsteemi kasutavatele virtuaalmasinatele anda värskelt loodud liides kasutamiseks ning võrguliiklus sellest masinas jõuabki füüsilisse võrku VLAN ID'ga märgistatult. Tulemuseni jõudis autor peamiselt katse-eksitus meetodil, abistavat lisainfot leiab ka Citrix teabebaasist.
Kokkuvõte
VLAN teenus on tänapäeval muutunud väga oluliseks vahendiks võrguliikluse juhtimisel, see võimaldab muuta võrgu loogilist topoloogiat muutmata aluseks olevaid füüsilisi ühendusi ning tänu sellele hoida kokku nii riistvara kui ka selle paigalduse arvelt. Ilma selle teenuseta ei saaks ühes virtualiseerimiskeskkonnas masinaid erinevatesse võrkudesse seadistada ja teenust oleks keerulisem ja ka ebaturvalisem osutada.