NAT – Wozu dient die Übersetzung von Netzwerkadressen?

An NAT führt kein Weg vorbei, um sich von Ihrem PC im Home Office oder auch im Büro mit dem Internet verbinden möchten. Wir gehen hier darauf ein, was hinter dem Verfahren steckt und wie es Anwendung findet. Erfahren Sie außerdem, welche Probleme hiermit verbunden sind und warum es sich um ein Auslaufmodell handelt.

Was ist NAT?

NAT bezeichnet das Übersetzen von Netzwerkadressen (Network Address Translation). Es ist eines der wichtigsten Verfahren, wenn es um die Verbindung eines lokalen Netzwerks mit dem Internet geht. Diese Übersetzung von privaten in öffentliche IP-Adressen erfolgt im Router, welche alle ausgehende Datenpakete eines Netzwerkes an das Internet leitet.

Warum braucht man NAT?

Das Verfahren zur Netzwerkadressübersetzung wurde bereits in den 1990er Jahren entwickelt und ist im RFC 1631 beschrieben. Es dient hauptsächlich dazu, der IPv4-Adressknappheit entgegenzuwirken. In Zeiten einer stets wachsenden Zahl von mit dem Internet verbundenen Geräten ist es offensichtlich, dass die zur Verfügung stehenden (2^32 = 4.294.967.296) Kombinationen für IPv4-Adressen langsam knapp werden.

Mittlerweile ist mit IPv6 eine langfristige Alternative geschaffen. Die kurzfristige Lösung damals lautete NAT. Das Verfahren sollte das Zusammenfassen von Einzelgeräten in lokale Netzwerke, die sich hinter einer gemeinsamen IP-Adresse befinden, ermöglichen.

Was ist der Unterschied zwischen privaten und öffentlichen IP-Adressen?

Der Ansatz, mehrere Geräte in ein Netz zusammenzufassen, führt zu einer Unterscheidung zwischen privaten und öffentlichen IP-Adressen. Veranschaulichen lässt sich dies am Beispiel einer Straße: Mehrere Apartments können dieselbe Nummer haben, solange die öffentlichen Hausnummern der Gebäude nicht identisch sind. Gleichermaßen können beliebig viele Computer dieselbe (private) IP-Adresse benutzen. Einzige Voraussetzung hierfür ist, dass diese sich jeweils in anderen Netzwerken mit eigenen, eindeutigen, öffentlichen IP-Adresse befinden.

Probleme von NAT

Source NAT & Destination NAT

Sendet ein Computer ein Datenpaket, dann wird seine private IP-Adresse in die öffentliche, global einzigartige des Routers übersetzt. Dieser Vorgang wird als Source NAT bezeichnet (SNAT), weil die Adresse der Quelle (Source) umgeschrieben wird.

Problematisch bei diesem Vorgang ist der Erhalt einer Antwort, da die Adressinformationen des Senders verändert wurden. Der Empfänger erhält nur die IP-Adresse des gesamten Netzwerks. Daher ist unklar, wohin ein Antwort-Paket innerhalb des Netzwerks gehen soll.

Vergleichbar ist dieser Vorgang mit einem Kundenanruf durch einen Callcenter-Agenten. Wird lediglich die Rufnummer der Callcenter-Zentrale angezeigt, dann hat der Kunde keine Kenntnis der direkten Durchwahl des Agenten. Das hindert daran, den Agenten direkt zurückrufen. Das kann ein Vorteil für Unternehmen sein, um die eigene Netzwerksicherheit zu erhöhen, indem die IP-Adressen ihres Netzwerkes vor öffentlichen Netzen verborgen werden.

Ethernet - Ports

Was, wenn es erforderlich wird, als Antwort eingehende Datenpakete wieder dem richtigen Netzwerkgerät zuzuordnen? Hier kommt Destination NAT (DNAT) ins Spiel. Der Router greift hierbei auf eine sogenannte NAT-Tabelle zu. Alle Systeme mit NAT-Funktion speichern in dieser Tabelle Informationen über sich selbst, wie z.B. ihre IP-Adressen und Ports.

So wird eine korrekte Zusendung einer möglichen Rückantwort gewährleistet. Um hier keine Sicherheitslücke entstehen zu lassen, steht für eine Antwort nur ein begrenzter Zeitrahmen (Time-out) zur Verfügung. Nach dessen Ablauf wird aller eingehende Verkehr blockiert.

Warum ist NAT problematisch?

Die Verbindungsdetails für Systeme innerhalb eines LAN werden abhängig von Router und Anzahl der Nutzer nur kurzfristig gespeichert. Dabei können lediglich so viele Verbindungen gehalten werden, wie es Ports gibt. Das bedeutet, dass mit dem Ablauf der NAT-Session auch die Information über die Verbindung und damit das Paket verloren geht.

Warum benötige ich NAT?

Das für das Abrufen von Websites genutzte HTTP-Protokoll ist grundsätzlich wenig störungsanfällig. Das macht das Versenden von E-Mails oder das Surfen im Netz weitgehend unproblematisch. Der Webserver schickt seine Antworten schlicht an den Browser zurück und nutzt dabei dieselben Ports wie für die Anfrage. Doch die IP-Telefonie wird hierbei jedoch vor eine große Herausforderung gestellt.

NAT und IP-Telefonie

NAT stellt für die internetbasierte Telefonie ein Problem dar, da VoIP maßgeblich zwei Protokolle benötigt, damit ein Anruf zustande kommt. Zum einen müssen die Audio-Ströme geroutet werden – dies geschieht mit dem RTP-Protokoll direkt. Zum anderen regelt das SIP-Protokoll die grundsätzlichen Verbindungsmodalitäten zwischen Clients. SIP und RTP nutzen dabei jedoch verschiedene Ports.

Die meisten Router lassen ausgehende Pakete durch, blocken jedoch eingehende Informationen. Das kann dazu führen, dass der Anrufer zwar ein Gespräch aufbauen kann und der Angerufene ihn hört, aber nicht andersherum. Der Grund: SIP kann zwar die Verbindung aufbauen, aber das eingehende Audio (per RTP) wird vom Router abgewiesen.

Einer der einfachsten Wege, diese Probleme zu umgehen ist eine Portweiterleitung. Eingehende Datenpakete, die auf einem bestimmten Port des Routers eintreffen, werden dabei automatisch an einen bestimmten Computer innerhalb des Netzwerks geleitet. SIP verwendet hier standardmäßig 5060.

Das erfordert jedoch auch das Implementieren von zusätzlichen Sicherheits-Features, wie einer Application-Firewall. NAT kann also für viele VoIP-Anwender ein Hindernis werden. Mithilfe des Session Border Controllers (SBC) umgeht 3CX diese Problematik, ohne dafür in der Sicherheit Ihrer Telefonanlage Einbußen zu machen.

Weiterführende Informationen