NAT (Network Address Translation) uitgelegd
Kort antwoord
NAT (Network Address Translation) laat meerdere servers op een privénetwerk één publiek IP-adres delen. Terwijl verkeer door het apparaat gaat dat de vertaling uitvoert, wordt elk privéadres op weg naar buiten omgewisseld voor het gedeelde publieke IP, en op de terugweg weer teruggewisseld voor het antwoord. De twee richtingen die je het vaakst tegenkomt zijn outbound NAT, waarbij veel privéservers het internet bereiken via één publiek IP, en port forwarding, waarbij een specifieke inkomende poort op een publiek IP wordt doorgezet naar een specifieke privéserver.
Wat NAT precies doet
Een privénetwerk gebruikt adressen die niet routeerbaar zijn op het publieke internet, reeksen zoals 10.0.0.0/8 of 192.168.0.0/16. Die adressen betekenen alleen iets binnen dat netwerk. Wil een server erop het internet bereiken, of vanaf het internet bereikbaar zijn, dan moet iets vertalen tussen het privéadres en een publiek adres. Dat is precies de taak van NAT.
Het apparaat dat de vertaling uitvoert, meestal een router, firewall of gateway, houdt daarbij een vertaaltabel bij. Stuurt een privéserver een pakket naar buiten, dan herschrijft de gateway het bronadres naar zijn eigen publieke IP en legt de koppeling vast. Komt het antwoord terug, geadresseerd aan dat publieke IP, dan zoekt de gateway de tabel op, bepaalt bij welke privéserver het antwoord hoort, en herschrijft het bestemmingsadres voordat het pakket wordt doorgestuurd. De privéserver ziet zijn eigen adres nooit veranderen, en de externe server aan de andere kant ziet het privéadres helemaal nooit, die praat altijd alleen met het publieke adres.
Outbound NAT: veel servers, één publiek IP
Outbound NAT, ook wel source NAT genoemd, is de richting die de meeste mensen standaard bedoelen als ze het over "NAT" hebben. Een groep servers op een privénetwerk deelt één publiek IP voor alles wat ze zelf naar buiten starten: software-updates, API-calls, DNS-lookups, alles waarbij de privéserver de verbinding initieert. De gateway houdt elk van die uitgaande verbindingen apart bij, meestal door ook de bronpoort te herschrijven, zodat antwoorden voor tientallen of honderden gelijktijdige verbindingen allemaal bij hetzelfde publieke IP terugkomen zonder door elkaar te raken.
Daarom laat outbound NAT alleen niet toe dat iets op het internet ongevraagd een privéserver bereikt: er is geen regel die een ongevraagde inkomende verbinding koppelt aan een specifiek privéadres, dus die verbinding heeft nergens heen te gaan en wordt geweigerd.
Port forwarding: een privéserver van buitenaf bereiken
Port forwarding, technisch gezien destination NAT, is de richting die de beperking uit de vorige alinea juist bruikbaar maakt, in plaats van iets om omheen te werken. Het is een regel die zegt: verkeer dat binnenkomt op een specifieke poort van het publieke IP wordt doorgestuurd naar een specifieke privéserver, op een specifieke poort. Al het andere op dat publieke IP blijft gesloten, alleen de poort die je expliciet hebt gekoppeld is bereikbaar.
Zo blijft iets achter NAT toch van buitenaf bereikbaar, zonder dat het een eigen publiek IP krijgt. Een webserver op een privénetwerk kan bijvoorbeeld poort 443 op het publieke IP doorgestuurd krijgen naar poort 443 op zijn privéadres, zodat hij bereikbaar is voor HTTPS, terwijl de rest van het privénetwerk, en de rest van de poorten van die server, van buitenaf onbereikbaar blijft.
| Richting | Ook wel genoemd | Wat het doet | Typisch gebruik |
|---|---|---|---|
| Outbound NAT | Source NAT (SNAT) | Veel privéadressen delen één publiek IP voor verkeer dat ze zelf starten | Servers op een privénetwerk die het internet bereiken voor updates, API's, DNS |
| Port forwarding | Destination NAT (DNAT) | Eén poort op een publiek IP wordt doorgekoppeld naar één privéserver en poort | Een specifieke dienst, zoals een web- of SSH-poort, openstellen op een server die anders geen publiek IP heeft |
NAT-regels lezen in een firewall
Dit onderscheid is in de praktijk belangrijk zodra je de NAT-configuratie van een firewall leest, want de twee richtingen worden meestal apart getoond. In de Worldstream Firewall staat NAT op een eigen tabblad NAT Rules, los van het tabblad Firewall Rules. Zie Firewall basisprincipes in Portal voor hoe je daarmee werkt.
NAT en privénetwerken
NAT is wat een privénetwerk bruikbaar maakt aan de grens met het internet: de servers erachter houden onderling privéadressen, en de gateway is het enige punt waar vertaling naar een publiek adres plaatsvindt. Zie Servers verbinden via een private VLAN voor hoe dat privésegment zelf wordt opgezet, los van hoe het het internet bereikt, of vanaf het internet bereikt wordt. Voor Flexible VPS-instances heet dat privésegment in Portal zelf een Local Network.