AUF DIESER SEITE
Grundlegendes zu Session Traversal Utilities for NAT (STUN)-Protokoll
Grundlegendes zur Übersetzung von NAT64-IPv6-Präfix in IPv4-Adressen
Beispiel: Konfigurieren der adressabhängigen Filterung für IPv6-Clients
Beispiel: Konfigurieren der endpunktunabhängigen Filterung für IPv6-Clients
Beispiel: Festlegen der maximalen Anzahl persistenter NAT-Bindungen
Beispiel: Konfigurieren von persistentem NAT-Hairpinning mit Quell-NAT-Pool mit Adressverschiebung
Plattformspezifisches Unterstützungsverhalten für persistente NAT-Bindungen
Persistente NAT und NAT64
Es ist bekannt, dass Network Address Translators (NATs) bei Anwendungen, die IP-Adressen in der Nutzlast enthalten, erhebliche Probleme verursachen. Zu den Anwendungen, die unter diesem Problem leiden, gehören VoIP und Multimedia over IP. Persistente NAT verbessert das Verhalten von NATs und definiert eine Reihe von NAT-Anforderungsverhalten, die für die Arbeit mit VOIP-Anwendungen nützlich sind. NAT64 ist ein Übersetzungsmechanismus, der verwendet wird, um IPv6-Pakete in IPv4-Pakete und umgekehrt zu übersetzen, indem die Paket-Header gemäß dem IP/ICMP-Übersetzungsalgorithmus übersetzt werden.
Grundlegendes zu persistenter NAT und NAT64
Persistente NAT ermöglicht es Anwendungen, beim Passieren von NAT-Firewalls das STUN-Protokoll (Session Traversal Utilities for NAT) zu verwenden. Persistente NAT stellt sicher, dass alle Anforderungen von derselben internen Transportadresse (interne IP-Adresse und Port) derselben reflexiven Transportadresse zugeordnet werden (der öffentlichen IP-Adresse und dem Port, die von dem NAT-Gerät erstellt werden, das dem STUN-Server am nächsten ist).
NAT64 ist ein Mechanismus zum Übersetzen von IPv6-Paketen in IPv4-Pakete und umgekehrt, der es IPv6-Clients ermöglicht, IPv4-Server über Unicast-UDP, TCP oder ICMP zu kontaktieren. Es handelt sich um eine Weiterentwicklung von Network Address Translation-Protocol Translation (NAT-PT).
NAT64 unterstützt Folgendes:
-
Endgeräteunabhängige Zuordnungen
-
Endgeräteunabhängige Filterung und adressabhängige Filterung
Das Zuordnungs- und Filterverhalten von NAT64 und persistenter NAT ist identisch.
Die folgenden Arten von persistenter NAT können auf dem Gerät von Juniper Networks konfiguriert werden:
-
Beliebiger Remote-Host: Alle Anforderungen von einer bestimmten internen IP-Adresse und einem bestimmten Port werden derselben reflexiven Transportadresse zugeordnet. Jeder externe Host kann ein Paket an den internen Host senden, indem er das Paket an die reflexive Transportadresse sendet.
-
Zielhost: Alle Anforderungen von einer bestimmten internen IP-Adresse und einem bestimmten Port werden derselben reflexiven Transportadresse zugeordnet. Ein externer Host kann ein Paket an einen internen Host senden, indem er das Paket an die reflexive Transportadresse sendet. Der interne Host muss zuvor ein Paket an die IP-Adresse des externen Hosts gesendet haben.
-
Ziel-Host-Port: Alle Anforderungen von einer bestimmten internen IP-Adresse und einem bestimmten Port werden derselben reflexiven Transportadresse zugeordnet. Ein externer Host kann ein Paket an einen internen Host senden, indem er das Paket an die reflexive Transportadresse sendet. Der interne Host muss zuvor ein Paket an die IP-Adresse und den Port des externen Hosts gesendet haben.
Die Konfiguration "target-host-port" wird für NAT64 nicht unterstützt, wenn eine IPv6-Adresse konfiguriert ist.
Sie konfigurieren alle persistenten NAT-Typen mit Quell-NAT-Regeln. Die Quell-NAT-Regelaktion kann einen Quell-NAT-Pool (mit oder ohne Portübersetzung) oder eine Ausgangsschnittstelle verwenden. Persistente NAT ist für Ziel-NAT nicht anwendbar, da persistente NAT-Bindungen auf ausgehenden Sitzungen von intern nach extern basieren.
Portüberlastung wird in Junos OS nur für normalen Schnittstellen-NAT-Datenverkehr verwendet. Persistente NAT unterstützt keine Portüberladung, und Sie müssen die Portüberladung explizit mit einer der folgenden Optionen auf der Hierarchieebene [edit security nat source
] deaktivieren:
-
Port-Überlastung aus
-
Port-Überlastungsfaktor 1
Um Sicherheitsrichtlinien so zu konfigurieren, dass persistenter NAT-Datenverkehr zugelassen oder verweigert wird, können Sie zwei neue vordefinierte Dienste verwenden:junos-stun
und junos-persistent-nat
.
Die persistente NAT unterscheidet sich von der Funktion für persistente Adressen (siehe Grundlegendes zu persistenten Adressen für Quell-NAT-Pools). Die Funktion "Persistente Adresse" gilt für Adresszuordnungen für Quell-NAT-Pools, die auf dem Gerät konfiguriert sind. Die Funktion "Persistente NAT" gilt für Adresszuordnungen auf einem externen NAT-Gerät und ist für einen bestimmten Quell-NAT-Pool oder eine bestimmte Ausgangsschnittstelle konfiguriert. Außerdem ist persistente NAT für die Verwendung mit STUN-Client/Server-Anwendungen vorgesehen.
Verwenden Sie Funktionen entdecken, um die Plattform- und Releaseunterstützung für bestimmte Funktionen zu bestätigen.
Lesen Sie den Abschnitt Plattformspezifisches Unterstützungsverhalten für persistente NAT-Bindungen auf Hinweise zu Ihrer Plattform.
Grundlegendes zu Session Traversal Utilities for NAT (STUN)-Protokoll
Viele Video- und Sprachanwendungen funktionieren in einer NAT-Umgebung nicht ordnungsgemäß. Beispielsweise verschlüsselt das Session Initiation Protocol (SIP), das mit VoIP verwendet wird, IP-Adressen und Portnummern in Anwendungsdaten. Wenn zwischen Anforderer und Empfänger eine NAT-Firewall vorhanden ist, werden die Informationen durch die Übersetzung der IP-Adresse und der Portnummer in den Daten ungültig.
Außerdem unterhält eine NAT-Firewall kein Pinhole für eingehende SIP-Nachrichten. Dies zwingt die SIP-Anwendung, entweder die Lochblende ständig mit SIP-Nachrichten zu aktualisieren oder ein ALG zum Nachverfolgen der Registrierung zu verwenden, eine Funktion, die vom Gateway-Gerät unterstützt werden kann oder nicht.
Das STUN-Protokoll (Session Traversal Utilities for NAT), das erstmals in RFC 3489, Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs) und später in RFC 5389, Session Traversal Utilities for NAT, definiert wurde, ist ein einfaches Client/Server-Protokoll. Ein STUN-Client sendet Anforderungen an einen STUN-Server, der Antworten an den Client zurückgibt. Ein STUN-Client ist in der Regel Teil einer Anwendung, die eine öffentliche IP-Adresse und/oder einen öffentlichen Port erfordert. STUN-Clients können sich in einem Endsystem wie einem PC oder in einem Netzwerkserver befinden, während STUN-Server in der Regel an das öffentliche Internet angeschlossen sind.
Sowohl der STUN-Client als auch der STUN-Server müssen von der Anwendung bereitgestellt werden. Juniper Networks stellt keinen STUN-Client oder -Server bereit.
Das STUN-Protokoll ermöglicht einem Client:
Finden Sie heraus, ob sich die Anwendung hinter einer NAT-Firewall befindet.
Bestimmen Sie den Typ der verwendeten NAT-Bindung.
Erfahren Sie die reflexive Transportadresse, bei der es sich um die IP-Adresse und Portbindung handelt, die von einem NAT-Gerät zugewiesen werden, das dem STUN-Server am nächsten liegt. (Es kann mehrere NAT-Ebenen zwischen dem STUN-Client und dem STUN-Server geben.)
Die Clientanwendung kann die IP-Adressbindungsinformationen in Protokollen wie SIP und H.323 verwenden.
Grundlegendes zur Übersetzung von NAT64-IPv6-Präfix in IPv4-Adressen
Der NAT64-Mechanismus ermöglicht es IPv6-Clients, IPv4-Server zu kontaktieren, indem IPv6-Adressen in IPv4-Adressen übersetzt werden (und umgekehrt). Einige IPv4-Anwendungen und -Dienste können jedoch in einem Szenario mit doppelter Übersetzung, z. B. 464XLAT, nicht ordnungsgemäß über reine IPv6-Netzwerke mit Standard-NAT64 ausgeführt werden. In diesen Szenarien ist eine adresspersistente Übersetzung erforderlich.
Abbildung 1 veranschaulicht die 464XLAT-Architektur, bei der IPv4-Pakete auf dem kundenseitigen Übersetzer (CLAT) in IPv6-Pakete übersetzt werden, dann über das reine IPv6-Netzwerk gehen und dann auf dem anbieterseitigen Übersetzer (PLAT) wieder in IPv4-Pakete übersetzt werden, um auf globale reine IPv4-Inhalte im Kernnetzwerk zuzugreifen. Diese Architektur verwendet eine Kombination aus zustandsloser Übersetzung auf der CLAT und zustandsbehafteter Übersetzung auf der PLAT.

Wenn ein Gerät als PLAT fungiert, ist es dafür verantwortlich, die Sticky-Mapping-Beziehung zwischen einem bestimmten IPv6-Präfix und einer übersetzten IPv4-Adresse aufrechtzuerhalten. Das Gerät behandelt das IPv6-Präfix als einen einzelnen Benutzer. Diese Zuordnung wird erreicht, indem die spezifische IPv6-Präfixlänge in einem IPv4-Quell-NAT-Pool mithilfe der address-persistent
Funktion konfiguriert wird.
Abbildung 2 zeigt eine in der CLAT konfigurierte NAT-Regel, die eine IPv4-Adresse in eine IPv6-Adresse mit einem address-persistent-Präfix übersetzt. Bei zustandsloser NAT46-Übersetzung auf dem CLAT und zustandsbehafteter NAT64-Übersetzung auf dem PLAT erreicht der Datenverkehr vom IPv4-Host 192.168.1.2 den globalen Server 198.51.100.1 über ein reines IPv6-Netzwerk.

Tabelle 1 listet andere NAT-Funktionen und deren Kompatibilität mit der adresspersistenten Funktion auf.
Merkmal |
Kompatibel |
||
---|---|---|---|
PAT-Pools |
IPv4
|
NAT IPv4 zu IPv6 |
Nein |
NAT IPv6 zu IPv4 |
Ja |
||
IPv6-Schnittstelle
|
NAT IPv4 zu IPv6 |
Nein |
|
NAT IPv6 zu IPv4 |
Nein |
||
Nicht-PAT-Pools |
Nein |
||
Port-Überlastung |
Ja |
||
Persistente NAT im PAT-Pool |
Ja |
||
Zuweisung von Portblöcken |
Ja |
||
Deterministische NAT |
Nein |
||
Adress-Pooling gekoppelt |
Nein |
||
ALG (Vorhandene ALG-NAT-Übersetzungen, z. B. FTP/PPTP/RTSP/DNS/SIP von nativen IPv6-Clients.) |
Ja |
Persistente NAT und NAT64-Konfiguration – Übersicht
Um persistentes NAT zu konfigurieren, geben Sie die folgenden Optionen mit der Quell-NAT-Regelaktion an (entweder für einen Quell-NAT-Pool oder eine Ausgangsschnittstelle):
Der Typ der persistenten NAT – Einer der folgenden: ein beliebiger Remote-Host, Zielhost oder Zielhostport.
(Optional) Adresszuordnung: Mit dieser Option können Anfragen von einer bestimmten internen IP-Adresse derselben reflexiven IP-Adresse zugeordnet werden. Interne und reflexive Ports können beliebige Ports sein. Ein externer Host, der einen beliebigen Port verwendet, kann ein Paket an den internen Host senden, indem er das Paket an die reflexive IP-Adresse sendet (mit einer konfigurierten eingehenden Richtlinie, die externen zu internen Datenverkehr zulässt). Wenn diese Option nicht konfiguriert ist, gilt die persistente NAT-Bindung für bestimmte interne und reflexive Transportadressen.
Sie können die
address-mapping
Option nur angeben, wenn der persistente NAT-Typ ein beliebiger Remotehost ist und die Aktion der Quell-NAT-Regel eine der folgenden Aktionen ist:Quell-NAT-Pool mit Verschiebung der IP-Adresse
Quell-NAT-Pool ohne Portübersetzung und ohne Überlaufpool
(Optional) Zeitüberschreitung bei Inaktivität: Zeit in Sekunden, die die persistente NAT-Bindung im Arbeitsspeicher des Geräts verbleibt, wenn alle Sitzungen des Bindungseintrags abgelaufen sind. Wenn das konfigurierte Timeout erreicht ist, wird die Bindung aus dem Arbeitsspeicher entfernt. Der Standardwert ist 300 Sekunden. Konfigurieren Sie einen Wert zwischen 60 und 7200 Sekunden.
Wenn alle Sitzungen einer persistenten NAT-Bindung abgelaufen sind, verbleibt die Bindung für den angegebenen Inaktivitätstimeoutzeitraum in einem Abfragezustand im Arbeitsspeicher des Geräts. Die Abfragebindung wird automatisch aus dem Arbeitsspeicher entfernt, wenn das Timeout für Inaktivität abläuft (der Standardwert ist 300 Sekunden). Sie können mit dem
clear security nat source persistent-nat-table
Befehl explizit alle oder bestimmte persistente NAT-Abfragebindungen entfernen.(Optional) Maximale Sitzungsanzahl: Maximale Anzahl von Sitzungen, denen eine persistente NAT-Bindung zugeordnet werden kann. Der Standardwert ist 30 Sitzungen. Konfigurieren Sie einen Wert zwischen 8 und 100.
Für Schnittstellen-NAT müssen Sie die Portüberladung explizit mit einer der folgenden Optionen auf der [edit security nat source
]-Hierarchieebene deaktivieren:
Port-Überlastung aus
Port-Überlastungsfaktor 1
Schließlich gibt es zwei vordefinierte Dienste, die Sie in Sicherheitsrichtlinien verwenden können, um STUN und persistenten NAT-Datenverkehr zuzulassen oder abzulehnen:
junos-stun
—Datenverkehr im STUN-Protokoll.junos-persistent-nat
– Persistenter NAT-Datenverkehr.
Für den persistenten NAT-Typ "Any remote host" oder "target host port" ist die Richtung der Sicherheitsrichtlinie von intern nach extern.
Beispiel: Konfigurieren von adresspersistenten NAT64-Pools
In diesem Beispiel wird gezeigt, wie adresspersistente NAT64-Pools konfiguriert werden, um eine Sticky-Mapping-Beziehung zwischen einem bestimmten IPv6-Präfix, das anhand der konfigurierten IPv6-Präfixlänge berechnet wird, und einer übersetzten IPv4-Adresse sicherzustellen.
Anforderungen
Bevor Sie beginnen, stellen Sie sicher, dass die vorhandenen NAT-Regeln und die Poolkonfiguration nicht mit der neuen in Konflikt stehen.
Überblick
In diesem Beispiel konfigurieren Sie eine IPv6-Präfixlänge von /64 in einem IPv4-Quell-NAT-Pool für NAT-IPv6-zu-IPv4-Übersetzungen. Datenverkehr, der der NAT-Regel und dem NAT-Pool entspricht, führt eine persistente Adressübersetzung zwischen dem IPv6-Präfix und der übersetzten IPv4-Adresse durch. Diese Konfiguration kann auf dem anbieterseitigen Übersetzer (PLAT) in einem Szenario mit dualer Übersetzung (464XLAT) verwendet werden, damit IPv4-Dienste über reine IPv6-Netzwerke ausgeführt werden können.
Konfiguration
CLI Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle erforderlichen Details, um sie an Ihre Netzwerkkonfiguration anzupassen, kopieren Sie die Befehle, fügen Sie sie in die CLI auf der Hierarchieebene ein, und geben Sie sie dann aus dem [edit]
Konfigurationsmodus ein commit
.
set security nat source pool NAT64 address 198.51.100.240/32 to 198.51.100.254/32 set security nat source pool NAT64 address-persistent subscriber ipv6-prefix-length 64 set security nat source rule-set RS1 from zone trust set security nat source rule-set RS1 to zone untrust set security nat source rule-set RS1 rule R1 match source-address 2001:db8::/32 set security nat source rule-set RS1 rule R1 match destination-address 198.51.100.198/32 set security nat source rule-set RS1 rule R1 then source-nat pool NAT64
Verfahren
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Anweisungen hierzu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus.
Erstellen Sie einen Quell-NAT-Pool.
[edit security nat source] user@host# set pool NAT64 address 198.51.100.240/32 to 198.51.100.254/32
Geben Sie die IPv6-Präfixlänge für den Quell-NAT-Pool an.
[edit security nat source] user@host# set pool NAT64 address-persistent subscriber ipv6-prefix-length 64
Erstellen Sie einen Regelsatz.
[edit security nat source] user@host# set rule-set RS1 from zone trust user@host# set rule-set RS1 to zone untrust
Passen Sie die Regel an.
[edit security nat source] user@host# set rule-set RS1 rule R1 match source-address 2001:db8::/32 user@host# set rule-set RS1 rule R1 match destination-address 198.51.100.198/32
Geben Sie die Aktion an, die ausgeführt werden soll, wenn die Regel übereinstimmt.
[edit security nat source] user@host# set security nat source rule-set RS1 rule R1 then source-nat pool NAT64
Befund
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie den show security nat
Befehl eingeben. Wenn in der Ausgabe nicht die beabsichtigte Konfiguration angezeigt wird, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.
[edit] user@host# show security nat source { pool NAT64 { address { 198.51.100.240/32 to 198.51.100.254/32; } address-persistent subscriber ipv6-prefix-length 64; } rule-set RS1 { from zone trust; to zone untrust; rule R1 { match { source-address 2001:db8::/32; destination-address 198.51.100.198/32; } then { source-nat { pool { NAT64; } } } } } }
Wenn Sie mit der Konfiguration des Geräts fertig sind, wechseln commit
Sie aus dem Konfigurationsmodus.
Beispiel: Unterstützen der Netzwerkkonfiguration durch Konfigurieren einer persistenten NAT mit Schnittstellen-NAT
Sie können jeden der persistenten NAT-Typen mit Quell-NAT-Regeln konfigurieren. In diesem Beispiel wird veranschaulicht, wie persistente NAT mit einer Schnittstellen-IP-Adresse angewendet wird und wie eine Schnittstellen-IP-Adresse als NAT-IP-Adresse verwendet wird, um persistente NAT für einen bestimmten internen Host auszuführen. Außerdem wird gezeigt, wie das Verhalten der persistenten Adressportzuordnung und das persistente NAT-Filterverhalten für den Host beibehalten werden. Sie müssen die Portüberlastung für die Schnittstellen-NAT deaktivieren.
Anforderungen
In diesem Beispiel werden die folgenden Hardware- und Softwarekomponenten verwendet:
1 Firewall der SRX-Serie
4 Stk.
Bevor Sie beginnen:
Machen Sie sich mit den Konzepten von persistenter NAT vertraut. Weitere Informationen finden Sie unter Übersicht über persistente NAT und NAT64-Konfiguration.
Überblick
In einer CGN-Netzwerkbereitstellung (Carrier Grade NAT) können Sie die Schnittstellen-IP-Adresse als NAT-Adresse konfigurieren, um eine persistente Netzwerkadressübersetzung durchzuführen. Auf diese Weise kann der interne Host eine Quellen-NAT-Zuordnungsbeziehung erstellen, indem der ausgehende Datenverkehr von intern nach extern initiiert wird. Anschließend sendet der externe Host den Datenverkehr zurück an diesen internen Host, indem er den Datenverkehr über die gemeinsam genutzte NAT-Zuordnungsbeziehung an diese Schnittstellen-NAT-Adresse sendet.
In diesem Beispiel konfigurieren Sie zuerst den Schnittstellen-NAT-Regelsatz int1 so, dass der Datenverkehr von der Schnittstelle ge-0/0/1 mit der Schnittstelle ge-0/0/2 abgeglichen wird, und dann konfigurieren Sie die NAT-Regel in1 so, dass sie mit den spezifischen Quell- und Zieladressen übereinstimmt, um persistente NAT auszuführen. Sie konfigurieren den any remote host
persistenten NAT-Typ, wenn Schnittstellen-NAT ausgeführt wird.
Für Pakete mit der Quelladresse 192.0.2.0/24 (interne Telefone) und der Zieladresse 198.51.100.0/24 (einschließlich STUN-Server , SIP-Proxyserver und externe Telefone) konfigurieren Sie Schnittstellen-NAT mit dem any remote host
persistenten NAT-Typ. Anschließend deaktivieren Sie die Portüberlastung für Schnittstellen-NAT.
Als Nächstes konfigurieren Sie eine Sicherheitsrichtlinie, um dauerhaften NAT-Datenverkehr vom externen Netzwerk (externe Zone) zum internen Netzwerk (interne Zone) für einen beliebigen persistenten NAT-Typ des Remotehosts zuzulassen.
Topologie
Abbildung 3 zeigt eine schnittstellenpersistente NAT-Topologie.

Tabelle 2 zeigt die in diesem Beispiel konfigurierten Parameter.
Parameter |
Beschreibung |
---|---|
Externe Zone |
Externes Netzwerk |
Interne Zone |
Internes Netzwerk |
External_phones2 |
Phone2-Adresse des externen Netzwerks |
Internal_phone1 |
Telefon1-Adresse des internen Netzwerks |
SIP_proxy Server |
SIP-Proxy-Server-Adresse des externen Netzwerks |
STUN-Server |
STUN-Serveradresse des externen Netzwerks |
Subnetz 198.51.100.1/32 |
IP-Adresse des Ziels |
Subnetz 192.0.2.2/32 |
Quell-IP-Adresse |
GE-0/0/1 und GE-0/0/2 |
NAT-Schnittstellen für die Datenverkehrsrichtung |
Konfiguration
Verfahren
CLI Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle erforderlichen Details, um sie an Ihre Netzwerkkonfiguration anzupassen, kopieren Sie die Befehle, fügen Sie sie in die CLI auf der Hierarchieebene ein, und geben Sie sie dann aus dem [edit]
Konfigurationsmodus ein commit
.
set security nat source rule-set int1 from interface ge-0/0/1.0 set security nat source rule-set int1 to interface ge-0/0/2.0 set security nat source rule-set int1 rule in1 match source-address 192.0.2.0/24 set security nat source rule-set int1 rule in1 match destination-address 198.51.100.0/24 set security nat source rule-set int1 rule in1 then source-nat interface persistent-nat permit any-remote-host set security nat source interface port-overloading off set security policies from-zone internal to-zone external policy stun_traffic match source-address internal_phones destination-address stun_server application junos-stun set security policies from-zone internal to-zone external policy sip_proxy_traffic match source-address internal_phones destination-address sip_proxy_server application junos-sip set security policies from-zone internal to-zone external policy sip_traffic match source-address internal_phones destination-address external_phones application junos-persistent-nat set security policies from-zone internal to-zone external policy sip_traffic then permit set security policies from-zone internal to-zone external policy stun_traffic then permit set security policies from-zone internal to-zone external policy sip_proxy_traffic then permit
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Anweisungen hierzu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im CLI-Benutzerhandbuch.
So konfigurieren Sie einen NAT-Regelsatz für eine Schnittstelle:
Erstellen Sie eine persistente NAT-Regel für eine Schnittstellen-NAT.
[edit security nat source rule-set int1] user@host# set from interface ge-0/0/1.0 user@host# set to interface ge-0/0/2.0 user@host# set rule in1 match source-address 192.0.2.0/24 user@host# set rule in1 match destination-address 198.51.100.0/24 user@host# set rule in1 then source-nat interface persistent-nat permit any-remote-host
Deaktivieren Sie die Portüberlastung für Schnittstellen-NAT.
[edit security] user@host# set nat source interface port-overloading off
Konfigurieren Sie eine Sicherheitsrichtlinie, um STUN-Datenverkehr von internen SIP-Telefonen zu einem externen STUN-Server zuzulassen.
[edit security policies] user@host# set from-zone internal to-zone external policy stun_traffic match source-address internal_phones destination-address stun_server application junos-stun
Konfigurieren Sie eine Sicherheitsrichtlinie, um SIP-Proxydatenverkehr von internen SIP-Telefonen zu einem externen SIP-Proxyserver zuzulassen.
[edit security policies] user@host# set from-zone internal to-zone external policy sip_proxy_traffic match source-address internal_phones destination-address sip_proxy_server application junos-sip
Konfigurieren Sie eine Sicherheitsrichtlinie, um SIP-Datenverkehr von externen SIP-Telefonen zu internen SIP-Telefonen zuzulassen.
[edit security policies] user@host# set from-zone internal to-zone external policy sip_traffic match source-address internal_phones destination-address external_phones application junos-persistent-nat user@host# set from-zone internal to-zone external policy sip_traffic then permit user@host#set from-zone internal to-zone external policy stun_traffic then permit user@host#set from-zone internal to-zone external policy sip_proxy_traffic then permit
Befund
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie die show security nat
Befehle und show security policies
eingeben. Wenn in der Ausgabe nicht die beabsichtigte Konfiguration angezeigt wird, wiederholen Sie die Anweisungen in diesem Beispiel, um die Konfiguration zu korrigieren.
[edit] user@host# show security nat source { interface { port-overloading off; } rule-set int1 { from interface ge-0/0/1.0; to interface ge-0/0/2.0; rule in1 { match { source-address 192.0.2.0/24; destination-address 198.51.100.0/24; } then { source-nat { interface { persistent-nat { permit any-remote-host; } } } } } } } [edit] user@host# show security policies from-zone internal to-zone external { policy stun_traffic { match { source-address internal_phones; destination-address stun_server; application junos-stun; } then { permit; } } policy sip_proxy_traffic { match { source-address internal_phones; destination-address sip_proxy_server; application junos-sip; } then { permit; } } policy sip_traffic { match { source-address internal_phones; destination-address external_phones; application junos-persistent-nat; } then { permit; } } }
Wenn Sie mit der Konfiguration des Geräts fertig sind, wechseln commit
Sie aus dem Konfigurationsmodus.
Verifizierung
Vergewissern Sie sich, dass die Konfiguration ordnungsgemäß funktioniert.
- Überprüfen, ob Regeln übereinstimmen und verwendet werden
- Überprüfen, ob NAT-Datenverkehrssitzungen eingerichtet sind
Überprüfen, ob Regeln übereinstimmen und verwendet werden
Zweck
Vergewissern Sie sich, dass alle Regeln übereinstimmen und verwendet werden.
Aktion
Geben Sie im Betriebsmodus den show security nat source persistent-nat-table all
Befehl ein.
user@host>show security nat source persistent-nat-table all Internal Reflective Source Type Left_time/Curr_Sess_Num/ Source In_IP In_Port I_Proto Ref_IP Ref_Port R_Proto NAT Pool Conf_time Max_Sess_Num NAT Rule 192.0.2.12 17012 udp 198.51.100.1 28153 udp interface any-remote-host 3528/3600 -/- in1 192.0.2.12 7078 udp 198.51.100.1 6133 udp interface any-remote-host -/300 1/30 in1
Bedeutung
Die Ausgabe zeigt eine Zusammenfassung der persistenten NAT-Informationen an.
Überprüfen, ob NAT-Datenverkehrssitzungen eingerichtet sind
Zweck
Stellen Sie sicher, dass die Sitzungen auf dem Gerät eingerichtet sind.
Aktion
Geben Sie im Betriebsmodus den show security flow session
Befehl ein.
user@host>show security flow session Session ID: 6992, Policy name: sip_proxy_traffic/5, Timeout: 16, Valid In: 192.0.2.12/17012 --> 198.51.100.45/5060;udp, If: ge-0/0/1.0, Pkts: 4, Bytes: 1850 Out: 198.51.100.45/5060 --> 198.51.100.1/28153;udp, If: ge-0/0/2.0, Pkts: 5, Bytes: 2258 Session ID: 7382, Policy name: stun_traffic/4, Timeout: 16, Valid In: 192.0.2.12/7078 --> 198.51.100.49/3478;udp, If: ge-0/0/1.0, Pkts: 20, Bytes: 1040 Out: 198.51.100.49/3478 --> 198.51.100.1/6133;udp, If: ge-0/0/2.0, Pkts: 0, Bytes: 0
Bedeutung
Der show security flow session
Befehl zeigt aktive Sitzungen auf dem Gerät und die jeder Sitzung zugeordnete Sicherheitsrichtlinie an. Die Ausgabe zeigt Datenverkehr, der über die private Quelladresse 192.0.2.12 in das Gerät eingeht und für einen öffentlichen Host bei 198.51.100.45 bestimmt ist. Der Rückdatenverkehr aus diesem Datenstrom wird an die übersetzte öffentliche Adresse 198.51.100.1 gesendet.
Session ID: Nummer, die die Sitzung identifiziert. Verwenden Sie diese ID, um weitere Informationen über die Sitzung zu erhalten, z. B. den Richtliniennamen oder die Anzahl der ein- und ausgehenden Pakete.
sip_proxy_traffic- Richtlinienname, der den SIP-Datenverkehr von den internen SIP-Telefonen zum externen SIP-Proxy-Server zugelassen hat.
In– Eingehender Datenstrom (Quell- und Ziel-IP-Adressen mit ihren jeweiligen Quell- und Zielportnummern. Die Sitzung ist UDP, und die Quellschnittstelle für diese Sitzung ist ge-0/0/1.0).
Out—Reverse Flow (Quell- und Ziel-IP-Adressen mit ihren jeweiligen Quell- und Zielportnummern. Die Sitzung ist UDP, und die Zielschnittstelle für diese Sitzung ist ge-0/0/2.0).
stun_traffic– Name der Richtlinie, die den STUN-Datenverkehr von den internen SIP-Telefonen zum externen STUN-Server zugelassen hat.
Beispiel: Konfigurieren der adressabhängigen Filterung für IPv6-Clients
In diesem Beispiel wird gezeigt, wie die adressabhängige Filterung für IPv6-Clients mithilfe von NAT64 konfiguriert wird.
Anforderungen
Bevor Sie beginnen:
Stellen Sie sicher, dass IPv6 auf dem Gerät aktiviert ist.
Stellen Sie sicher, dass die vorhandene NAT-Regel und Poolkonfiguration nicht mit den neuen in Konflikt steht.
Überblick
In diesem Beispiel verwenden Sie NAT64, um Pakete vom internen IPv6-Host an den externen IPv4-Host und vom externen IPv4-Host an den internen IPv4-Host zu senden.
Topologie
Konfiguration
Verfahren
CLI Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle erforderlichen Details, um sie an Ihre Netzwerkkonfiguration anzupassen, kopieren Sie die Befehle, fügen Sie sie in die CLI auf der Hierarchieebene ein, und geben Sie sie dann aus dem [edit]
Konfigurationsmodus ein commit
.
set security nat static rule-set test_rs from interface ge-0/0/1 set security nat static rule-set test_rs rule test_rule match destination-address 2001:db8::/128 set security nat static rule-set test_rs rule test_rule then static-nat prefix 10.2.2.15/32 set security nat source pool myipv4 address 203.0.113.2 set security nat source rule-set myipv4_rs from interface ge-0/0/1 set security nat source rule-set myipv4_rs to interface ge-0/0/2 set security nat source rule-set myipv4_rs rule ipv4_rule match source-address 2001:db8::/96 set security nat source rule-set myipv4_rs rule ipv4_rule match destination-address 10.2.2.15 set security nat source rule-set myipv4_rs rule ipv4_rule then source-nat pool myipv4 set security nat source rule-set myipv4_rs rule ipv4_rule then source-nat pool persistent-nat permit target-host
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Anweisungen hierzu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus.
So konfigurieren Sie die adressabhängige Filterung für IPv6-Clients:
Erstellen Sie einen Satz von Regeln für NAT64.
[edit security nat static] user@host# set rule-set test_rs from interface ge-0/0/1
Passen Sie die Regel an.
[edit security nat static] user@host# set rule-set test_rs rule test_rule match destination-address 2001:db8::/128
Geben Sie die Aktion an, die ausgeführt werden soll, wenn die Regel übereinstimmt.
[edit security nat static] user@host# set rule-set test_rs rule test_rule then static-nat prefix 10.2.2.15/32
Definieren Sie einen Quelladresspool, und fügen Sie die Adresse dem Pool hinzu.
[edit security nat] user@host# set source pool myipv4 address 203.0.113.2
Erstellen Sie einen weiteren Satz von Regeln für NAT64.
[edit security nat] user@host# set source rule-set myipv4_rs from interface ge-0/0/1
Gleichen Sie die Regel mit der Quelladresse ab.
[edit security nat] user@host# set source rule-set myipv4_rs rule ipv4_rule match source-address 2001:db8::/96
Ordnen Sie die Regel der Zieladresse zu.
[edit security nat] user@host# set source rule-set myipv4_rs rule ipv4_rule match destination-address 10.2.2.15
Geben Sie die Aktion an, die ausgeführt werden soll, wenn die Regeln übereinstimmen.
[edit security nat] user@host# set source rule-set myipv4_rs rule ipv4_rule then source-nat pool myipv4
Konfigurieren Sie persistente NAT.
[edit security nat] user@host# set source rule-set myipv4_rs rule ipv4_rule then source-nat pool persistent-nat permit target-host
Befund
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie den show nat source
Befehl eingeben. Wenn in der Ausgabe nicht die beabsichtigte Konfiguration angezeigt wird, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.
[edit security] user@host#show nat source pool myipv4 { address { 203.0.113.2/32; } } rule-set test_rs { rule test_rule { match { destination-address 2001:db8::/128; } } } rule-set myipv4_rs { from interface ge-0/0/1.0; to interface ge-0/0/2.0; rule ipv4_rule { match { source-address 2001:db8::/96; destination-address 10.2.2.15/32; } then { source-nat { pool { myipv4; persistent-nat { permit target-host; } } } } } } }
Wenn Sie mit der Konfiguration des Geräts fertig sind, wechseln commit
Sie aus dem Konfigurationsmodus.
Verifizierung
Vergewissern Sie sich, dass die Konfiguration ordnungsgemäß funktioniert:
- Überprüfen, ob die Konfiguration aktiviert ist und funktioniert
- Überprüfen, ob Regeln übereinstimmen und verwendet werden
Überprüfen, ob die Konfiguration aktiviert ist und funktioniert
Zweck
Vergewissern Sie sich, dass die Konfiguration aktiviert ist und funktioniert.
Aktion
Geben Sie im Betriebsmodus die folgenden Befehle ein:
show security nat static rule test_rule
show security nat source rule ipv4_rule
show security nat source pool myipv4
Beispiel: Konfigurieren der endpunktunabhängigen Filterung für IPv6-Clients
In diesem Beispiel wird gezeigt, wie die endpunktunabhängige Filterung für IPv6-Clients mithilfe von NAT64 konfiguriert wird.
Anforderungen
Bevor Sie beginnen:
Stellen Sie sicher, dass IPv6 auf dem Gerät aktiviert ist
Stellen Sie sicher, dass die vorhandenen NAT-Regeln und die Poolkonfiguration nicht mit den neuen Regeln in Konflikt stehen.
Überblick
In diesem Beispiel verwenden Sie NAT64, um Pakete vom internen IPv6-Host an den externen IPv4-Host und vom externen IPv4-Host an den internen IPv4-Host zu senden.
Topologie
Konfiguration
Verfahren
CLI Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle erforderlichen Details, um sie an Ihre Netzwerkkonfiguration anzupassen, kopieren Sie die Befehle, fügen Sie sie in die CLI auf der Hierarchieebene ein, und geben Sie sie dann aus dem [edit]
Konfigurationsmodus ein commit
.
set security nat static rule-set test_rs from interface ge-0/0/1 set security nat static rule-set test_rs rule test_rule match destination-address 2001:db8::/128 set security nat static rule-set test_rs rule test_rule then static-nat prefix 10.2.2.15/32 set security nat source pool myipv4 address 203.0.113.2 set security nat source rule-set myipv4_rs from interface ge-0/0/1 set security nat source rule-set myipv4_rs to interface ge-0/0/2 set security nat source rule-set myipv4_rs rule ipv4_rule match source-address 2001:db8::/96 set security nat source rule-set myipv4_rs rule ipv4_rule match destination-address 10.2.2.15 set security nat source rule-set myipv4_rs rule ipv4_rule then source-nat pool myipv4 set security nat source rule-set myipv4_rs rule ipv4_rule then source-nat pool persistent-nat permit any-remote-host
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Anweisungen hierzu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus.
So konfigurieren Sie die endpunktunabhängige Filterung für IPv6-Clients:
Erstellen Sie einen Satz von Regeln für NAT64.
[edit security nat static] user@host# set rule-set test_rs from interface ge-0/0/1
Passen Sie die Regel an.
[edit security nat static] user@host# set rule-set test_rs rule test_rule match destination-address 2001:db8::/128
Geben Sie die Aktion an, die ausgeführt werden soll, wenn die Regel übereinstimmt.
[edit security nat static] user@host# set rule-set test_rs rule test_rule then static-nat prefix 10.2.2.15/32
Definieren Sie einen Quelladresspool, und fügen Sie die Adresse dem Pool hinzu.
[edit security nat] user@host# set source pool myipv4 address 203.0.113.2
Erstellen Sie einen weiteren Satz von Regeln für NAT64.
[edit security nat] user@host# set source rule-set myipv4_rs from interface ge-0/0/1
Gleichen Sie die Regel mit der Quelladresse ab.
[edit security nat] user@host# set source rule-set myipv4_rs rule ipv4_rule match source-address 2001:db8::/96
Ordnen Sie die Regel der Zieladresse zu.
[edit security nat] user@host# set source rule-set myipv4_rs rule ipv4_rule match destination-address 10.2.2.15
Geben Sie die Aktion an, die ausgeführt werden soll, wenn die Regeln übereinstimmen.
[edit security nat] user@host# set source rule-set myipv4_rs rule ipv4_rule then source-nat pool myipv4
Konfigurieren Sie persistente NAT.
[edit security nat] user@host# set source rule-set myipv4_rs rule ipv4_rule then source-nat pool persistent-nat permit any-remote-host
Befund
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie den show security nat
Befehl eingeben. Wenn in der Ausgabe nicht die beabsichtigte Konfiguration angezeigt wird, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.
[edit security] user@host#show security nat source { pool myipv6_prefix { address { 2001:db8::/64; } } pool myipv4 { address { 203.0.113.2/32; } } rule-set myipv6_rs { from interface ge-0/0/1.0; to interface ge-0/0/2.0; rule ipv6_rule { match { source-address 10.1.1.0/30; destination-address 2001:db8::2/96; } then { source-nat { pool { myipv6_prefix; } } } } } rule-set myipv4_rs { from interface ge-0/0/1.0; to interface ge-0/0/2.0; rule ipv4_rule { match { source-address 2001:db8::/96; destination-address 10.2.2.15/32; } then { source-nat { pool { myipv4; persistent-nat { permit target-host; } } } } } } } static { rule-set test_rs { from interface ge-0/0/1.0; rule test_rule { match { destination-address 2001:db8::/128; } then { static-nat { prefix { 10.2.2.15/32; } } } } } }
Wenn Sie mit der Konfiguration des Geräts fertig sind, wechseln commit
Sie aus dem Konfigurationsmodus.
Verifizierung
Vergewissern Sie sich, dass die Konfiguration ordnungsgemäß funktioniert:
- Überprüfen, ob die Konfiguration aktiviert ist und funktioniert
- Überprüfen, ob Regeln übereinstimmen und verwendet werden
Überprüfen, ob die Konfiguration aktiviert ist und funktioniert
Zweck
Vergewissern Sie sich, dass die Konfiguration aktiviert ist und funktioniert.
Aktion
Geben Sie im Betriebsmodus die folgenden Befehle ein.
show security nat static rule test_rule
show security nat source rule ipv4_rule
show security nat source pool myipv4
Beispiel: Festlegen der maximalen Anzahl persistenter NAT-Bindungen
In diesem Beispiel wird gezeigt, wie die persistente NAT-Kapazität erhöht wird.
Anforderungen
Bevor Sie beginnen, lesen Sie Grundlegendes zu persistenter NAT und NAT64.
Überblick
In diesem Beispiel aktivieren Sie die Option Persistente NAT-Kapazität maximieren. Diese Option wird nur auf Services Processing Cards (SPCs) für SRX1400 Geräte mit SRX1K-NPC-SPC-1-10-40, SRX3000-Reihe mit SRX3K-SPC-1-10-40 und SRX5000-Reihe Geräten mit SRX5K-SPC-2-10-40SPC und SRX5K-SPC3 unterstützt. Beachten Sie, dass für die Geräte der SRX5000-Reihe mit SRX5K-SPC-2-10-40SPC und SPC3 die persistente NAT-Bindungszahl auf Kosten der Reduzierung der maximalen Sitzungsanzahl maximiert wird.
Um diese Option zu aktivieren, kann die unterstützte maximale Bindungskapazität des zentralen Punktes ungefähr auf 1/8 der Sitzungskapazität des zentralen Punktes bis zu 2 M erhöht werden, und die maximale Bindungskapazität der unterstützten SPU kann ungefähr auf 1/4 der Sitzungskapazität jeder SPU erhöht werden. Dementsprechend verringert sich die Kapazität der Durchflusssitzung sowohl für den CP als auch für jeden der SPUs um 1/4.
Standardmäßig beträgt die persistente NAT-Bindungskapazität sowohl für den zentralen Punkt als auch für die SPU eines SRX5400-, SRX5600- oder SRX5800-Geräts 64.000. In diesem Beispiel aktivieren Sie die Sitzungskapazität auf maximal 20.000.000 für den zentralen Punkt und maximal 1.100.000 für jede der SPUs mit maximaler Sitzungskonfiguration. Wenn Sie diese maximize-persistent-nat-capacity
Option aktivieren, kann ein SRX5400-, SRX5600- oder SRX5800-Gerät mit 4 GB Arbeitsspeicher maximal 2 MB persistente NAT-Bindungen am zentralen Punkt und 275.000 Bindungen auf jeder der SPUs unterstützen.
Konfiguration
Verfahren
Schritt-für-Schritt-Anleitung
So erhöhen Sie die persistente NAT-Kapazität:
Legen Sie die Option "Persistente NAT-Kapazität maximieren" fest.
[edit] user@host# set security forwarding-process application-services maximize-persistent-nat-capacity
Wenn Sie mit der Konfiguration des Geräts fertig sind, bestätigen Sie die Konfiguration.
[edit] user@host# commit
Starten Sie das System aus dem Betriebsmodus neu.
[edit] user@host# request system reboot
Wenn Sie in den Modus zur Maximierung der persistenten NAT-Kapazität oder zurück in den regulären Modus wechseln, müssen Sie das Gerät neu starten.
Wenn Sie das Gerät wieder in den regulären Modus versetzen möchten, löschen Sie die Konfiguration für den Modus zur Maximierung der persistenten NAT-Kapazität.
[edit] user@host# delete security forwarding-process application-services maximize-persistent-nat-capacity
Persistente NAT-Hairpinning – Übersicht
Wenn Datenverkehr zwischen zwei Hosts gesendet wird, kennt der Quellhost des Datenverkehrs den Zielhost möglicherweise nur anhand seiner öffentlichen IP-Adresse. In Wirklichkeit befindet sich der Zielhost möglicherweise im selben privaten Adressraum wie der Quellhost. Beim Hairpinning wird der Datenverkehr in die Richtung zurückgeleitet, aus der er gekommen ist, um ihn an seinen Zielhost in einem privaten Subnetzwerk zu leiten.
Im Allgemeinen erkennt ein Quellhost in einem Teilnetz möglicherweise nicht, dass der Datenverkehr für einen Zielhost innerhalb desselben Teilnetzes bestimmt ist, da er den Zielhost nur anhand seiner öffentlichen IP-Adresse identifiziert. Die NAT analysiert die IP-Pakete und leitet das Paket zurück an den richtigen Host.
NAT-Hairpinning-Unterstützung ist erforderlich, wenn zwei Hosts im internen Netzwerk über eine Bindung auf dem NAT-Gerät miteinander kommunizieren möchten. In diesem Fall empfängt das NAT-Gerät ein Paket aus dem internen Netzwerk und leitet es zurück an das interne Netzwerk. Wenn Hairpinning nicht unterstützt wird, schlägt die Weiterleitung des Pakets fehl und es wird verworfen.
Hairpinning ermöglicht die Kommunikation zwischen zwei Endgeräten (Host 1 und Host 2) im privaten Netzwerk, auch wenn sie nur die externen IP-Adressen und Ports des jeweils anderen verwenden. Wenn Host 1 Datenverkehr an Host 3 sendet, wird in der NAT-Tabelle eine NAT-Bindung zwischen der internen Quell-IP-Adresse und dem Port von Host 1 mit der externen IP-Adresse und dem Port verknüpft. Das Gleiche passiert, wenn Host 2 Datenverkehr an Host 3 sendet. Auf diese Weise können Host 1 und Host 2 die externen IP-Adressen des jeweils anderen identifizieren, wenn sie kommunizieren möchten.
Wenn beispielsweise Host 1 mit Host 2 kommuniziert, wird NAT (mit Hairpinning-Unterstützung) verwendet, um die Pakete, die die externe Adresse von Host 2 enthalten, zurück an die interne Adresse von Host 2 zu routen.

In Abbildung 4 werden die folgenden Parameter verwendet:
Host 1 IP-Adresse –
10.10.10.2/24
Host 2 IP-Adresse –
10.10.10.10/24
Zoneninterne IP-Adresse –
10.10.10.254/24
Host 3 IP-Adresse –
198.51.100.2/24
Interzonen-IP-Adresse –
198.51.100.254/24
Host 1 und Host 2 befinden sich in der Zone
reht0z
und Host 3 befindet sich inreth1z
der Zone
Tabelle 3 zeigt die in diesem Beispiel verwendete Bindungstabelle.
Ursprüngliche Quell-IP-Adresse |
Übersetzte Quell-IP-Adresse |
---|---|
10.10.10.2/24 bis 10.10.10.11/24 |
192.0.2.1/32 bis 192.0.2.10/32 |
Persistentes NAT-Hairpinning gilt nur für alle persistenten NAT-Typen von Remotehosts. Um Hairpining zuzulassen, müssen Sie eine Sicherheitsrichtlinie konfigurieren, die Datenverkehr zwischen Endgeräten in derselben Zone zulässt. Tatsächlich können sich die beiden Endpunkte in zwei verschiedenen Zonen befinden, solange einer der beiden Hosts nur die öffentliche Adresse des Peers sehen kann. Das NAT-Hairpinning-Verhalten wird von der persistenten NAT des Zielhosts und der persistenten NAT des Zielhostports nicht unterstützt. Nur eine persistente Remotehost-NAT unterstützt das Hairpinning-Verhalten.
Beispiel: Konfigurieren von persistentem NAT-Hairpinning mit Quell-NAT-Pool mit Adressverschiebung
In diesem Beispiel wird gezeigt, wie persistentes NAT-Hairpinning konfiguriert wird.
Anforderungen
Bevor Sie beginnen:
Konfigurieren Sie die Netzwerkschnittstellen auf dem Gerät. Weitere Informationen finden Sie im Benutzerhandbuch für Schnittstellen für Sicherheitsgeräte.
Erstellen Sie Sicherheitszonen und weisen Sie ihnen Schnittstellen zu. Weitere Informationen finden Sie unter Grundlegendes zu Sicherheitszonen.
Überblick
Durch Hairpinning können Pakete aus dem privaten Netzwerk übersetzt und dann in einer Schleife zurück in das private Netzwerk geleitet werden, anstatt an das öffentliche Netzwerk weitergeleitet zu werden. Die Hairpinning-Funktion ermöglicht die Verwendung eines entsprechenden Datensatzes in der NAT-Tabelle, um zu erkennen, dass ein Paket an einen Host im lokalen Netzwerk adressiert ist. Anschließend übersetzt es die Ziel-IP-Adresse und sendet das Paket zurück an das lokale Netzwerk (sowie im Falle einer Portzuordnung). Dadurch wird sichergestellt, dass der Datenverkehr zwischen den beiden Hosts ordnungsgemäß funktioniert.
Topologie
Hairpinning ermöglicht die Kommunikation zwischen zwei Endgeräten (Host 1 und Host 2) im privaten Netzwerk, auch wenn sie nur die externen IP-Adressen und Ports des jeweils anderen verwenden. Dies wird in Abbildung 5 erläutert.
Wenn Host 1 Datenverkehr an Host 3 sendet, wird in der NAT-Tabelle eine NAT-Bindung zwischen der internen Quell-IP-Adresse und dem Port von Host 1 mit der externen IP-Adresse und dem Port verknüpft. Das Gleiche passiert, wenn Host 2 Datenverkehr an Host 3 sendet. Auf diese Weise können Host 1 und Host 2 die externen IP-Adressen des jeweils anderen identifizieren, wenn sie kommunizieren möchten.
Wenn beispielsweise Host 1 mit Host 2 kommuniziert, wird NAT (mit Hairpinning-Unterstützung) verwendet, um die Pakete, die die externe Adresse von Host 2 enthalten, zurück an die interne Adresse von Host 2 zu routen.

In Abbildung 5 werden die folgenden Parameter verwendet:
Host 1 IP-Adresse –
10.10.10.2/24
Host 2 IP-Adresse –
10.10.10.10/24
Zoneninterne IP-Adresse –
10.10.10.254/24
Host 3 IP-Adresse –
198.51.100.2/24
Interzonen-IP-Adresse –
198.51.100.254/24
Host 1 und Host 2 befinden sich in der Zone
reht0z
und Host 3 befindet sich inreth1z
der Zone
Tabelle 4 zeigt die in diesem Beispiel verwendete Bindungstabelle.
Ursprüngliche Quell-IP-Adresse |
Übersetzte Quell-IP-Adresse |
---|---|
10.10.10.2/24 bis 10.10.10.11/24 |
192.0.2.1/32 bis 192.0.2.10/32 |
Konfiguration
Verfahren
Schritt-für-Schritt-Anleitung
So konfigurieren Sie persistentes NAT-Hairpinning:
Konfigurieren von Schnittstellen.
[edit] user@host# set interfaces ge-11/0/0 unit 0 family inet address 10.10.10.254/24 user@host# set interfaces ge-11/0/1 unit 0 family inet address 198.51.100.254/24
Erstellen Sie Zonen (reth0z und reth1z).
[edit] user@host# set security zones security-zone reth0z host-inbound-traffic system-services all user@host# set security zones security-zone reth0z host-inbound-traffic protocols all user@host# set security zones security-zone reth0z interfaces ge-11/0/0.0 user@host# set security zones security-zone reth1z host-inbound-traffic system-services all user@host# set security zones security-zone reth1z host-inbound-traffic protocols all user@host# set security zones security-zone reth1z interfaces ge-11/0/1.0
Erstellen Sie Richtlinien für die Zonen reth0z und reth1z.
[edit] user@host# set security address-book global address subnet10 10.10.10.0/24 user@host# set security address-book global address subnet20 198.51.100.0/24 user@host# set security policies from-zone reth0z to-zone reth1z policy p1 match source-address subnet10 user@host# set security policies from-zone reth0z to-zone reth1z policy p1 match destination-address subnet20 user@host# set security policies from-zone reth0z to-zone reth1z policy p1 match application any user@host# set security policies from-zone reth0z to-zone reth1z policy p1 then permit user@host# set security policies default-policy deny-all
Fügen Sie dieselbe Zonenrichtlinie hinzu, um persistentes NAT-Hairpinning durchzuführen.
user@host# set security policies from-zone reth0z to-zone reth0z policy p2 match source-address subnet10 user@host# set security policies from-zone reth0z to-zone reth0z policy p2 match destination-address subnet10 user@host# set security policies from-zone reth0z to-zone reth0z policy p2 match application any user@host# set security policies from-zone reth0z to-zone reth0z policy p2 then permit
Erstellen Sie einen Quell-NAT-Pool für Host 1 und Host 2 (src1).
[edit] user@host# set security nat source pool src1 address 192.0.2.1/32 to 192.0.2.10/32
Geben Sie den Anfang des ursprünglichen Quell-IP-Adressbereichs für Host 1 und Host 2 (src1) an.
[edit] user@host# set security nat source pool src1 host-address-base 10.10.10.2/24
Konfigurieren Sie den Quell-NAT-Regelsatz r1.
[edit] user@host# set security nat source rule-set r1 from zone reth0z user@host# set security nat source rule-set r1 to zone reth1z user@host# set security nat source rule-set r1 to zone reth0z user@host# set security nat source rule-set r1 rule rule1 match source-address 10.10.10.0/24 user@host# set security nat source rule-set r1 rule rule1 match destination-address 10.10.10.0/24 user@host# set security nat source rule-set r1 rule rule1 match destination-address 198.51.100.0/24 user@host# set security nat source rule-set r1 rule rule1 then source-nat pool src1 user@host# set security nat source rule-set r1 rule rule1 then source-nat pool persistent-nat permit any-remote-host user@host# set security nat source rule-set r1 rule rule1 then source-nat pool persistent-nat inactivity-timeout 900 user@host# set security nat source rule-set r1 rule rule1 then source-nat pool persistent-nat max-session-number 20
Befund
Geben Sie im Konfigurationsmodus den show security nat
Befehl ein, um Ihre Konfiguration zu bestätigen. Wenn in der Ausgabe nicht die beabsichtigte Konfiguration angezeigt wird, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.
[edit]
user@host#
show security nat
source {
pool src1 {
address {
192.0.2.1/32 to 192.0.2.10/32;
}
host-address-base 10.10.10.2/24;
}
rule-set r1 {
from zone reth0z;
to zone [ reth0z reth1z ];
rule rule1 {
match {
source-address 10.10.10.0/24;
destination-address [10.10.10.0/24 198.51.100.0/24];
}
then {
source-nat {
pool {
src1;
persistent-nat {
permit any-remote-host;
inactivity-timeout 900;
max-session-number 20;
}
}
}
}
}
}
}
Wenn Sie mit der Konfiguration des Geräts fertig sind, wechseln commit
Sie aus dem Konfigurationsmodus.
Verifizierung
- Datenverkehr, der zwischen den Hosts gesendet wird, wodurch Bindung 1 erstellt wird
- Datenverkehr, der zwischen den Hosts gesendet wird, wodurch Bindung 2 erstellt wird
- Datenverkehr, der zwischen zwei Hosts gesendet wird
Datenverkehr, der zwischen den Hosts gesendet wird, wodurch Bindung 1 erstellt wird
Zweck
Überprüfen Sie den Datenverkehr, der zwischen den Hosts (Host 1 und Host 3) gesendet wird, und erstellen Sie Bindung 1.
Aktion
sendip -d r28 -p ipv4 -iv 4 -is 10.10.10.2 -id 198.51.100.2 -p udp -us 69 -ud 69 198.51.100.2
Source-IP: 10.10.10.2
Source-port: 69
Dst-IP: 198.51.100.2
Dst-port: 69
Binding1 is below:
user@host>
show security nat source persistent-nat-table all
Internal Reflective Source Type Left_time/ Curr_Sess_Num/ Source
In_IP In_Port Ref_IP Ref_Port NAT Pool Conf_time Max_Sess_Num NAT Rule
10.10.10.2 69 192.0.2.1 69 src1 any-remote-host -/900 1/20 rule1
Datenverkehr, der zwischen den Hosts gesendet wird, wodurch Bindung 2 erstellt wird
Zweck
Überprüfen Sie den Datenverkehr, der zwischen den Hosts (Host 2 und Host 3) gesendet wird, und erstellen Sie Bindung 2.
Aktion
sendip -d r28 -p ipv4 -iv 4 -is 10.10.10.10 -id 198.51.100.2 -p udp -us 69 -ud 69 198.51.100.2
Source-IP: 10.10.10.10
Source-port: 69
Dst-IP: 198.51.100.2
Dst-port: 69
Binding2 is below:
user@host>
show security nat source persistent-nat-table all
Internal Reflective Source Type Left_time/ Curr_Sess_Num/ Source
In_IP In_Port Ref_IP Ref_Port NAT Pool Conf_time Max_Sess_Num NAT Rule
10.10.10.2 69 192.0.2.1 69 src1 any-remote-host -/900 1/20 rule1
10.10.10.10 69 192.0.2.9 69 src1 any-remote-host -/900 1/20 rule1
Datenverkehr, der zwischen zwei Hosts gesendet wird
Zweck
Überprüfen Sie den von Host 1 zu Host 2 gesendeten Datenverkehr:
Aktion
user@host>
show security flow session
sendip -d r28 -p ipv4 -iv 4 -is 10.10.10.2 -id 192.0.2.9 -p udp -us 69 -ud 69 192.0.2.9
Session ID: 100007628, Policy name: default-policy/2, Timeout: 52, Valid
In: 10.10.10.2/69 --> 192.0.2.9/69;udp, If: ge-0/0/0.0, Pkts: 2, Bytes: 112
Out: 10.10.10.10/69 --> 192.0.2.1/69;udp, If: ge-0/0/0.0, Pkts: 0, Bytes: 0
Total sessions: 1
Plattformspezifisches Unterstützungsverhalten für persistente NAT-Bindungen
Verwenden Sie Funktionen entdecken, um die Plattform- und Releaseunterstützung für bestimmte Funktionen zu bestätigen.
Verwenden Sie die folgende Tabelle, um plattformspezifische Verhaltensweisen für Ihre Plattform zu überprüfen:
Plattformunterschied | |
---|---|
SRX-Serie |
|