NAT (fra engelsk. Network Address Translation - "netværksadresseoversættelse") er en mekanisme i TCP /IP-netværk , der giver dig mulighed for at konvertere IP-adresser på transitpakker . Kaldes også IP Masquerading , Network Masquerading og Native Address Translation .
Adresseoversættelse ved hjælp af NAT-metoden kan udføres af næsten enhver routingenhed - en router [1] , adgangsserver , firewall . Den mest populære er SNAT, hvor essensen af mekanismen er at erstatte kildeadressen ( engelsk kilde ), når pakken passerer i én retning og omvendt erstatte destinationsadressen ( engelsk destination ) i svarpakken. Sammen med kilde-/destinationsadresserne kan kilde- og destinationsportnumrene også erstattes .
Når routeren modtager en pakke fra den lokale computer, ser den på destinations-IP-adressen. Hvis det er en lokal adresse, videresendes pakken til en anden lokal computer. Hvis ikke, så skal pakken sendes ud på internettet. Men når alt kommer til alt, angiver returadressen i pakken den lokale adresse på computeren, som ikke vil være tilgængelig fra internettet. Derfor oversætter (erstatter) routeren "on the fly" pakkens retur-IP-adresse til dens eksterne (synlig fra internettet) IP-adresse og ændrer portnummeret (for at skelne mellem svarpakker adresseret til forskellige lokale computere). Den kombination, der er nødvendig for omvendt substitution, gemmer routeren i sin midlertidige tabel. Nogen tid efter, at klienten og serveren er færdig med at udveksle pakker, vil routeren slette posten om den n'te port i sin tabel for forældelsesfristen.
Ud over kilde-NAT (forsyner brugere af et lokalt netværk med interne adresser for at få adgang til internettet ), bruges destinations-NAT også ofte, når opkald udefra udsendes af en firewall til en brugers computer på et lokalt netværk, der har en intern adresse og er derfor ikke direkte tilgængelig uden for netværket (uden NAT).
Der er 3 grundlæggende begreber for adresseoversættelse: statisk ( Statisk netværksadresseoversættelse ), dynamisk ( dynamisk adresseoversættelse ), maskerade (NAPT, NAT Overload, PAT).
Statisk NAT - Kortlægning af en uregistreret IP-adresse til en registreret IP-adresse på en-til-en-basis. Især nyttig, når enheden skal være tilgængelig uden for netværket.
Dynamisk NAT - Mapper en uregistreret IP-adresse til en registreret adresse fra en gruppe af registrerede IP-adresser. Dynamic NAT etablerer også en direkte mapping mellem uregistrerede og registrerede adresser, men kortlægningen kan ændre sig afhængigt af den registrerede adresse, der er tilgængelig i adressepuljen under kommunikation.
Overbelastet NAT (NAPT, NAT Overload, PAT, masquerading) er en form for dynamisk NAT, der kortlægger flere uregistrerede adresser til en enkelt registreret IP-adresse ved hjælp af forskellige porte. Også kendt som PAT (Port Address Translation). Når den er overbelastet, oversættes hver computer på det private netværk til den samme adresse, men med et andet portnummer.
NAT-mekanismen er defineret i RFC 1631 , RFC 3022 .
En NAT-klassificering, man ofte støder på i forbindelse med VoIP . [2] Udtrykket "forbindelse" bruges i betydningen "seriel udveksling af UDP-pakker".
Symmetrisk NAT (Symmetrisk NAT) - oversættelse, hvor hver forbindelse initieret af parret "intern adresse: intern port" konverteres til et gratis unikt tilfældigt udvalgt par "offentlig adresse: offentlig port". Det er dog ikke muligt at starte en forbindelse fra et offentligt netværk.
Cone NAT, Full Cone NAT - entydig (gensidig) oversættelse mellem parrene "intern adresse: intern port" og "offentlig adresse: offentlig port". Enhver ekstern vært kan starte en forbindelse til en intern vært (hvis det er tilladt i firewallreglerne).
Address-Restricted cone NAT, Restricted cone NAT - permanent oversættelse mellem parret "intern adresse: intern port" og "offentlig adresse: offentlig port". Enhver forbindelse initieret fra en intern adresse gør det muligt for ham at modtage pakker fra enhver port på den offentlige vært, hvortil han tidligere sendte pakken/pakkerne.
Port-Restricted cone NAT - oversættelse mellem parret "intern adresse: intern port" og "public address: public port", hvor indgående pakker går til den interne vært fra kun én port på den offentlige vært - den, som den interne værten har allerede sendt pakken.
NAT udfører tre vigtige funktioner.
Oversættelse af et lokalt netværk med et adresseområde på 172.16.14.0 /24 til det globale netværk vil blive udført via én ekstern IP-adresse (adressen på den router, der udfører oversættelsen).
• Omkostningsfordele ved at købe en enkelt IP-forbindelse i stedet for et IP-netværk.
• Skjul strukturen af det interne IP-netværk for en ekstern observatør.
• Organisering af et system med en fordelt belastning.
• Deling gennem NAT giver transparent adgang til den beskyttede interne struktur uden brug af en firewall osv.
• Mange netværksprotokoller fungerer korrekt gennem NAT. Designimplementeringer (deling er NAT-forbindelsen) der er en hardwareimplementering af NAT (firewalls er integreret).
Betydningen af NAT loopback -teknologi (eller NAT hairpinning ) er enkel: Hvis en pakke kommer fra det interne netværk til routerens eksterne IP-adresse, anses den for at være kommet udefra - hvilket betyder, at firewall-reglerne er relateret til eksterne forbindelser virker. Og hvis pakken passerer gennem firewallen, vil NAT fungere og overtage formidlingen mellem de to intranetmaskiner. Dette giver to ting.
Ulempen ved NAT loopback er den øgede belastning på hub'en og routeren (sammenlignet med direkte adgang til serveren).
NAT-traversal (NAT-traversal eller auto-konfiguration) er et sæt funktioner, der gør det muligt for netværksapplikationer at bestemme, at de står bag en enhed, der leverer NAT, lære den eksterne IP-adresse på denne enhed og udføre portmapping for at videresende pakker fra en ekstern NAT port til en intern port, der bruges af applikationen; alt dette sker automatisk, det er ikke nødvendigt for brugeren at konfigurere porttilknytninger manuelt eller foretage ændringer i andre indstillinger. Der er dog forholdsregler ved at stole på sådanne applikationer - de får omfattende kontrol over enheden, potentielle sårbarheder opstår.
Hvis du allerede har en eksisterende server, der kører et server- OS , er det muligt at organisere adresseoversættelse uden at skulle købe yderligere hardwareenheder. Som regel kræver softwareimplementering af NAT mindst to netværksadaptere i serveren (valgmuligheder med én er mulige, men med et trunk- VLAN ).
Alle eksisterende og brugte serveroperativsystemer understøtter den enkleste adresseoversættelse.
Med hensyn til fejltolerance, fleksibilitet og ydeevne bruges operativsystemer af UNIX -familien (de fleste GNU / Linux, *BSD - systemer samt OpenSolaris osv.). I mange af dem er NAT tilgængelig ud af boksen, i andre kan det implementeres ved at tilføje moduler i kombination med firewalls med adresseoversættelsesfunktioner ( IPFW , IPtables osv.). NAT fungerer også ud af boksen på Windows Server -familien af operativsystemer .