5.1 Inleiding tot NAT

Een ander zeer interessant onderwerp is NAT. NAT staat voor Network Address Translation en is meestal als service in elke router aanwezig. Dus wat is het en waarom is het nodig?

NAT is een punt waarmee lokale netwerken kunnen worden verbonden met wereldwijde netwerken, zoals internet bijvoorbeeld.

Zoals u al weet, hebben alle computers (en andere apparaten die op het netwerk zijn aangesloten) op lokale netwerken hun eigen lokale IP-adressen. En om gegevens uit te wisselen met een server op internet, is het nodig dat onze computer een verzoek naar de server kan sturen en dat de server ons een antwoord kan sturen. En waar moet hij een antwoord naartoe sturen als ons IP-adres buiten ons lokale netwerk onbekend is?

Stel je voor dat je een papieren brief aan Donald Trump schrijft. Trump is een publieke figuur, hij is de enige - dit is onze publieke server. En je geeft Masha aan als retouradres in de brief. Maal veel. Welke Masha moet het antwoord krijgen?

Dus je stuurt een brief naar je kennis in Washington, ook een publiek figuur, met strikte instructies om die naar Trump te sturen. Je vriend ontvangt een brief, stuurt die naar Trump en geeft zijn adres in Washington op als retouradres.

Vervolgens, na ontvangst van een reactie van Trump, stuurt de kennis deze naar jou door. Hetzelfde met IP-pakketten...

Om een ​​apparaat met een privé IPv4-adres toegang te geven tot apparaten en bronnen buiten het lokale netwerk, moet het privé-adres eerst worden gewijzigd in een openbaar openbaar adres.

Alleen NAT vertaalt privéadressen naar openbare adressen. Hierdoor kan een apparaat met een lokaal IP-adres toegang krijgen tot bronnen buiten zijn privénetwerk. NAT, gecombineerd met lokale IP-adressen, is een handige methode gebleken om openbare IPv4-adressen te onderhouden.

Er zijn 8 miljard mensen op de wereld en er zijn al veel meer netwerkapparaten: telefoons, laptops, smartwatches, servers, alle slimme apparaten. En er zijn maar 4 miljard IP-adressen. Vroeger leek het veel, maar met de snelle groei van internet werd het voor iedereen duidelijk dat dit niet genoeg was.

Hier komt NAT te hulp: één openbaar IPv4-adres kan worden gebruikt door honderden, zelfs duizenden apparaten, die elk een lokaal IPv4-adres hebben. NAT heeft als bijkomend voordeel dat het een zekere mate van privacy en veiligheid aan een netwerk toevoegt, omdat het interne IPv4-adressen verbergt voor externe netwerken.

5.2 Subnetten in NAT

LAN's zijn meestal ontworpen met privé-IP-adressen. Dit zijn adressen van particuliere subnetten 10.0.0.0/8en 172.16.0.0/12. 192.168.0.0/16Deze IP-adressen worden intern door een organisatie of site gebruikt om apparaten lokaal te laten communiceren, ze zijn niet routeerbaar op internet.

NAT-compatibele routers kunnen worden geconfigureerd met een of meer geldige openbare IPv4-adressen. Deze openbare adressen worden een NAT-pool genoemd.

Wanneer een apparaat op het interne netwerk verkeer van het netwerk naar buiten stuurt, vertaalt de NAT-compatibele router het interne IP-adres van het apparaat naar het openbare IP-adres van de NAT-pool. Voor externe apparaten lijkt al het verkeer in en uit het netwerk een openbaar IP-adres te hebben.

Een NAT-router werkt meestal aan de rand van een Stub-netwerk. Een stub-netwerk is een term uit de netwerktheorie: een stub-netwerk dat één aansluiting heeft op een naburig netwerk, één in- en uitgang van het netwerk.

Wanneer een apparaat binnen het Stub-netwerk wil communiceren met een apparaat buiten zijn netwerk, wordt het pakket doorgestuurd naar de router en voert het een NAT-proces uit, waarbij het interne privé-adres van het apparaat wordt vertaald naar een openbaar, extern, routeerbaar adres.

5.3 NAT-terminologie

Als je je verdiept in de theorie van netwerken, dan is NAT een intern netwerk, wat een set subnetten is die moet worden vertaald. Het externe netwerk verwijst naar alle andere netwerken.

Bij gebruik van NAT hebben IP-adressen verschillende aanduidingen op basis van of ze zich op een particulier netwerk of op een openbaar netwerk (op internet) bevinden en of het verkeer inkomend of uitgaand is.

NAT omvat vier soorten adressen:

  • Intern lokaal adres (Binnen lokaal adres);
  • Intern globaal adres (Inside globaal adres);
  • Buiten lokaal adres ;
  • Extern globaal adres (buiten globaal adres);

Bij het bepalen welk type adres wordt gebruikt, is het belangrijk om te onthouden dat NAT-terminologie altijd wordt toegepast vanuit het oogpunt van het apparaat met het vertaalde adres:

  • Intern adres (Inside-adres) - adres van het apparaat dat wordt vertaald door NAT;
  • Buitenadres - bestemmingsapparaatadres;
  • Een lokaal adres is elk adres dat intern op het netwerk verschijnt;
  • Een wereldwijd adres is elk adres dat buiten het netwerk verschijnt.

Laten we dit eens bekijken met een diagramvoorbeeld.

De computer in de afbeelding links heeft een intern lokaal ( Inside local ) adres 192.168.1.5, en vanuit zijn gezichtspunt heeft de webserver een extern ( extern ) adres 208.141.17.4. Wanneer datapakketten van de computer naar het globale adres van de webserver worden verzonden, wordt het interne lokale ( Inside local ) adres van de pc vertaald naar 208.141.16.5( inside global ). Het adres van het externe apparaat wordt meestal niet vertaald omdat het een openbaar IPv4-adres is.

Het is vermeldenswaard dat een computer als het ware twee adressen heeft: lokale en globale adressen, terwijl een webserver hetzelfde openbare IP-adres heeft. Vanuit zijn oogpunt is het verkeer dat afkomstig is van de computer afkomstig van het interne globale adres 208.141.16.5. Een NAT-router is het scheidingspunt tussen interne en externe netwerken en tussen lokale en globale adressen.

De termen binnen en buiten worden gecombineerd met de termen lokaal en globaal om naar specifieke adressen te verwijzen. In de afbeelding is de router geconfigureerd om NAT te bieden en heeft hij een pool van openbare adressen om toe te wijzen aan interne hosts.

5.4 Pakketpad

Als je al moe bent, ga dan naar de volgende lezing. Als je nog steeds geïnteresseerd bent, welkom verderop in het wormgat.

De onderstaande afbeelding laat zien hoe verkeer van een interne computer naar een externe webserver wordt gestuurd via een NAT-compatibele router, verzonden en teruggestuurd.

Subnetten in NAT 3
router NAT-tabel
PC web Server
In de Global Binnen lokaal buiten lokaal Buiten Globaal
208.141.17.4 192.168.1.5 208.141.16.5 208.141.16.5

Binnen lokaal adres - Het bronadres gezien vanuit het interne netwerk. In de afbeelding is het adres 192.168.1.5toegewezen aan de computer - dit is het interne lokale adres.

Intern globaal adres - Het bronadres zoals gezien vanaf het externe netwerk. In de afbeelding, wanneer verkeer van de computer naar de webserver op wordt verzonden 208.141.17.4, vertaalt de router het interne lokale adres (lokaal adres) naar het interne globale adres (Inside global address). In dit geval verandert de router het IPv4- bronadres van 192.168.1.5in 208.141.16.5.

Extern globaal adres - het adres van de bestemming gezien vanaf het externe netwerk. Dit is een wereldwijd routeerbaar IP-adres dat is toegewezen aan een host op internet. In het diagram is de webserver beschikbaar op 208.141.17.4. Meestal zijn externe lokale en externe globale adressen hetzelfde.

Extern lokaal adres - Het adres van de ontvanger gezien vanaf het interne netwerk. In dit voorbeeld stuurt de computer verkeer naar de webserver op208.141.17.4

Laten we nu eens kijken naar het volledige pakketpad. De computer met het adres 192.168.1.5probeert te communiceren met de webserver 208.141.17.4. Wanneer een pakket aankomt bij een NAT-compatibele router, leest het het bestemmings-IP-adres van het pakket om te bepalen of het pakket voldoet aan de criteria die zijn gespecificeerd voor vertaling. In dit voorbeeld komt het bronadres overeen met de criteria en wordt het vertaald van 192.168.1.5(Inside local address) naar 208.141.16.5(Inside global address).

De router voegt deze lokale-naar-globale adrestoewijzing toe aan de NAT-tabel en stuurt het pakket met het vertaalde bronadres naar de bestemming. De webserver antwoordt met een pakket geadresseerd aan het interne globale adres van de pc ( 208.141.16.5).

De router ontvangt een pakket met een bestemmingsadres 208.141.16.5en controleert de NAT-tabel op een ingang voor die mapping. Het gebruikt deze informatie en vertaalt het interne globale adres ( 208.141.16.5) terug naar het interne lokale adres ( 192.168.1.5), het pakket wordt omgeleid naar de pc.

5.5 Voor- en nadelen van NAT

De NAT-service is een zeer krachtige oplossing die overal wordt gebruikt. NAT biedt vele voordelen , waaronder:

  • NAT onderhoudt een geregistreerd adresseringsschema, wat zorgt voor een flexibele LAN-werking. Met NAT kunnen interne hosts één openbaar IP-adres delen voor alle externe communicatie. Dit type configuratie vereist zeer weinig externe adressen om veel interne hosts te ondersteunen.
  • NAT vergroot de flexibiliteit van internetverbindingen. Er kunnen meerdere pools, back-uppools en taakverdelingspools worden geïmplementeerd om betrouwbare openbare netwerkverbindingen te bieden.
  • NAT biedt consistentie voor de interne adresseringsschema's van het netwerk. Op een netwerk dat geen privé-IP-adressen en NAT gebruikt, vereist het wijzigen van het algemene IP-adresschema dat alle hosts op het bestaande netwerk worden omgeleid. De kosten van hostforwarding kunnen aanzienlijk zijn. Met NAT kan het bestaande IPv4-schema voor privé-adressering behouden blijven, terwijl het nieuwe schema voor openbare adressering eenvoudig kan worden gewijzigd. Dit betekent dat een organisatie van provider kan veranderen en geen van haar interne klanten hoeft te wijzigen.
  • NAT biedt netwerkbeveiliging . Omdat particuliere netwerken hun adressen of interne topologie niet bekendmaken, blijven ze redelijk betrouwbaar wanneer ze worden gebruikt in combinatie met NAT om gecontroleerde externe toegang te krijgen. U moet echter begrijpen dat NAT firewalls niet vervangt.

Maar NAT heeft enkele nadelen . Het feit dat hosts op internet rechtstreeks lijken te praten met een NAT-apparaat in plaats van met een daadwerkelijke host binnen het privénetwerk, zorgt voor een aantal problemen:

  • Een van de nadelen van het gebruik van NAT heeft te maken met netwerkprestaties, vooral voor real-time protocollen zoals VoIP. NAT vergroot de schakelvertragingen omdat de vertaling van elk IP-adres in de pakketheaders tijd kost.
  • Een ander nadeel van het gebruik van NAT is dat end-to-end adressering verloren gaat. Veel internetprotocollen en -toepassingen zijn afhankelijk van end-to-end-adressering van bron tot bestemming. Sommige toepassingen werken niet met NAT. Toepassingen die fysieke adressen gebruiken in plaats van een gekwalificeerde domeinnaam, bereiken geen bestemmingen die worden vertaald via een NAT-router. Dit kan soms worden vermeden door statische NAT-toewijzingen te implementeren.
  • End-to-end IPv4-tracering gaat ook verloren. Het is moeilijker om pakketten te traceren die meerdere pakketadreswijzigingen ondergaan over meerdere NAT-hops, wat het oplossen van problemen bemoeilijkt.
  • Het gebruik van NAT maakt ook tunnelingprotocollen zoals IPsec moeilijk omdat NAT waarden in headers verandert die de integriteitscontroles van IPsec en andere tunnelingprotocollen verstoren.
  • Services waarvoor TCP-verbindingen vanaf het externe netwerk moeten worden geïnitieerd, of stateless protocollen zoals die met UDP, kunnen worden verbroken. Als de NAT-router niet is geconfigureerd om deze protocollen te ondersteunen, kunnen inkomende pakketten hun bestemming niet bereiken.