Network Address Translation (NAT) ermöglicht es Netzwerkgeräten wie [[router|Router]], [[switch|Switches]] und [[firewall|Firewalls]], die Ziel- oder Quell- [[ip|IP Adressen]] eines Datenpakets in einem [[netzwerk|Netzwerk]] durch eine andere Adresse zu ersetzen (maskieren). NAT wird häufig verwendet, um aufgrund der Knappheit öffentlicher IP-Adressen mit privaten IP-Adressen im Internet zu kommunizieren. Siehe auch [[https://www.cisco.com/c/en/us/products/security/adaptive-security-device-manager/index.html|ASDM Gui]]
Es gibt **Twice-NAT**, da werden Quell- und Zieladresse genattet.
Siehe [[https://www.youtube.com/watch?v=zWuIkQbkEDk|NAT Failover]].
Es gibt auch Identity-NAT (auch NAT-Bypass genannt) wobei die reale (lokale) IP genutzt wird. Siehe [[https://learningnetwork.cisco.com/s/question/0D53i00000Ksu8zCAB/nat-exemption-vs-identity-nat|hier]].
**ACLs** werden verwendet, um zu bestimmen, ob Datenverkehr zugelassen oder verweigert wird.
Standardmäßig wird Verkehr, der von einer Schnittstelle mit niedrigerer Sicherheitsstufe zu einer Schnittstelle mit höherer Sicherheitsstufe geleitet wird, verweigert, während Verkehr von einer Schnittstelle mit höherer Sicherheitsstufe zu einer Schnittstelle mit niedrigerer Sicherheitsstufe zugelassen wird. Dieses Verhalten kann auch durch die Konfiguration einer ACL außer Kraft gesetzt werden.
Schnittstellen werden in **INSIDE (lokales Netz) und OUTSIDE (z.b Internet)** gegliedert. Es gibt **uni-direktionales und bi-direktionales NAT**. Uni-direktional bedeutet nur von INSIDE nach OUTSIDE, bi-direktional bedeutet auch umgekehrt (betrifft die Initialisierung). PAT geht nur uni-direktional.
=====Typen=====
Man unterscheidet zwischen
* Static NAT: Hier wird eine private IP-Adresse immer auf eine bestimmte öffentliche IP-Adresse abgebildet.
* Dynamic NAT: Hier wird eine private IP-Adresse dynamisch auf eine verfügbare öffentliche IP-Adresse abgebildet.
* Port Address Translation (PAT): Hier werden private IP-Adressen auf eine einzige öffentliche IP-Adresse abgebildet, wobei Ports zur Unterscheidung der einzelnen Verbindungen verwendet werden.(Full cone, Restricted cone, Port restricted, Symmetric)
Siehe auch [[https://nfware.com/blog/network-address-translation|Types of NAT]]
====Static NAT====
Statisches NAT (Network Address Translation) ist eine Methode, um **private IP-Adressen in öffentliche IP-Adressen umzuwandeln, um die Kommunikation zwischen einem privaten Netzwerk und dem Internet zu ermöglichen**. Im Gegensatz zum dynamischen NAT, bei dem die Zuordnung von privaten zu öffentlichen IP-Adressen dynamisch erfolgt, wird beim statischen NAT eine feste Zuordnung zwischen einer privaten IP-Adresse und einer öffentlichen IP-Adresse hergestellt.
====Dynamic NAT====
Dynamisches NAT (Network Address Translation) ist eine Methode, um **private IP-Adressen in öffentliche IP-Adressen umzuwandeln, damit Geräte in einem privaten Netzwerk mit dem Internet kommunizieren können**. Im Gegensatz zum statischen NAT, bei dem eine feste Zuordnung zwischen privaten und öffentlichen IP-Adressen besteht, erlaubt das dynamische NAT die **dynamische Zuordnung von IP-Adressen aus einem Pool von öffentlichen IP-Adressen**.
====Source NAT====
Auch als "NAT overload" oder "PAT" bezeichnet, wird SNAT verwendet, um mehrere interne Geräte über eine einzige öffentliche IP-Adresse nach außen zu verbinden. Dabei wird die Quell-IP-Adresse eines Pakets beim Verlassen des internen Netzwerks durch die öffentliche IP-Adresse ersetzt.
====Destination NAT====
Verändert die Ziel-IP-Adresse eines Pakets, bevor es im Zielnetzwerk ankommt. Dies wird oft verwendet, um einen Dienst, der unter einer bestimmten öffentlichen IP-Adresse erreichbar ist, zu einem anderen internen Server weiterzuleiten.
====PAT====
Der Hauptzweck von PAT besteht darin, die begrenzte Anzahl von öffentlichen IP-Adressen effizient zu nutzen, indem mehrere Geräte im privaten Netzwerk über eine einzige öffentliche IP-Adresse mit dem Internet kommunizieren können. Dabei werden die Quell-IP-Adressen und Ports der Datenpakete vom privaten Netzwerk so umgeschrieben, dass sie eine eindeutige Kombination aus privater IP-Adresse und Port erhalten, während die Ziel-IP-Adresse und Ports normalerweise unverändert bleiben.
Bei der Verwendung von PAT wird normalerweise eine Netzwerkadresse und ein Port verwendet, um den Verkehr von einem bestimmten Gerät im privaten Netzwerk zu identifizieren. Der Router führt dann eine Übersetzungstabelle, die diese Zuordnungen enthält. Wenn ein Datenpaket aus dem Internet an den Router gesendet wird, überprüft der Router die Tabelle und leitet das Datenpaket an das entsprechende Gerät im privaten Netzwerk weiter.
Umgekehrt, wenn ein Gerät im privaten Netzwerk eine Verbindung zum Internet herstellt, übersetzt der Router die Quell-IP-Adresse und den Quellport des Datenpakets in die öffentliche IP-Adresse und den entsprechenden Port des Routers. Auf diese Weise können mehrere Geräte im privaten Netzwerk über eine einzelne öffentliche IP-Adresse gleichzeitig auf das Internet zugreifen.
=====PAT Kategorisierung=====
====Full cone====
Im Full Cone NAT-Szenario **setzt ein Gateway interne Adressen und Ports nach einem statischen Muster in eine externe Adresse und deren Ports um**. Es erlaubt insbesondere auch, **dass so externe Hosts über die externe Adresse des NAT-Gateways Verbindungen zu internen Hosts aufbauen**. Full Cone NAT ist auch unter der Bezeichnung port forwarding bekannt.
====Restricted cone====
Im Restricted Cone NAT-Szenario erlaubt das Gateway die Kontaktaufnahme eines externen mit einem internen Host nur, **wenn diesem Verbindungsversuch eine Kontaktaufnahme dieses internen Hosts mit dem externen Host vorausging** und dabei der gleiche Zielport verwendet wird.
====Port restricted====
Im Port Restricted Cone NAT-Szenario erlaubt das Gateway die Kontaktaufnahme eines externen mit einem internen Host nur, **wenn diesem Verbindungsversuch eine Kontaktaufnahme dieses internen Hosts mit dem externen Host vorausging** und dabei der gleiche Zielport und der gleiche Quellport verwendet wird.
====Symmetric====
Im Symmetric-NAT-Szenario wird jede einzelne Verbindung mit einem unterschiedlichen Quellport ausgeführt, die Beschränkungen sind wie bei Restricted Cone NAT-Szenario. Dadurch dass jede Verbindung einen eigenen Quellport zugewiesen bekommt ist eine Initiierung von Verbindungen durch externe Hosts nach Intern nicht oder kaum möglich.
=====Links=====
* [[https://www.youtube.com/playlist?list=PLIFyRwBY_4bQ7tJvbLA9A0v8Fq9l-H923|Practical Networking - Network Address Translation (Playlist)]]
* Jeremys IT Lab - NAT - Youtube [[https://www.youtube.com/watch?v=2TZCfTgopeg|Part 1]], [[https://www.youtube.com/watch?v=kILDNs4KjYE|Part 2]]
* {{nat.pdf|NAT Cheatsheet}}