Geavanceerde netwerkinstellingen met Guidedog

Auteur van het handboek van Guidedog (en van Guidedog zelf): Simon Edwards
Vertaling en aanpassingen: Tom Verbreyt
Herziening 0.3
Copyright © 2004 KDE-nl team

Inhoudsoverzicht

Guidedog

1 Inleiding

Guidedog is een programma dat je bijstaat bij het instellen van enkele eerder gevorderde netwerkfuncties van de Linux-kernel: packet routing, IP-masquerading (ook wel bekend als: NAT en port forwarding). De vertaler van dit document merkt graag meteen op dat hij dergelijke termen onvertaald laat. Je kan er gebrekkige Nederlandstalige alternatieven voor bedenken, maar het jargon is de facto Engels, dus daar kunnen we het beste bij blijven.

Voor deze handleiding ben je best enigszins op de hoogte van concepten als netwerkprotocols en IP-adressen. Dat soort begrippen wordt vluchtig behandeld in een andere handleiding op kde.nl, namelijk die van Guarddog.

1.1 Gebruik een firewall!

Je gebruikt Guidedog best in samenhang met afzonderlijke firewall-software, zoals Guarddog. Met Guidedog is het een fluitje van een cent om je computer en/of netwerk aan het onoverzichtelijke internet bloot te stellen: om die reden is een firewall geen overbodige luxe. Met Guidedog kan je je netwerk dan allerlei trucjes leren, maar tegelijkertijd zorgt een firewall voor je gemoedsrust, omdat hij ervoor zorgt dat enkel de juiste personen je computer en/of netwerk kunnen beroeren.

2 Over IP-masquerading

Een andere term voor IP-masquerading is NAT. Andere besturingssystemen zouden het ook wel Netwrok Connection Sharing kunnen noemen, maar al die begrippen bedoelen hetzelfde principe: een methode om het een bepaalde computer, die geen publiek bereikbaar (over het hele internet geldend) IP-adres bezit, mogelijk te maken met andere computers op het internet te communiceren, met de hulp van een andere computer die zich tussen die ene computer en het internet bevindt. Het klinkt complexer dan het is; bekijk vooral de afbeelding wat lager ter verduidelijking.

Zoals je weet worden op het internet IP-adressen gebruikt om machines te identificeren. Eender welke router op het internet die een pakket met een IP-adres ontvangt, weet waar hij het pakket heen moet slingeren opdat het op zijn bestemming aankomt. Er zijn ook een aantal reeksen van IP-adressen die gereserveerd zijn voor privaat gebruik binnen LAN's of andere netwerken die niet direct met het internet verbonden zijn. Bij dergelijke private adressen mag je er zeker van zijn dat ze nergens gebruikt worden op het publiek toegankelijke internet.

Zo ontstaan er problemen voor computers die via private netwerken, dus met private IP-adressen, verbinding maken: die machines kan je niet direct met het internet verbinden. Ze hebben immers geen publiek en uniek IP-adres, terwijl je dat nodig hebt om online iets te kunnen betekenen. Dat probleem kan je verhelpen met IP-masquerading. IP-masquerading zorgt ervoor dat pakketten die afkomstig zijn van een machine met privaat IP-adres gewijzigd worden, zodat ze een publiek en geldig IP-adres bevatten in plaats van het originele, slechts lokaal geldige adres. Pakketjes die vanop het internet terugkeren worden op een gelijkaardige manier aangepast: ze krijgen dan opnieuw het lokale adres, ter vervanging van het publieke adres, alvorens ze terugkeren naar de machine die de communicatie ten gronde lag.

Een voorbeelddiagram voor NAT...

Bekijk even het diagram hierboven. Zoals je ziet maken de machines binnen het LAN deel uit van het private IP-bereik 192.168.1.*. Geen van die machines kan direct met het internet communiceren. De machine die tussen het LAN en het internet zit, draait Guidedog: hij gedraagt zich als een gateway tussen het LAN en het internet, doordat hij tegelijkertijd deel uitmaakt van het lokale netwerk (192.168.1.1) en een publiek IP-adres bezit (4.3.2.1).

Guidedog zorgt ervoor dat de machines in het lokale netwerk met het internet kunnen communiceren, door aan IP-masquerading te doen. Een concreet voorbeeld is het pakket dat afkomstig is van 192.168.1.3 en 5.6.7.8 als bestemming heeft. Guidedog zal zo'n pakket aanpassen, zodat het het publieke adres van de gateway bevat (4.3.2.1) en dus niet langer het lokale adres. Omgekeerd zal Guidedog, wanneer het een pakket dat van het internet afkomstig is ontmoet, proberen na te gaan of het bedoeld is voor een machine in het LAN. Is dat het geval, dan wordt het adres opnieuw aangepast, maar dan in omgekeerde richting.

Let op!

Merk op dat Guidedog op die ene gateway-machine moet draaien. Alle computers in het LAN moeten bovendien zodanig ingesteld zijn, dat ze gebruik maken van de gateway voor alle pakketten die bedoeld zijn voor het internet. Als dat niet zo is, kan Guidedog onmogelijk pakketten bijwerken om ervoor te zorgen dat ze op hun eindbestemming aankomen.

3 Over port-forwarding

De techniek die in het jargon port-forwarding heet, houdt in dat bepaalde pakketten die bestemd zijn voor een bepaalde poort op een bepaalde machine omgeleid worden naar een andere poort en/of een andere machine. Dat gebeurt transparant: dat wil zeggen dat de netwerk-clients geen weet hebben van wat er zich boven hun hoofden afspeelt, qua port-forwarding. Wat hen betreft is er dus geen vuiltje aan de lucht, ook al verbinden ze met een poort en worden pakketten in een andere richting gestuurd.

Net als bij IP-masquerading is het bij port-forwarding belangrijk om te weten dat de pakketjes die je wil omleiden via de gateway-machine (waarop Guidedog draait) passeren: hoe zou Guidedog pakketten moeten wijzigen die het nooit van dichtbij ontmoet?

Een voorbeelddiagram voor port-forwarding...

Bekijk ook hier even het diagram. Je ziet een aantal computers binnen het lokale netwerk: A en B; die machines zijn met internet verbonden via een gateway (G), waarop Guidedog gebruikt wordt. Stel nu dat je verkeer naar TCP-poort 80 op machine G naar poort 80 van een andere machine wil herleggen (I). Poort 80 dient standaard voor HTTP-verkeer (webpagina's). In dit geval zou een pakket vanuit het LAN (A en B) dat bedoeld is voor poort 80 van een webserver op het internet eerst naar de gateway (G) vertrekken. Daar zou Guidedog het pakket aanpassen met het publieke IP-adres en het vervolgens naar de webserver doorsturen.

Merk op dat die handelingen niet zullen plaatsvinden als A en B met elkaar willen communiceren: daar komt de gateway (G) helemaal niet aan te pas; A en B zitten immers op hetzelfde lokale netwerk.

4 Interactie met de firewall

Als je aan IP-masquerading en port-forwarding doet, kan het een complexe zaak worden om te voorspellen hoe de firewall zal reageren of om met zekerheid te weten hoe je je firewall moet instellen. Bij deze enkele nuttige tips (die enkel gelden als de firewall, zoals pakweg Guarddog, op dezelfde machine draait als Guidedog):

5 Guidedog hanteren

Guidedog is nog maagdelijke software; op het moment van dit schrijven is er nog geen Nederlandse vertaling van beschikbaar. Dat mag echter geen probleem heten. Als je deze handleiding tot hier hebt gevolgd, is er geen vuiltje aan de lucht.

5.1 Het tabblad Routing

Het tabblad Routing bevat instellingen om het verkeer van pakketjes tussen verschillende computers te beïnvloeden.

Het "Routing"-tabblad...

Enable Routing

Deze checkbox bepaalt of je Linux-machine überhaupt pakketjes moet routen of niet. Vink je deze optie aan, dan zal het netwerk-subsysteem van de kernel in actie schieten voor binnenkomende pakketten. Voor andere mogelijkheden, zoals IP-masquerading, moet je deze optie inschakelen.

IP Masquerade

Met deze optie ingeschakeld zal Guarddog pakketten die van een privaat IP-adres afkomstig en op weg naar een publiek IP-adres (op het internet) zijn automatisch opmerken, om ze vervolgens een geldig adres mee te geven.

Bepaalde netwerkprotocols functioneren niet langer zoals het hoort, als IP-masquerading ingeschakeld is. Voor enkele veelgebruikte protocols bestaat er daarom extra ondersteuning. Duid hier eventueel Masquerade FTP en/of Masquerade IRC aan als je die extra ondersteuning wil gebruiken.

No-masquerade Addresses

Hier kan je bestemmingsadressen opgeven waarvan je wil dat ze direct, dus zonder het herschrijven van het afzenderadres van pakketjes, geraadpleegd worden. Normaalgezien zal je deze functie zelden nodig hebben, maar het kan in bepaalde exotische omstandigheden nodig zijn (zoals bij pakweg VPN).

In het midden van het venster zie je de lijst van dergelijke adressen die je opgegeven hebt. Je kan een nieuw adres toevoegen met de New Address-knop. Een geselecteerd adres kan je wijzigen in het tekstvak Address:. Om een adres uit de lijst te verwijderen klik je op Delete Address.

5.2 Het tabblad Forwarding

Onder dit tabblad kan je port-forwarding instellen.

Het "Forwarding"-tabblad...

Onder Port forwarding rules zie je een lijstje van de reeds bestaande regels die je opgesteld hebt. Een nieuwe regel maak je aan door op New Rule te klikken. Een geselecteerde regel kan je verwijderen met Delete Rule. Onderaan zie je de details voor een geselecteerde regel, opgedeeld volgens originele en nieuwe bestemming (respectievelijk Original Destination en New Destination).

Original Destination

Bepaal hier welke poort je wil omleggen en verderleiden naar een nieuwe bestemming. Achter Port: geef je aan om welk poortnummer en protocol het gaat. Het protocol is TCP of UDP; het poortnummer ligt tussen 0 en 65535.

De regel wordt pas toegepast als de doelbestemming van een pakket, het poortnummer en het protocol overeenkomen. Normaalgezien is de doelbestemming simpelweg die van de machine waar Guidedog op draait. Je kan echter een ander IP-adres opgeven, zodat Guidedog ook pakketten gaat behandelen die eigenlijk niet voor de huidige machine bestemd waren (maar dan enkel als die pakketjes wél via de Guidedog-machine gerouted worden).

New Destination

Bepaal hier waarheen geforwarde pakketjes omgeleid moeten worden.

Port: duidt hier op de nieuwe bestemmingspoort voor de pakketjes die aan deze regel beantwoorden. Pakketten kunnen omgeleid worden naar de huidige machine, of ook weer naar een ander IP-adres.

Comment:

Je kan elke regel tot slot van een kort commentaar voorzien in het bijbehorende tekstvak. Het enige belang daarvan is een propere organisatie van de regels (wat ongetwijfeld handig kan worden naarmate je regels in aantal toenemen).

5.3 Het tabblad Geavanceerd

Hier kan je Guidedog met twee muisklikken uitschakelen. Verder kan je je huidige Guidedog-configuratie in een bestand opslaan met de knop Export..., eventueel van een beschrijving voorzien. Op dezelfde manier kan je een bestand met instellingen importeren; geïmporteerde instellingen overschrijven de huidige configuratie (maar als dat niet je bedoeling is, zou je het bestand natuurlijk niet moeten importeren...).

6 Licenties en verdiensten

Deze beknopte handleiding is gebaseerd op het handboek van Guidedog zelf, dat je tot nader order kan terugvinden op http://www.simonzone.com/software/guidedog/manual/index.html. Zoals je ongetwijfeld gemerkt hebt, bevat deze gids vooral naar het einde toe behoorlijk wat redundante informatie. De vertaler was echter al halverwege toen hij ook zelf tot die conclusie kwam. :-) Volledigheidshalve staat het er desondanks bij.

Over deze site | Laatst gewijzigd: $Date: 2005/05/03 20:35:41 $ door: $Author: fab $