Routering

Het valt me vaak op dat IT-ers de basis van routering niet door hebben terwijl de basis op zich niet zo ingewikkeld is en wel prettig te weten bij het foutzoeken.
Routeren doen we overal, van het huisnetwerk naar internet, op internet, binnen bedrijven. We delen zo een netwerk op in stukken waartussen we security tussen stoppen, of we koppelen onze netwerken aan netwerken van anderen.

ISO lagen

De eerste lagen van het ISO model zijn wel belangrijk om te kennen. 1 is de fysieke laag, 2 is de ethernet laag (binnen een vlan), 3 is de IP laag (binnen een subnet) en 4 is de transport laag (tcp en udp poorten per applicatie).
Elk device pakt steeds pakketten van een hogere laag in in een pakket van de laag eronder. Zie het ene device even als een flatgebouw met die 4 verdiepingen en het andere device ook. Webpakketten op poort 80 (http) worden op de derde verdieping in een IP pakket gezet met bron IP van de afzender en doel IP van de ontvanger, waar die dan ook is.
OP de tweede verdieping worden die pakketten ingepakt in een ethernet pakket dat een bron mac adres en een doel mac adres heeft. Dit ethernet pakket is geldig tot de doelhost als die in hetzelfde subnet zit of tot de gateway als dat niet zo is. Op elke router onderweg wordt het IP pakket voorzien van een nieuw ethernet pakket. Het IP pakket blijft wel intact van de bronhost tot de doel host.
Je kunt dit zien als een pakket, een doos, die een reis maakt met bron Amsterdam en doel Arnhem. Eerst gaat hij met een trein van Amsterdam naar Utrecht (ethernet pakket amsterdam-utrecht) en dan met een andere trein van Utrecht naar Arnhem (ethernet pakket Utrecht Arnhem). In Arnhem gaat hij uit de trein naar zijn doel. Amsterdam, Utrecht en Arnhem zijn dan routers en de treinen zijn ethernet pakketten. De doos is het IP pakket met een afzender en een doel en die veranderd niet gedurende de reis.

subnetmask, netwerk en hosts

Elk subnet heeft een subnetmask ofwel masker. Dat bepaalt welk deel van het IP adres het netwerk deel is en welk deels de hosts bevat. We kunnen zo netwerken definieren met 2 hosts (transport subnet) of 16 miljoen hosts.
Voor standaard vlans gebruiken we meestal klasse A,B of C netwerken, hierbij is de scheiding tussen netwerk en hosts altijd een heel byte. Hieronder voorbeelden van een klasse A, B en C netwerk
IP/mask          masker             netwerk         klasse
10.0.0.0/8       255.0.0.0          10.             A
172.17.0.0/16    255.255.0.0        172.17.         B
192.168.2.0/24   255.255.255.0      192.168.2.      C
Wanneer een host wil praten met een andere host dan kan hij aan het ip adres en het masker zien of de andere host in hetzelfde netwerk zit. Dus 10.1.2.3/8 die wil praten met 10.2.3.4/8 weten dat ze in hetzelfde netwerk zitten. De eerste stuurt dan een ARP pakket over het subnet en zegt "wie heeft IP adres 10.2.3.4" en dat IP adres zal antwoord geven en zeggen "ja, ik" waarna ze elkaars mac adres weten en op laag 2 gaan communiceren.
Wanneer een verzendende host met een adres wil communiceren dat niet in zijn eigen subnet zit dan weet hij dat een ARP request geen zin heeft en dat het verkeer naar de zogenaamde gateway moet op zo over andere netwerken naar zijn einddoel te komen. Hij doet dan een ARP request naar zijn gateway IP en stuurt daar het verkeer heen.
Na een of meerdere routers wordt dan het doel subnet bereikt. Daar wordt het verkeer naar de doelhost gestuurd.
Wanneer we verkeer routeren kunnen we hier ook IP/TCP filters op zetten om restricties aan te brengen in wat er doorheen mag en wat niet. Een IP filter zegt welk ip adres naar welk ander IP adres (in een ander netwerk dus) mag, een TCP filter geeft aan welke poorten naar welk IP toe mogen.
N.B.: Een firewall maakt ook gebruik van deze filters maar doet nog veel meer zoals meer pakketten ontcijferen en op inhoud filteren en ook filteren op malafide doeladressen of URL categorieen.

IP Helpers

Een IP helper is een instelling op een router of layer 3 switch die er voor zorgt dat een dhcp broadcast wordt doorgestuurd naar een dhcp server in een ander subnet. Die dhcp server ziet van welk subnet het verzoek komt en stuurt een antwoord terug.
Zo heb je dus aan 1 dhcp server in een netwerk met meerdere subnetten genoeg.

NAT

Network Address Translation is een aktie van een router of firewall waarbij er adressen of poorten aangepast worden in de pakketten. Dit dient meerdere doelen.
Een router thuis zal alle interne adressen natten naar een publiek adres, de overkant zal dus alleen je publieke adres als afzender zien. De router houdt een nat sessietabel bij om de antwoorden weer bij de juiste host af te leveren.
Een ander voorbeeld is een firewall die een NAT heeft op een publiek adres en als er daarop een pakket binnenkomt op poort 443 (ssl) dan stuurt hij het verkeer door naar een DMZ* server die gewoon een intern IP adres heeft.
Een ander voorbeeld is natten van een hele reeks naar een hele andere reeks, bijvoorbeeld als we verkeer naar een andere partij sturen door een vpn tunnel en die andere partij heeft een conflict met onze adressen. In dat geval hebben we een 1:1 nat van alle adressen naar een andere reeks.

* DMZ betekent DeMilitarized Zone en is een apart subnet tussen de binnenkant en de buitenkant van een firewall. In deze zone komen DMZ hosts te staan, servers die van buitenaf bereikbaar zijn. Deze worden van buiten naar de servers gelimiteerd tot de benodigde poorten en, mocht de server gepakt worden, ook gelimiteerd van de dmz naar het interne netwerk zo goed als kan.

statische routes en routing protocollen

Er zijn twee methodes van routeren, door middel van statische routes in de routetabel of door middel van routerings protocollen.
En binnen een router of layer 3 switch geldt sowieso dat alle direct aangesloten subnetten onderling gerouteerd worden.
Statische routering is gewoon een vaste tabel, als het doel Y is stuur dan daarheen en als het doel Q is stuur dan daarheen. Er kunnen ook redundante paden opgenomen worden door een tweede router voor een bepaald doel op te geven via een andere weg.

Dynamsiche routeringsprotocollen bepalen zelf welke paden er zijn, en welke uitgevallen zijn, en kiezen zo dynamisch hun weg van bron naar doel.
Er zijn veel verschillende routeringsprotocollen (RIP, OSPF, BGP, etc.) ieder met hun eigen kenmerken, zo wordt BGP (border gateway protocol) op internet gebruikt en ospf (open shortest path first) is binnen lan's een populair protocol.
Hier is zat over te vinden op internet dus hoef ik niet over uit te wijden.

Wat verder belangrijk is om te weten is "more specific routing". Een route die "more specific" is, meer gespecificeerd, heeft voorang boven een "less specific route.
We kunnen dus een route hebben naar bijvoorbeeld 192.168.3.0 via router 192.168.3.254 en een route naar 192.168.3.10 naar 192.168.3.253. Dit kun je tegenkomen bij het koppelen van netwerken en blijkt dat er een overlap is van subnetten. Als dan blijkt dat een van die subnetten maar enkele hosts heeft die van belang zijn dan kan dat zo opgelost worden.

Access lists

Een router (of in de vorm van een layer 3 switch) is ook de aangewezen plek om access lists te plaatsen waar het verkeer gefilterd wordt op adressen en/of poorten om zo wat beveiliging aan te brengen tussen de subnetten.
Stel dat we een subnet hebben met wifi devices, waarvan we de status (virusscanners, besmettingen) niet kennen, en een subnet met clients op de werkvloer (waar ook iedereen maar wat in kan prikken zelf) dan is het prettig dat verkeer te beperken tot dat wat echt nodig is en de rest te blokkkeren.
Zo blijft een server vlan wat veiliger tegen pogingen om meer te doen dan de bedoeling is.
Wanneer meer security nodig is kan een firewall geplaatst worden tussen subnetten maar let wel op waar want die hebben weer meer buffers nodig om op hogere iso lagen te inspecteren en geven daarom meer vertraging wat bijvoorbeeld nadeling kan zijn voor telefonie of camera besturingen.



Website door Wouter Barendsen, 2005-2021