Netwerkadresvertaling (NAT) uitgelegd voor het IoT

De meeste apparaten ter wereld die met het internet zijn verbonden, hebben geen eigen openbaar IP-adres. Ze bevinden zich in een privénetwerk, delen één openbaar IP-adres en zijn afhankelijk van een router om tussen beide te vertalen. Die router zorgt ervoor dat NAT: Network Address Translation. In dit artikel wordt uitgelegd wat NAT doet, waarom het overal wordt gebruikt en wat dit betekent voor je Simbase-simkaart.

Wat NAT doet

Een NAT-gateway bevindt zich tussen een privénetwerk en het openbare internet. Zijn taak is het herschrijven van IP-adressen in pakketten, zodat:

  • Uitgaand verkeer vanaf een privéapparaat lijkt het alsof het afkomstig is van het openbare IP-adres van de gateway.

  • Terugkerend verkeer van het internet naar de gateway wordt doorgestuurd naar het juiste privéapparaat.

Een beknopte uitleg:

  1. Je laptop (privé-IP 192.168.1.10) stuurt een verzoek naar een webserver.

  2. Het pakket verlaat je laptop met bron 192.168.1.10 en bestemming 93.184.216.34 (de server).

  3. De router of NAT-gateway onderschept het pakket. Hij vervangt het bronadres door zijn eigen openbare IP-adres (bijvoorbeeld 203.0.113.5), zo blijkt uit de kaart (192.168.1.10:55124) ↔ (203.0.113.5:62001) in zijn NAT-tabel, en stuurt het door.

  4. De server antwoordt op 203.0.113.5:62001.

  5. De router raadpleegt de NAT-tabel en ziet dat dit overeenkomt met 192.168.1.10:55124, schrijft de bestemming opnieuw en stuurt het antwoord door naar je laptop.

Je laptop had geen idee dat hij achter NAT zat. De webserver wist niet eens dat er een privénetwerk bestond.

Waarom NAT bestaat

Drie redenen:

  1. Beperking van het gebruik van IPv4-adressen. Er zijn ongeveer 4,3 miljard IPv4-adressen, maar er zijn veel meer apparaten. Dankzij NAT kunnen duizenden apparaten één adres delen.

  2. Ingebouwde firewall. Apparaten achter NAT zijn niet rechtstreeks bereikbaar via het internet. Pakketten die naar de gateway worden verzonden en waarvoor geen overeenkomende vermelding in de NAT-tabel bestaat, worden afgewezen. Dit is een strenge standaardbeveiligingsmaatregel.

  3. Netwerkonafhankelijkheid. Elk privénetwerk kan dezelfde adresruimte gebruiken (192.168.x.x) zonder met iemand anders af te stemmen.

De nadelen van NAT

  • Inkomende verbindingen worden standaard geblokkeerd. Als iets op het internet contact wil maken met je apparaat, kan het dat contact niet zelf tot stand brengen. Er bestaan weliswaar alternatieve oplossingen (poortdoorsturing, NAT-traversal, hole-punching), maar die zijn ingewikkeld en onbetrouwbaar.

  • Sommige protocollen hebben het moeilijk. Alles wat IP-adressen in de payload van de applicatie insluit (oudere VoIP-systemen, FTP in actieve modus, sommige VPN-protocollen) werkt niet onder NAT, tenzij de gateway over specifieke hulpprogramma’s beschikt.

  • Het bijhouden van verbindingen kent zijn beperkingen. Apparaten met een zeer hoge doorvoercapaciteit kunnen de NAT-tabel op kleine gateways volledig vullen.

  • Hout kappen is moeilijker. Vanuit het perspectief van het internet lijken al je apparaten één IP-adres te hebben, dus om het verkeer aan een specifiek apparaat toe te wijzen, heb je de logbestanden van de NAT-gateway nodig.

NAT- en Simbase-simkaarten

Standaard, Elke Simbase-SIM bevindt zich achter een NAT-gateway bij de Simbase-mobiele kern. Dit betekent:

  • De simkaart kan uitgaande communicatie starten verbindingen met je API’s, MQTT-brokers, webservers en alles wat op het internet te vinden is.

  • De SIM-kaart kan inkomend verkeer niet accepteren verbindingen. Uw servers kunnen niet rechtstreeks een verbinding met de SIM tot stand brengen.

  • De SIM-kaart krijgt een privé-IP dat is niet zichtbaar via het internet.

Voor typische IoT-toepassingen (een apparaat dat een server opvraagt of gegevens verstuurt via MQTT of HTTP) is dit precies wat je zoekt. Het is veilig, het is eenvoudig en het kost niets extra.

Wanneer NAT een probleem wordt

NAT zit je in de weg wanneer je het nodig hebt het apparaat van buitenaf bereiken:

  • SSH op afstand naar een router of gateway

  • Gebruikersinterface voor configuratie op afstand op een apparaat dat in gebruik is

  • Door de server geïnitieerd naar het apparaat verzenden (bijvoorbeeld: „ontwaak en rapporteer”)

  • Een dienst organiseren op het apparaat (webserver, RTSP-camerabeeld)

  • Site-to-site VPN beëindigd op het apparaat

Voor elk van deze gevallen moet je de NAT voor die simkaart omzeilen. Simbase doet dit door een Openbaar IP-adres, waarbij het verkeer wordt geleid via een speciale gateway met een routeerbaar adres.

Zie Openbare IP-adressen voor de stappen.

NAT versus CGNAT

Het kan zijn dat je ziet CGNAT (Carrier-Grade NAT) in discussies over mobiele netwerken. CGNAT is NAT die op het niveau van de provider wordt uitgevoerd. Je provider past NAT toe achter hun openbare IP-adres voordat je verkeer het internet bereikt. De meeste mobiele netwerken voor consumenten maken gebruik van CGNAT. Vanuit het perspectief van het apparaat is het identiek aan gewone NAT.

SIM-kaarten zonder openbaar IP-adres worden via NAT omgezet op de Simbase-gateway. Het effect is hetzelfde als bij CGNAT op een mobiel netwerk voor consumenten: een privé-IP-adres op het apparaat, een gedeeld openbaar adres dat naar het internet is gericht, en geen inkomende verbindingen.

Veelgestelde vragen

Nee. Voor poortdoorsturing is beheersing van de NAT-gateway vereist. De NAT-gateway van Simbase wordt gedeeld en kan niet door de gebruiker worden geconfigureerd. Als u inkomend verkeer op specifieke poorten nodig hebt, wijs dan een openbaar IP-adres toe en maak gebruik van de firewallregels van die gateway.

Nee. MQTT is een langdurige uitgaande verbinding. De client opent deze, de broker houdt deze open en berichten worden via die ene verbinding in beide richtingen verzonden. NAT kan dit prima aan.

Nee, ze worden geïsoleerd door de NAT-gateway. Ze kunnen communiceren via een openbare server (of VPN) die beide uitgaand kunnen bereiken.

Indirect. Simbase wijst bij het verbinden via DHCP IP-adressen toe, waardoor de SIM elke keer een ander privé-IP-adres kan krijgen. NAT regelt dit op transparante wijze voor uitgaande verbindingen. Als je een vast adres nodig hebt, wijs dan een Openbaar IP-adres voor een routeerbaar statisch adres, of gebruik een privé-netwerk voor statische toewijzing binnen je eigen subnet.

Gerelateerd

Netwerkadresvertaling (NAT) uitgelegd voor het IoT