Hvad betyder NAT?

NAT (Network Address Translation) er en teknik, hvor en router eller gateway omsætter IP-adresser mellem to netværk. Formålet er at lade enheder i et internt netværk kommunikere med det eksterne net ved hjælp af andre (typisk færre) adresser.

I praksis betyder det, at når din enhed sender trafik ud, så “oversætter” NAT din interne adresse til en anden adresse, som det eksterne net kan nå. Når svaret kommer tilbage, bruger NAT registrering af forbindelsen til at oversætte tilbage, så trafikken rammer den rigtige interne enhed.

Et simpelt modelbillede: adresse- og port-oversættelse

NAT kan fungere som en mellemstation, der holder styr på forbindelser. En almindelig måde er at oversætte kombinationen af:

  • intern IP-adresse (din enhed)
  • intern port (hvilken tjeneste/applikation der bruges)

til:

  • ekstern IP-adresse (routerens “udgående” adresse)
  • ekstern port (en port der bruges til at skelne samtidige forbindelser)

Derfor handler NAT ikke kun om adresser, men ofte også om porte, så flere interne enheder kan dele den samme udgående adresse uden at svaretrafikken havner det forkerte sted.

Hvordan NAT typisk bruges (og hvorfor det er udbredt)

NAT bruges ofte i hjemmenet og i virksomheders net til at forbinde et internt netværk med internettet. Det giver flere praktiske fordele i hverdagen, fx at interne enheder kan bruge private IP-adresser, mens routeren udadtil præsenterer en adresse, som kan rutes i det eksterne net.

En vigtig konsekvens er, at NAT skaber en form for “oversættelseslag” mellem klienter og omverdenen. Det betyder, at regler for adgang og routing i praksis bliver påvirket af, hvordan NAT håndterer forbindelser, porte og tider for hvornår en oversættelse stadig er gyldig.

Begrænsninger og beslægtede begreber, du bør kende

Der er flere begrænsninger, der ofte bliver relevante, når man sammenholder NAT med bestemte typer netværksadfærd:

  1. Indgående trafik kan være sværere at etablere Fordi NAT typisk kun har “oversættelsesnøgler”, der opstår, når der først sendes udgående trafik fra det interne net, kan det være vanskeligt for eksterne systemer at sende direkte ind til en intern enhed. Det kan betyde, at tjenester som spil, videostreaming eller særlige klienter kan kræve ekstra opsætning, afhængigt af hvordan de etablerer forbindelser.

  2. Applikationsadfærd og protokoller kan påvirkes Nogle applikationer forventer, at de kan få information om deres egen adresse/port eller at peer-to-peer-kommunikation fungerer “uden mellemliggende oversættelse”. NAT kan forstyrre sådanne antagelser, så der kan opstå problemer som manglende svar, timeouts eller at dele af en forbindelse ikke kan etableres.

  3. Port- og forbindelsesstyring betyder, at der findes en praktisk grænse Når NAT bruger porte til at skelne forbindelser, afhænger robusthed og kapacitet af, hvordan mange samtidige forbindelser der håndteres, og hvordan enheder/routers implementerer oversættelsestabeller og tidsudløb. Hvis oversættelsestabeller fyldes, eller forbindelser udløber for tidligt, kan trafik fejle.

Beslægtede begreber (som ofte dukker op i samme sammenhæng) er bl.a.:

  • Port forwarding: en måde at gøre en intern tjeneste tilgængelig udefra ved at pege en ekstern port mod en intern adresse/port.
  • CGNAT (Carrier-Grade NAT): NAT udført i en tjenesteudbyders net, ikke kun i din egen router; kan give ekstra kompleksitet ved indgående forbindelser.
  • Statefulness: at NAT typisk “husker” forbindelser (tilstand), i modsætning til simpel videresendelse.

Hvad du kan kontrollere i praksis

Hvis NAT skaber problemer, kan du ofte starte med at sammenholde, hvordan din ønskede kommunikation er etableret:

  • Er kommunikationen primært udgående (fra din enhed til omverdenen)? Så fungerer NAT ofte problemfrit.
  • Kræver den en tydelig indgående kontakt til en intern enhed? Så kan det kræve en løsning som port forwarding, og du bør også overveje, om der findes NAT længere oppe i kæden.
  • Oplever du timeouts eller at “noget virker den ene vej men ikke den anden”? Det matcher ofte NAT-relaterede udfordringer med port- eller forbindelseshåndtering.

Hvis du tester, så dokumentér gerne: hvilken enhed, hvilken type tjeneste, hvilken retning forbindelsen har (ind/ud), og hvornår den fejler. Så kan du lettere afgøre, om det er NAT, en firewall-regel, eller selve applikationens forbindelsesmetode, der er årsagen.