Tutorial zum Überladen von Netzwerkadressenübersetzungen (NAT).
In den ersten zwei Jahrzehnten des Internets stellten die Computer in einem privaten Netzwerk eine Verbindung zum Internet her, indem sie jedem von ihnen eine eindeutige öffentliche IP-Adresse zuwiesen und dann jedem Computer im privaten Netzwerk die IP-Adresse des Standard-Gateways mitteilten. Alle in diesem Setup verwendeten IP-Adressen waren öffentliche IP-Adressen. Dieses klassische Setup weist mindestens zwei große Probleme auf:
- Sicherheitslücke:Da IP-Adressen öffentlich sind, kann sich jeder problemlos Zugang zum sogenannten privaten Netzwerk verschaffen.
- Erschöpfung der IP-Adresse:Da das Internet größer und schneller wurde, als sich irgendjemand vorstellen konnte, gingen die IP-Adressen sehr schnell zur Neige.
Um diese Probleme zu lösen, wurde unter anderem eine Technik namens Network Address Translation (NAT) eingeführt. Network Address Translation ermöglicht Hosts in einem lokalen Netzwerk (LAN) die nahtlose Kommunikation mit Hosts in einem externen Netzwerk und umgekehrt. Es ermöglicht die Zuordnung von IP-Adressen von einem Adressbereich zu einem anderen. Mit NAT können mehrere private Netzwerkgeräte eine einzige öffentliche IPv4-Adresse teilen, um mit anderen Geräten im öffentlichen Netzwerk zu kommunizieren.
Die Notwendigkeit einer IP-Adressübersetzung entsteht, wenn die internen privaten IP-Adressen eines Netzwerks nicht außerhalb des Netzwerks verwendet werden können, hauptsächlich weil sie für den privaten Gebrauch zugewiesen und daher für die externe Kommunikation ungeeignet sind. Das Hauptziel von NAT bestand ebenso wie Classless Inter-Domain Routing (CIDR) und Variable Length Subnet Mask (VLSM) darin, die Erschöpfung des verfügbaren IP-Adressraums zu verlangsamen, indem viele private IP-Adressen durch eine kleinere Anzahl öffentlicher IP-Adressen dargestellt werden konnten . NAT ist auch in Situationen sehr nützlich, in denen eine Organisation zu einem neuen Internetdienstanbieter (ISP) wechselt und ihr internes Adressschema weiterhin beibehalten möchte, oder wenn zwei Unternehmen mit identischen internen Adressschemata fusionieren. Die folgende Tabelle zeigt die Vor- und Nachteile der Verwendung von NAT.
Vorteile | Nachteile |
Behält öffentliche IPv4-IP-Adressen bei | Die Übersetzung von IP-Adressen führt zu Verzögerungen beim Umschalten der Pfade |
Erhöht die Flexibilität bei der Verbindung mit dem Internet | Bestimmte Anwendungen funktionieren nicht NAT aktiviert |
Eliminiert die Umnummerierung von Adressen als Netzwerkänderungen und reduziert das Auftreten von Adressüberschneidungen | Verlust der durchgängigen IP-Verfolgbarkeit |
Verbessert die Sicherheit und trägt zur Wahrung der Privatsphäre des LAN bei | Untergräbt das End-to-End-Prinzip des Internetdesigns und stellt daher ein Problem für Internetanwendungen dar, die auf der Grundlage dieses Prinzips entwickelt werden. |
Arten der NAT-Implementierung
NAT kann auf vier verschiedene Arten implementiert werden:
Statisches NAT : Diese Art der NAT-Implementierung soll eine Eins-zu-Eins-Zuordnung interner privater IP-Adressen zu externen öffentlichen IP-Adressen ermöglichen. Mit anderen Worten: Beim Durchlaufen eines Routers ändert sich die interne IP-Adresse des Computers von 192.168.4.2 auf 197.210.84.100 und umgekehrt. Bedenken Sie jedoch, dass das statische NAT erfordert, dass Sie für jeden Host in Ihrem Netzwerk eine öffentliche IP-Adresse haben.
Dynamisches NAT : Diese Art der NAT-Implementierung dient dazu, eine interne private IP-Adresse einer externen öffentlichen IP-Adresse aus einem Pool öffentlicher IP-Adressen zuzuordnen. Sie müssen Ihren Router nicht statisch konfigurieren, um eine interne Adresse einer externen Adresse zuzuordnen, wie Sie es mit statischem NAT tun würden. Allerdings erfordert dynamisches NAT, dass Sie über genügend öffentliche IP-Adressen für jeden Host verfügen, der mit der Außenwelt kommunizieren möchte; Andernfalls wird die Anzahl der Hosts, die gleichzeitig mit der Außenwelt kommunizieren können, durch die Anzahl der verfügbaren öffentlichen IP-Adressen begrenzt.
Port-Weiterleitung : Portweiterleitung ist eine Implementierung von NAT, die eine Kommunikationsanfrage von einer Kombination aus Adresse und Portnummer an eine andere weiterleitet, während die Pakete ein Netzwerk-Gateway wie einen Router oder eine Firewall passieren. Diese Technik wird am häufigsten verwendet, um Anwendungsdienste, die auf einem Host in einem privaten Netzwerk ausgeführt werden, Hosts in einem öffentlichen Netzwerk wie dem Internet zur Verfügung zu stellen. So wie ein Gerät eine IP benötigt, um in einem Netzwerk identifiziert zu werden, müssen auch auf dem Gerät ausgeführte Dienste wie SMTP oder FTP identifiziert werden, um eine externe Kommunikation zu ermöglichen. Portnummern helfen bei der Identifizierung dieser Dienste, und Portweiterleitung ist die Technik, die den Dienst für Hosts in einem öffentlichen Netzwerk verfügbar macht. Wann immer ein Dienst kommunizieren muss, hilft die Portnummer dabei, das richtige Ziel/die richtige Quelle auf dem Gerät zu identifizieren und eine angemessene Datenübertragung zu ermöglichen
NAT-Überlastung : NAT Overloading, auch bekannt als Port Address Translation (PAT), dient dazu, mehrere private IP-Adressen einer einzelnen öffentlichen IP-Adresse (viele-zu-eins) zuzuordnen, indem verschiedene Ports verwendet werden. Mit anderen Worten: Eine einzelne öffentliche IP-Adresse kann für mehrere interne private IP-Adressen verwendet werden, daher der Begriff Überlastung. Interessanterweise ist dies die vorherrschende und die Standardform der NAT-Implementierung in heutigen Netzwerken. Warum ist dies so vorherrschend? Die Antwort ist einfach: Durch die Verwendung von NAT-Überlastung können Tausende von Benutzern mit nur einer echten öffentlichen IP-Adresse eine Verbindung zum Internet herstellen. Die NAT-Überlastung ist einer der Hauptgründe dafür, dass der IPv4-Adressraum so lange Bestand hat. Wir erklären Ihnen im Detail, wie NAT-Überlastung funktioniert und wie Sie sie auf Ihrem Cisco-Router konfigurieren können.
So funktioniert NAT-Überlastung
Durch NAT-Überlastung können mehrere Geräte in einem LAN gleichzeitig dieselbe öffentliche IP-Adresse verwenden, um mit der Außenwelt zu kommunizieren. Typischerweise wird die Quell-IP-Adresse von Paketen, die vom privaten Netzwerk (LAN) zum öffentlichen Netzwerk (Internet) übertragen werden, geändert, während die Zieladresse von Paketen, die vom öffentlichen Netzwerk zurück zum privaten Netzwerk übertragen werden, geändert wird.
Da private IP-Adressen im Internet nicht geroutet werden können, besteht die einzige Möglichkeit für Client-Geräte in einem LAN, mit der Außenwelt zu kommunizieren, darin, sie auf einen Router mit einer öffentlichen IP-Adresse zu verweisen und dem Router die Vermittlung zwischen ihnen und dem öffentlichen Netzwerk zu ermöglichen. Bei der NAT-Überlastung erreicht der Router diese Vermittlung, indem er die privaten IP-Adressen und Portnummern der Client-Geräte durch seine eigene öffentliche IP-Adresse und verfügbare Portnummer austauscht. Diese Technik funktioniert hauptsächlich, indem sie die TCP- und UDP-Portnummern nutzt. Während der Datenverkehr vom LAN ins Internet gelangt, wird die Quelladresse in jedem Paket automatisch von einer privaten Adresse in eine öffentliche Adresse übersetzt. Für Server im Internet erscheint dies als primäre Quelle des Datenpakets. Der Router verfolgt die Zieladresse und Portnummer jeder aktiven Verbindung anhand der Einträge in der NAT-Tabelle. Wenn der Router eine Antwort empfängt, verwendet er die Verbindungsverfolgungsdaten, die er während der Ausgangsphase in der NAT-Tabelle erfasst hat, um die private IP-Adresse im LAN zu bestimmen, an die die Antwort weitergeleitet werden soll. Hier ist eine Illustration zur weiteren Verdeutlichung:
Stellen Sie sich ein LAN mit der Netzwerk-ID 192.168.4.0/26 und dem nutzbaren Hostbereich 192.168.4.1–192.168.4.63 sowie einem Standard-Gateway-Router vor, dem die private IP-Adresse 192.168.4.1 und die öffentliche IP-Adresse 197.210.84.100 zugewiesen sind. Wenn nun ein Computer im LAN mit der Außenwelt kommunizieren möchte, passiert Folgendes:
Nehmen wir an, ein Computer mit der internen IP-Adresse 192.168.4.2 und der Portnummer 1030 möchte einige Daten von einem Internetserver mit der öffentlichen IP 98.137.246.6 an Port 443 herunterladen. Der Computer leitet diese Download-Anfrage mit folgenden Informationen an den Router weiter: Das Clientgerät 192.168.4.2 möchte auf Port 1030 eine Verbindung zum Internetserver 98.137.246.6 auf Port 443 aufbauen. Um diese Anfrage zu verarbeiten, muss der Router die Quell-IP-Adresse und Portnummer des LAN-Geräts durch seine eigene IP ersetzen Adresse und die entsprechende oder verfügbare Portnummer. Somit wird 192.168.4.2:1030 in 197.210.84.100:2040 übersetzt, wie in Abbildung 6.0 oben dargestellt. Alle relevanten Informationen werden in der NAT-Tabelle auf dem Router gespeichert, wie im Diagramm dargestellt
TCP | 192.168.4.2:1030 | 197.210.84.100:1030 | 98.137.246.6:443 |
Sobald der Internetserver die Anfrage erhält, antwortet er mit dem angeforderten Datenpaket, das dann basierend auf den Verbindungsinformationen in der NAT-Tabelle über den Router an das anfragende Gerät weitergeleitet wird. Zusätzlich zu den IP-Adressen und Portnummern erfasst der Router auch den mit jeder Verbindung verbundenen Leerlauf-Timeout in der NAT-Tabelle. Immer wenn neuer Datenverkehr für einen Client empfangen wird, wird dessen Zeitüberschreitung zurückgesetzt. Nach Ablauf des Timeouts wird der Eintrag aus der NAT-Tabelle gelöscht. Dadurch wird sichergestellt, dass die NAT-Tabelle auf einer angemessenen Größe gehalten wird und Ports bei Inaktivität nicht ständig geöffnet bleiben und zum Einfallstor für Cyberangriffe werden.
So konfigurieren Sie die NAT-Überlastung auf einem Cisco-Router
Um die NAT-Überlastung auf einem Cisco-Router zu konfigurieren, sind die folgenden Schritte erforderlich:
- Konfigurieren Sie die interne Schnittstelle des Routers mit ip nat drinnen Befehl
- Konfigurieren Sie die externe Schnittstelle des Routers mit IP-NAT draußen Befehl
- Konfigurieren Zugangsliste Dazu gehört eine Liste der internen Quelladressen, die übersetzt werden müssen
Aktivieren Sie die NAT-Überlastung mit dem IP-NAT in der Quellliste ACL_NUMBER-Schnittstellentyp-Überlastung globaler Konfigurationsbefehl
Definieren Sie die interne Schnittstelle am Router | Router(config)#int fa0/0 |
Konfigurieren Sie den Router mit dem NAT in einem Befehl | Router(config-if)#ip nat im Inneren |
Definieren Sie die externe Schnittstelle am Router | Router(config-if)#int s0/1 |
Konfigurieren Sie den Router mit dem NAT-Außenbefehl | Router(config-if)#ip nat draußen |
Definieren Sie eine Zugriffsliste, die alle privaten IP-Adressen enthält, die wir übersetzen möchten | Router(config-if)#access-list 1 Erlaubnis 192.168.0.0 0.255.255.255 |
Aktivieren Sie NAT und beziehen Sie sich auf die obige ACL und die Schnittstelle, deren IP-Adresse für Übersetzungen verwendet wird | Router(config)#ip nat in Quellliste 1 Schnittstelle s0/1 überlastet |
Sobald Sie die NAT-Überlastung auf Ihrem Router konfiguriert haben, müssen Sie die Konfiguration überprüfen können. Um die NAT-Übersetzungen zu überprüfen, können wir die folgenden Befehle verwenden:
Grundlegende Informationen zur IP-Adressübersetzung anzeigen | Router#IP-NAT-Übersetzung anzeigen |
Zeigen Sie jeweils die Absenderadresse, die Übersetzung und die Zieladresse an Debug-Zeile | Router#debug ip nat |
Da das Internet weiterhin exponentiell wächst, ist NAT-Überlastung zum De-facto-Standard für Geräte in einem privaten Netzwerk mit IPv4-Adressen geworden, um Zugriff auf das öffentliche Netzwerk zu erhalten, und verlangsamt gleichzeitig die Erschöpfung des IPv4-Adressraums. Dadurch ist es gelungen, die IPv4-Adresse über die letzten 30 Jahre hinweg zu erhalten. Aber im November 2019 RIPE-Netzwerkkoordinierungszentrum gab bekannt, dass offiziell keine IPv4-Adressen mehr vorhanden sind. Eine längerfristige Lösung für die eventuelle Erschöpfung des 32-Bit-IPv4-Adressraums ist das 64-Bit-IPv6-Protokoll.
Allerdings wird NAT in IPv6-Netzwerken nicht häufig verwendet. Der große Adressraum von IPv6 macht dessen Beibehaltung überflüssig, da jedem Gerät potenziell eine eindeutige öffentliche IP-Adresse zugewiesen werden kann. Anstelle der 4,3 Milliarden IPv4-Adressen stehen nun potenziell 3,4 Duodezillionen IPv6-Adressen zur Verfügung, um Geräte mit dem Internet zu verbinden. Dies macht die NAT-Implementierung in IPv6 grundsätzlich überflüssig. Dennoch kann NAT weiterhin verwendet werden, um die Privatsphäre privater IPv6-Netzwerke vor öffentlichen Netzwerken zu schützen. Doch solange IPv4 noch im Einsatz ist, ermöglicht die NAT-Überlastung mehreren Geräten in privaten Netzwerken, sich eine einzige öffentliche IPv4-Adresse zu teilen, um mit anderen Geräten im öffentlichen Netzwerk zu kommunizieren.
Häufig gestellte Fragen zur Netzwerkadressenübersetzung
Welche NAT-Überladungsfunktion entspricht dem Befehl access-list 1 erlauben 10.1.1.0 0.0.0.255?
Ein Router-Befehl, der den Befehl „access-list“ enthält, richtet eine Zugriffskontrollliste (ACL) für IP-Adressen im lokalen Netzwerk ein. Die Adresse 0.0.0.255 ist ein Platzhalter.
Was nutzt die NAT-Überlastung, um mehrere interne Hosts zu verfolgen, die eine interne globale Adresse verwenden?
Bei der NAT-Überlastung werden Portnummern verwendet, um jeden lokalen Host zu identifizieren. Aus diesem Grund wird die Technik auch als Port Address Translation (PAT) bezeichnet.
Wie sorgt NAT-Überladung für eine Eins-zu-Viele-Adressübersetzung?
Das NAT-System weist jeder Sitzung einen eindeutigen TCP/UDP-Port zu. Die vom System verwendeten Portnummern müssen sich von den bekannten Portnummern unterscheiden, die möglicherweise bereits in der Kommunikation mit einem externen Ziel vorhanden sind.