Netwerkbeheer met VLAN’s? Dat werkt zo
Het aantal apparaten op je netwerk groeit rap. Vaak heb je geen idee wat die apparaten allemaal doen. Het is een veilig idee om ze op een apart netwerk ofwel subnet te zetten, met de hulp van een virtueel netwerk oftewel VLAN. Je kunt dan restricties opleggen, maar ook verkeersprioriteiten instellen. We laten zien hoe dit werkt, wat je er voor nodig hebt en ook hoe je het verdere beheer van het netwerk kunt aanpakken.
Zo’n groeiend netwerk met IoT-devices is leuk, maar moet ook beheersbaar blijven. Meestal gebruiken de apparaatjes je normale thuisnetwerk, wat niet zo’n veilig gevoel geeft omdat veel ioT-apparaten de beveiliging niet goed op orde hebben. Geholpen door virtuele netwerken (oftewel virtual LAN’s of VLAN’s) is het prima te scheiden. Een virtueel netwerk is feitelijk een afgezonderd netwerk – ofwel subnet – dat gewoon je bestaande kabels en switches gebruikt. Handig om bijvoorbeeld om al die IoT-apparaatjes te isoleren, zodat ze niet in je hoofdnetwerk kunnen of contact kunnen maken met een obscure server in China, om maar wat te noemen.
01 Wat zijn subnetten?
Een subnet is feitelijk een reeks ip-adressen die bij elkaar hoort. Binnen je lokale netwerk zijn dat privé ip-adressen die niet op internet bestaan (zie kader ‘Bekende privé ip-reeksen en subnetmaskers’). Het eerste deel van elk ip-adres verwijst naar het bijbehorende netwerk, het tweede deel naar een bepaald apparaat ofwel host. Een subnetmasker geeft aan welk deel het netwerk beschrijft. Als jouw router een aparte netwerkpoort heeft met een geïsoleerd gastnetwerk, dan is dat feitelijk ook een apart subnet met een andere ip-reeks. Door met VLAN’s te werken, kun je zelf meerdere subnetten maken binnen hetzelfde netwerk, op voorwaarde dat je een managed switch (beheerde switch) gebruikt die met zulke VLAN’s overweg kan. Elders in deze Computer!Totaal hebben we een aantal bekende modellen voor je getest!
Bekende privé ip-reeksen en subnetmaskers
Op zoek naar je router? Grote kans dat je hem op een adres als 192.168.1.1 vindt, met je netwerkapparaten op adressen tussen 192.168.1.2 en 192.168.1.254. In dit geval is het subnetmasker 255.255.255.0. Zo’n subnetmasker geeft welk deel van een ip-adres het netwerk aanwijst. In dit geval precies de eerste drie getallen, die dus voor elk ip-adres in dat subnet hetzelfde zijn. Dat ‘praat’ makkelijker, maar is niet verplicht: je kunt ermee experimenteren (geholpen door rekentools op internet). Je komt ook vaak de verkorte CIDR-notatie tegen (Classless Inter-Domain Routing). Dit specifieke subnet kun je dan schrijven als 192.168.1.0/24. Een andere bekende ip-reeks, die we ook in deze workshop gebruiken, is 10.0.0.0/24.
©PXimport
02 Zo werken VLAN’s
VLAN’s worden uit elkaar gehouden door een unieke ‘tag’ of ‘VLAN-ID’, een waarde van 1 t/m 4094. Zie het als een labeltje dat op het verkeer wordt geplakt. Het is praktisch zo’n VLAN-ID in het netwerkadres te gebruiken, bijvoorbeeld 10.0.10.0/24 voor VLAN 10 en 10.0.20.0/24 voor VLAN 20. Een switch bepaalt op basis van de VLAN-ID naar welke poorten het verkeer moet worden gestuurd. Bij het instellen ervan moet je vooral weten wat het aangesloten apparaat met VLAN’s doet. Als het er niets mee doe, zoals een pc of printer, configureer je de poort als zogenoemde toegangspoort. Handelt het apparaat echter verkeer voor geselecteerde VLAN’s af, zoals bepaalde routers, servers en zakelijke accesspoints, dan configureer je het als trunk-poort. We noemen zulke apparaten ook wel ‘VLAN-aware’.
©PXimport
03 Instellen VLAN’s op de switch
Je voegt VLAN’s op de switch na elkaar toe (per VLAN-ID) en kiest per poort tussen de aanduiding Tagged, Untagged of Not Member. Als een poort niets met een bepaald VLAN te maken heeft, kies je voor Not Member. Voor een toegangspoort kies je Untagged zodat verkeer dat de switch verlaat wordt ontdaan van tags. Voor een trunk-poort kies je Tagged, zodat het apparaat de VLAN-ID meekrijgt (en daar iets mee doet). Per toegangspoort moet je doorgaans ook een zogenoemde PVID (Port VLAN identifier) instellen, zodat inkomend verkeer (dat geen VLAN-ID bevat en daarom ongetagd/untagged wordt genoemd) in het juiste VLAN komt. Omdat een toegangspoort maar ‘lid’ is van één VLAN is het eigenlijk ook af te leiden uit je configuratie. Sommige switches doen het daarom zelfstandig, maar controleer dat wel altijd! Wie goed oplet, zal zien dat je bij de configuratie van de switch óók een PVID kunt instellen voor een trunk-poort. Dat komt omdat je, hoewel je dat in de praktijk beter kunt vermijden, via zo’n trunk namelijk naast getagd verkeer ook maximaal één ongetagd VLAN kunt aanbieden.
04 Default VLAN?
Let er op dat switches als je ze uit de doos haalt vaak standaard een default of native VLAN vrijwel altijd met VLAN-ID 1 als PVID hebben ingesteld. Dat komt een beetje uit de Cisco-wereld. Het gevolg is dat ongetagd inkomend verkeer standaard in VLAN 1 zal worden ingedeeld. Alle poorten zijn verder ingesteld als toegangspoort (Untagged) voor dat VLAN. Zodra je een poort lid maakt van een ander VLAN, door deze op Tagged of Untagged in te stellen voor een bepaald VLAN-ID, kun je de VLAN-ID 1 weer weghalen. Is een poort geen lid meer van een ander VLAN, dan wordt het meestal weer automatisch ingedeeld in VLAN 1. Zulk gedrag verschilt een beetje per switch, daarom is het verstandig deze toewijzing te controleren.
©PXimport
05 Bestaande switches hergebruiken
Kom je netwerkpoortjes tekort? Je kunt je netwerk prima met oude (niet-managed) switches uitbreiden. Weliswaar kunnen die niet met VLAN’s overweg, maar dat hoeft ook niet. Je sluit ze aan op een toegangspoort die, zoals hierboven uitgelegd, verkeer ongetagd aflevert en inkomend verkeer via de PVID-instelling weer in het juiste VLAN indeelt. Het is wel praktisch om op zo’n switch een sticker of label te plakken, zodat je weet voor welke subnet je het gebruikt. Sowieso is het handig als je met VLAN’s werkt, om alle poorten op switches en wellicht ook kabels te labelen. Of je gebruikt bijvoorbeeld een aparte kabelkleur per VLAN.
06 Praktijkvoorbeeld: internet en gastnetwerk
Heb je een router met een aparte netwerkpoort voor gasttoegang? En wil je in bijvoorbeeld een slaapkamer zowel een gewoon als gastnetwerk? Zet dan een managed switch in de meterkast en slaapkamer. Kies zelf een VLAN-ID voor het gewone netwerk (bijvoorbeeld 6) en het gastnetwerk (bijvoorbeeld 8). Sluit in de meterkast bijvoorbeeld poort 1 aan op het gewone netwerk en 2 op het gastnetwerk. Je stelt een poort (bijvoorbeeld poort 8) in als zogenaamde trunk-poort, door deze te taggen voor beide VLAN-ID’s. Via deze poort gaat dan het verkeer voor beide VLAN’s naar de switch in de slaapkamer.
Voer bij de configuratie van de switch eerst VLAN-ID 6 in met poort 1 op Untagged en poort 8 op Tagged. Voer dan het tweede VLAN-ID 8 in met nu poort 2 Untagged en poort 8 op Tagged. Je moet nu doorgaans nog de PVID instellen voor poort 1 (6) en 2 (8). In de slaapkamer kun je met een vergelijkbare configuratie het verkeer weer uitsplitsen. De resterende poorten op de switch kun je natuurlijk naar voorkeur nog indelen op het gewone netwerk of gastnetwerk.
©PXimport
Televisie en internet via aparte kabels?
In het eigen netwerk van de internetproviders gebruiken ze meestal VLAN’s voor het scheiden van bijvoorbeeld internet, televisie en VoIP. Dat is niet alleen veiliger, ook de kwaliteit kan beter worden gegarandeerd door deze aparte netwerken. De router kan intern zulk verkeer uitsplitsen over verschillende poorten. Voor televisie is dat soms een ander subnet en gaat de provider ervan uit dat je aparte kabels trekt. Heb je echter maar één netwerkkabel naar de televisie, dan kun je handig gebruikmaken van VLAN’s. Zet zowel in de meterkast als bij de televisie een managed switch en gebruik VLAN’s om het verkeer gescheiden te houden, eigenlijk zoals in ons praktijkvoorbeeld van het gewone netwerk met een gastnetwerk.
07 Speciale switch voor multicast?
Tegenwoordig ‘hangt’ ip-televisie steeds vaker in het ‘gewone’ netwerk en krijgen de ontvangers dus een ip-adres in dat netwerk. Aparte kabels zijn dan niet nodig. Het is in elke situatie wel raadzaam om een switch te gebruiken die het zogeheten IGMP Snooping ondersteunt. Dat mechanisme zorgt ervoor dat de switch de televisiestream alleen doorstuurt naar de poorten die daarom hebben gevraagd en niet naar andere poorten, waarmee je overbodig netwerkverkeer voorkomt, maar ook verbindingsproblemen zoals haperend beeld.
©PXimport
08 VLAN’s met router/firewall
In de voorbeelden hierboven, zoals het aparte gastnetwerk, kun je goed zonder, maar in andere situaties ontkom je er niet aan: een router die met VLAN’s overweg kan. Zo’n router regelt het verkeer tussen VLAN’s onderling en richting internet. Veelal aangevuld met firewallregels die bepalen wat wel en niet mag. Het is een echte meerwaarde als je actief met VLAN’s gaat werken. Sommige consumentenrouters kunnen met VLAN’s overweg, maar meestal pas als je er aangepaste firmware op zet zoals DD-WRT of OpenWrt. Je kunt ook zelf een pc (met liefst twee of meer netwerkpoorten) omtoveren tot router/firewall met bijvoorbeeld pfSense of OPNsense. Voor het praktijkvoorbeeld hebben we pfSense gebruikt met meerdere VLAN’s op één netwerkpoort. Om te oefenen kun je de software trouwens ook in een virtuele omgeving installeren (zie kader ‘pfSense en virtualisatie’).
©PXimport
pfSense en virtualisatie
Je kunt pfSense prima in een virtuele machine installeren. Gebruik bijvoorbeeld VirtualBox, VMware, ESXi of Proxmox. VirtualBox kun je eventueel ook onder Windows installeren met pfSense in een virtuele machine. Handig is dat je aan zo’n virtuele installatie van pfSense meerdere virtuele netwerkinterfaces kunt toevoegen. Die gebruiken je bestaande netwerkinterface, maar met eigen instellingen. Zo kun je dus volop experimenteren met VLAN’s. Maak bijvoorbeeld virtuele machines met Windows of Linux aan en laat ze werken op een bepaald VLAN. Netgate, de ontwikkelaar van pfSense, heeft hier overigens uitgebreide documentatie met tips over pfSense én het virtualiseren van deze software.
09 Praktijkvoorbeeld: router met VLAN’s
Heb je een router die met VLAN’s overweg kan, zoals pfSense dat we hier gebruiken, dan kun je daarin handig verschillende VLAN’s maken en toewijzen aan een bepaalde netwerkpoort. Als voorbeeld nemen we VLAN-ID 100 voor het hoofdnetwerk, 110 voor IoT om bepaalde apparaten te isoleren en 150 voor gasten. Met als bijbehorend subnet achtereenvolgens 10.0.0.0/24, 10.0.10.0/24 en 10.0.50.0/24. We sluiten de router aan op poort 1 van de managed switch, die poort gaan we straks instellen als de trunk-poort. We gebruiken voor de configuratie als voorbeeld een D-Link DGS-1210-10-switch, maar bij andere modellen werkt het vergelijkbaar. Voor iedere VLAN-ID kiezen we voor de trunk-poort uiteraard Tagged. Voor VLAN-ID 100 kiezen we poorten 2, 3 en 4 als Untagged. Bij de andere poorten kiezen we Not Member. Bij VLAN-ID 110 doen we hetzelfde, maar nu poort 5 Untagged. En bij VLAN-ID 150 ook, maar dan poort 6 Untagged. Ten slotte stellen we nog de PVID in: 100 voor poorten 2, 3 en 4, 110 voor poort 5 en ten slotte 150 voor poort 6. Heb je het eenmaal aangesloten, dan zul je zien dat apparaten als pc’s en printers die je aansluit op één van de toegangspoorten (poort 2 t/m 6) in het bijbehorende subnet komen. En als je in pfSense een dhcp-server hebt ingesteld, krijgen ze ook meteen een correct ip-adres.
©PXimport
10 Werken met VLAN’s en wifi
Als je met VLAN’s een scheiding hebt gemaakt in het verkeer, is de kans groot dat je gebruikers ook via wifi op die gescheiden netwerken wilt toelaten. Dan pas zorg je dat de niet-vertrouwde IoT-apparaten óók via wifi het afgezonderde netwerk gebruiken met alle bijbehorende restricties in de firewall. Het wordt opgelost met verschillende ssid’s. De ssid is de naam van het netwerk die je ziet bij het verbinden. Nemen we weer onze configuratie in pfSense als voorbeeld, dan gaat het om drie aparte wifi-netwerken, die gebruikmaken van respectievelijk VLAN-ID 100, 110 en 150. Helaas is zoiets met de meeste consumentenrouters niet mogelijk. Je kunt dat op meerdere manieren oplossen. Heb je nog enkele afgedankte routers met wifi? Gebruik er dan één voor elke VLAN-ID door hem op een toegangspoort voor dat VLAN aan te sluiten. Zorg verder dat je zo’n router als ip-client (of in zogeheten bridge-modus) hebt ingesteld zodat andere netwerkinstellingen van je router worden overgenomen (zoals een dhcp-server). Het gedraagt zich dan feitelijk gewoon als een accesspoint in het bewuste subnet.
11 Accesspoints voor meerdere VLAN’s
Met name in de zakelijke markt vind je diverse accesspoints die voor meerdere VLAN’s gebruikt kunnen worden, met een aparte ssid per VLAN. Je sluit zo’n accesspoint op een trunk-poort aan waar alle VLAN’s op uitkomen waarvoor het accesspoint verkeer moet gaan afhandelen. Hierna moet je onder andere instellen wat die VLAN’s zijn, welke ssid moet worden getoond en hoe de verbinding moet worden beveiligd. Voor gasten zou je bijvoorbeeld kunnen kiezen om de toegang open te zetten, terwijl je dat voor je hoofdnetwerk goed dichttimmert. Erg populair en goed betaalbaar zijn de Unifi UAP AC-modellen van het merk Ubiquiti. De netwerkapparatuur van dit bedrijf werkt wat anders dan de meeste merken. Je beheert ze via de UniFi Controller-software die je op bijvoorbeeld een server of Raspberry Pi installeert. Via die software kun je naast eventuele switches die je van het merk hebt ook de accesspoints instellen, beheren én monitoren. Die accesspoints kun je overigens ook handig middels power-over-ethernet voeden, direct vanuit je switch of met de (meestal bijgeleverde) PoE-injector.
©PXimport
12 Verkeer monitoren met snmp
Wil je graag het verkeer in je netwerk monitoren, direct vanuit een switch? Aan de eenvoudigste managed switches heb je dan eigenlijk niet zo veel. Maar met uitgebreidere modellen kan dit vaak wel. Verschillende switches bieden zo’n mogelijkheid via de webinterface zelf, dezelfde omgeving waar je de configuratie van de switch afhandelt. Maar die mogelijkheden gaan weer niet zo ver. Meestal kun je alleen zien hoeveel verkeer per poort is verstuurd en ontvangen. Meer informatie krijg je via het snmp-protocol, als je switch dat ondersteunt. Je kunt dan centraal met software zoals het gratis LibreNMS de status uitlezen. De producten van Ubiquiti bieden dergelijke informatie desgewenst ook via snmp, maar eigenlijk heb je aan de Controller-software genoeg, waar je in detail statistieken over je netwerk kunt inzien.
©PXimport