Internet router via Network Address Translation

Wim Verveen , e-mail: wim@win2kwereld.nl

Voor Windows 98 SE gebruikers niet helemaal onbekend, maar nu ook beschikbaar in windows 2000: Network Address Translation. Waar gaat het om? Middels Windows NT/2000 kunnen we al langere tijd als router optreden en zo een LAN met het internet verbinden. De introductie van Routing and Remote Access software (RRAS) werd dit al in het verleden eens flink verbeterd maar nu met Windows 2000 is een nieuwe stap gezet. Windows 2000 introduceert Network Address Translation in de NT wereld.

Wat is hier nou zo bijzonder aan?

Om een netwerk te verbinden met het internet via een inbelverbinding of kabelmodem wordt vaak een proxy geïmplementeerd. Een proxy heeft echter een aantal grote nadelen: De oplossing is niet transparant, je moet op elke client de internetbrowser configureren om met de proxy om te kunnen gaan en voor allerlei protocollen moeten speciale oplossingen worden bedacht of extra software worden geïnstalleerd. Wil je bijvoorbeeld ftp gebruiken bij een proxy (anders dan via de browser) dan moet bij de Microsoft Proxy eerst een winsock proxy client worden geïnstalleerd zodat communicatie mogelijk wordt. Nadeel van dat soort oplossingen is dat dit vreemde communicatiefouten kan veroorzaken.

Een betere oplossing dan een proxy is een router. Een router is de oorspronkelijke implementatie om TCP/IP gebaseerde netwerken met elkaar te verbinden hosts, aan beide kanten van de router kunnen zonder belemmeringen met elkaar communiceren. Dit is echter lang niet altijd mogelijk omdat voor een router geldige internetadressen nodig zijn. Wat we eigenlijk willen is een router met het gedrag van een proxy: een router die maar 1 ip adres gebruikt.
Hier komt Network Adres Translation om de hoek kijken.Windows 98 SE stelde een beperkte oplossing beschikbaar genaamd ICS (internet connection sharing). De techniek is eigenlijk even simpel als doeltreffend. De ICS server doet net of hij een router is en zal verkeer van de clients wat niet voor het lokale subnet is bestemd, forwarden naar een externe verbinding. De ICS server vervangt het interne adres door het geldige externe adres en stuurt het door. ICS verdeelt het verkeer door gebruik te maken van TCP poort informatie. Nadeel van ICS is echter dat de IP nummering beperkt is. ICS kiest een vaste range van nummers waar niet vanaf kan worden geweken. Bovendien ondersteund ICS maar 1 subnet.
Willen we meer functionaliteit dan zullen we ICS niet kunnen gebruiken en moeten uitwijken naar tools die Network Address Translation (NAT) ondersteunen zoals bijvoorbeeld Winroute, dat leidt echter weer tot extra kosten en compatibiliteitsproblemen.

Door de komst van Windows 2000 server, is dit echter niet meer nodig omdat de router component naast ICS ook NAT ondersteunt.  Een implementatie van NAT biedt een aantal voordelen: We hoeven geen proxy software meer aan te schaffen, worden niet meer gehinderd door tal van beperlingen van een proxy en hoeven niet allerlei rare software (winsock proxy) te installeren.

Proxy

Applicatie die de verbinding verzorgt tussen de buitenwereld en het interne net. Clientprogrammatuur moet op de hoogte zijn van het bestaan van de proxy en weten hoe daar mee om te gaan. Soms speciale drivers die deze functie kunnen waarnemen en verkeer 'afvangen'en omleiden via de proxy. Verkeer in beide richtingen is niet zonder meer mogelijk tenzij de proxysoftware hiervoor speciale voorzieningen heeft.

Router (gateway)

De standaardoplossing waarbij intern verkeer naar buiten wordt geleid, deze oplossing maakt deel uit van de protocoldefinities van TCP/IP. Met een router is verkeer in beide richtingen mogelijk. Alle machines hebben een uniek extern adres.

ICS

Een variant van NAT waarbij de ICS host het interne verkeer via een ip adres naar buiten leidt. Voor de clients is dit transparant en er is geen extra software vereist. Niet alle applicaties werken zonder meer. Het interne subnet moet aan bepaalde regels voldoen en er is intern geen verdere routering mogelijk. Eigenlijk dus NAT met een minderwaardigheids complex.

NAT

Via een of meerdere externe ip adressen wordt het interne verkeer naar buiten geleid. Er zijn geen beperkingen voor het interne netwerk wat betreft nummering of routering. Voor het interne netwerk is deze oplossing geheel transparant. Middels speciale configuratie is het mogelijk extern verkeer, met enige beperking, naar interne hosts worden geleid. In dit artikel wordt maar een klein aspect van NAT behandelt. Er zijn meerdere toepassingen mogelijk.

Wat we nu gaan doen is een Windows 2000 server aan het internet hangen en deze laten dienen als NAT router zodanig dat we alle business critical applicaties zoals Half-life en Quake3 kunnen draaien.

Wat moet je hebben?

  • - Een of meerdere clients
  • - Een Windows 2000 server met een werkende dial-up verbinding naar het internet.

 

Als we deze apparatuur hebben kunnen we beginnen met de installatie. Hoe moet zo'n installatie aangepakt worden? Een aantal zaken zijn hier van belang, eerst moeten we met de RRAS tool de router activeren. Daarna  zullen we een modem ISDN of VPN (ADSL) verbinding definiëren als 'demand-dial interface'. Vervolgens zullen we de clients configureren om onze NAT router te gaan gebruiken en als laatste gaan we DNS instellen om ook het gebruik van domeinnamen mogelijk te maken.

RRAS configureren

Als eerste zullen we op de Windows 2000 machine gaan zorgen dat de router werkt. Het is verstandig om de inbelverbinding eerst met de hand te testen om van een goede verbinding verzekerd te zijn.

Vervolgens activeren we de routing en remote access module via de administratie tool onder start|programs|administrative tools|routing and remote access

Figuur 1: Routing and remote access configuratie programma

Als het configuratieprogramma is gestart (figuur 1) activeren we RRAS door in de server eigenschappen 'activate routing en remote access ' te kiezen. Er wordt dan een Wizard gestart die de installatie begeleidt. Kies voor de optie om een 'internet connection server' te installeren en activeer de NAT eigenschappen. Tijdens de setup wordt de mogelijkheid geboden om direct een inbelverbinding te maken, selecteer deze keuze. Afhankelijk van de grootte van het netwerk kunnen we NAT DHCP functionaliteit geven of dit door een DHCP server af laten handelen. Omdat meestal al een bestaand geconfigureerd netwerk aanwezig is, opteren we voor de mogelijkheid zelf de adressering te regelen.
Nadat we alle keuzes hebben gemaakt, wordt RRAS geactiveerd en start de inbelverbindingssetup.

Inbelverbinding

Om te zorgen dat RRAS onze internetverbinding gaat gebruiken moet deze eerst toegevoegd worden. Na de eerste setup van RRAS start deze de Wizard voor de modemverbinding voor ons op (figuur 2).

Figuur 2: De setup van de inbelverbinding

De modemsetup stelt de bekende vragen voor het maken van een internetverbinding. Kies voor het toevoegen van een modem/ISDN verbinding, geef de verbinding een logische naam, kies welk apparaat u wilt gaan gebruiken en geef de informatie over het te bellen nummer en accountinformatie.

Figuur 3: De NAT router geconfigureerd

Nu hebben we onze NAT router in principe aan de gang. Er zijn echter nog wat aanvullende zaken die we moeten regelen om ervoor te zorgen dat onze clients ermee kunnen werken.

Configuratie Clients

Als eerste moeten we de clients duidelijk maken dat internetverkeer via onze router gaat.
In ons eenvoudige voorbeeld moeten wij of op alle clients een gateway definiëren naar onze internetrouter zoals figuur 4 laat zien,
of we stellen dit in op een aanwezige DHCP server. In DHCP kan routerinformatie worden meegegeven door hiervoor een DHCP optie te definiëren. Een voorbeeld daarvan staat weergegeven in figuur 5. Een DHCP server biedt een centrale mogelijkheid om ip adressen en configuratiegegevens uit te delen en is daarom een zeer aan te bevelen oplossing.

Figuur 4: Instellen gateway op een Windows NT client

Figuur 5 : DHCP opties van een DHCP server.

Stel dat ons netwerk gecompliceerder is en we al beschikken over een router dan lossen we dit op door op de bestaande router een default route naar de NAT router toe te configuren. Het hele netwerk kan dan gebruik gaan maken van onze NAT router om naar het internet te gaan.
Als we eenmaal de clients hebben geconfigureerd, kunnen we met behulp van het commando 'ping' vaststellen of we ip adressen op het internet kunnen bereiken. Als dit werkt is de basiscommunicatie gereed, we kunnen data versturen naar hosts buiten ons net en deze kunnen daar antwoord op terugsturen.

Gebruik van DNS

Echter, onze werkstations kunnen nog geen gebruik maken van de internetnaamgeving. Hoe passen we dit aan? De eenvoudigste manier is om op de clients een DNS van de ISP op te geven. De clients kunnen dan internet domein namen oplossen. Dit heeft echter tot gevolg dat er onnodig gebruik gemaakt wordt van de internetverbinding omdat ook bij het oplossen van interne hostnamen al snel een verzoek richting de externe DNS gaat.
Een alternatieve oplossing, die soms ook verplicht is, is gebruik maken van een bestaande interne DNS. Bijvoorbeeld die van Windows 2000 zelf. Om de interne DNS externe namen op te laten lossen kan binnen de Windows 2000 DNS een forwarder benoemd worden. Vul hiervoor in de DNS configuratie het adres in van de DNS van de ISP (figuur 6)

Figuur 6: een DNS forwarder instellen

Als de DNS een zogenaamde root DNS is, wat na het installeren van Windows 2000 met Active Directory vaak het geval is dan kan er geen forwarder opgeven worden. In dat geval kun je als workaround de rootzone verwijderen. Dat is de zone die is weergegeven met een "." . Na verwijderen kan er wel een forwarder worden opgegeven.

Nu we de DNS benoemd hebben kunnen we vanaf de client de meeste internetapplicaties zonder verdere configuratie gebruiken. De enige applicaties die problemen geven zijn applicaties die niet het standaard ip protocol gebruiken zoals bijvoorbeeld PPTP of die vereisen dat er een externe verbinding met een intern station wordt opgebouwd zoals bijvoorbeeld IRC clients die gebruik maken van security servers. Een ander probleem doet zich voor als wij intern in het netwerk een host hebben, bijvoorbeeld een web of mailserver die verkeer van het internet moet afhandelen. Als wij dit werkende willen krijgen moeten we de TCP poort die de server hiervoor gebruikt 'mappen'. Open hiervoor in de RRAS configuratie het eigenschappen scherm van de inbelverbinding. In figuur 7 wordt de SMTP poort gemapped naar een interne mailserver. Met één extern ip nummer kan dit voor slechts een host, willen we meer hosts ondersteunen dan hebben we meer externe adressen nodig.

Figuur 7: een SMTP poort gemapped naar een interne mailserver

Je ziet dat het eigenlijk helemaal niet zo moeilijk is om met een Windows 2000 netwerk het internet op te gaan. De meeste applicaties en games werken gewoon, alleen applicaties die van buiten naar binnen gaan leveren nog wel eens problemen op, soms oplosbaar door poortmappings.

Aanvullende informatie:
Internet connection sharing pagina bij MS
Getting started with windows 2000 networking

© 2000 W. Verveen Consultancy. De inhoud van dit document mag op geen enkele wijze aan derden beschikbaar worden gesteld zonder uitdrukkelijke, schriftelijke toestemming van W. Verveen Consultancy.

Dit document is in gewijzigde vorm eerder in het blad Windows en Netwerken verschenen.


privacy policy