AUF DIESER SEITE
Understanding Session Traversal Versorgungsunternehmen for NAT (STUN) Protocol
Verständnis von NAT64 IPv6 Präfix zu IPv4 Adresspersistente Übersetzung
Beispiel: Konfiguration der adressabhängigen Filterung für IPv6-Clients
Beispiel: Endpunktunabhängige Filterung für IPv6-Clients konfigurieren
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-Bindung
Persistente NAT und NAT64
Network Address Translators (NATs) sind dafür bekannt, sehr erhebliche Probleme mit Anwendungen zu verursachen, die IP-Adressen in der Nutzlast enthalten. Zu den Anwendungen, die unter diesem Problem leiden, gehören VoIP und Multimedia Over IP. Persistentes NAT verbessert das Verhalten von NATs und definiert eine Reihe von NAT-Anforderungsverhalten, die für die Arbeit von 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.
Persistente NAT und NAT64 verstehen
Persistente NAT ermöglicht Anwendungen, das STUN-Protokoll (Session Traversal Versorgungsunternehmen für NAT) zu verwenden, wenn sie NAT-Firewalls passieren. Persistente NAT stellt sicher, dass alle Anforderungen von derselben internen Transportadresse (interne IP-Adresse und Port) derselben reflexiven Transportadresse zugeordnet werden (die öffentliche IP-Adresse und der Port, die von dem NAT-Gerät erstellt wurden, das dem STUN-Server am nächsten liegt).
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 ist eine Erweiterung von Network Address Translation-Protocol Translation (NAT-PT).
NAT64 unterstützt Folgendes:
-
Endpunktunabhängige Zuordnungen
-
Endpunktunabhängige Filterung und adressabhängige Filterung
Das Zuordnungs- und Filterverhalten von NAT64 und persistentem NAT ist identisch.
Die folgenden Arten von persistentem 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.
-
Zielhostport: 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 Ziel-Host-Port-Konfiguration wird für NAT64 nicht unterstützt, wenn sie mit einer 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 gilt nicht für Ziel-NAT, da persistente NAT-Bindungen auf ausgehenden Sitzungen von intern nach extern basieren.
Die Portüberlastung wird in Junos OS nur für normalen Schnittstellen-NAT-Datenverkehr verwendet. Persistente NAT unterstützt keine Portüberlastung, und Sie müssen die Portüberlastung 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 Servicesjunos-stun verwenden: und junos-persistent-nat.
Persistente NAT unterscheidet sich von der Funktion für persistente Adressen (siehe Grundlegendes zu persistenten Adressen für Quell-NAT-Pools). Die Funktion für persistente Adressen gilt für Adresszuordnungen für Quell-NAT-Pools, die auf dem Gerät konfiguriert sind. Die persistente NAT-Funktion 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 persistentes NAT für die Verwendung mit STUN-Client/Server-Anwendungen vorgesehen.
Verwenden Sie den Feature-Explorer , um die Plattform- und Release-Unterstützung für bestimmte Funktionen zu bestätigen.
Im Abschnitt Plattformspezifisches Unterstützungsverhalten für persistente NAT-Bindung finden Sie Hinweise zu Ihrer Plattform.
Understanding Session Traversal Versorgungsunternehmen for NAT (STUN) Protocol
Viele Video- und Sprachanwendungen funktionieren in einer NAT-Umgebung nicht richtig. Beispielsweise codiert 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 verwaltet eine NAT-Firewall keine Lochblende 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 Gatewaygerät unterstützt werden kann oder nicht.
Das STUN-Protokoll (Session Traversal Versorgungsunternehmen für NAT), das erstmals in RFC 3489, Simple Traversal of User Datagram Protocol (UDP) durch Network Address Translators (NATs), und später in RFC 5389, Session Traversal Versorgungsunternehmen für 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 Port erfordert. STUN-Clients können sich in einem Endsystem wie einem PC oder auf einem Netzwerkserver befinden, während STUN-Server normalerweise mit dem öffentlichen Internet verbunden 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.
Lernen Sie die reflexive Transportadresse kennen, bei der es sich um die IP-Adresse und Portbindung handelt, die von einem NAT-Gerät zugewiesen wird, das dem STUN-Server am nächsten liegt. (Zwischen dem STUN-Client und dem STUN-Server können mehrere NAT-Ebenen vorhanden sein.)
Die Clientanwendung kann die IP-Adressbindungsinformationen in Protokollen wie SIP und H.323 verwenden.
Verständnis von NAT64 IPv6 Präfix zu IPv4 Adresspersistente Übersetzung
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 -Services können jedoch in einem Szenario mit dualer Übersetzung, z. B. 464XLAT, über reine IPv6-Netzwerke mit Standard-NAT64 nicht ordnungsgemäß funktionieren. In diesen Szenarien ist eine adresspersistente Übersetzung erforderlich.
Abbildung 1 veranschaulicht die 464XLAT-Architektur, bei der IPv4-Pakete auf dem Customer-Side Translator (CLAT) in IPv6-Pakete übersetzt werden, dann über das reine IPv6-Netzwerk übertragen und auf dem Provider-Side Translator (PLAT) wieder in IPv4-Pakete übersetzt werden, um auf globale Nur-IPv4-Inhalte im Core-Netzwerk 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 wie ein einzelner 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 adresspersistenten Präfix übersetzt. Mit zustandsloser NAT46-Übersetzung auf der CLAT und zustandsbehafteter NAT64-Übersetzung auf der 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 ihre Kompatibilität mit der adresspersistenten Funktion auf.
| Funktion |
Kompatibel |
||
|---|---|---|---|
| PAT-Pools |
IPv4 |
NAT IPv4 zu IPv6 |
Nein |
| NAT IPv6 zu IPv4 |
Nein |
||
| IPv6 |
NAT IPv4 zu IPv6 |
Nein |
|
| NAT IPv6 zu IPv4 |
Nein |
||
| Nicht-PAT-Pools |
Nein |
||
| Port-Überlastung |
Nein |
||
| Persistente NAT im PAT-Pool |
Nein |
||
| Zuweisung von Portblöcken |
Nein |
||
| Deterministische NAT |
Nein |
||
| Adresspooling gepaart |
Nein |
||
| ALG (Vorhandene ALG-NAT-Übersetzungen, z. B. FTP/PPTP/RTSP/DNS/SIP von nativen IPv6-Clients.) |
Nein |
||
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 internem 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-mappingOption nur angeben, wenn der persistente NAT-Typ ein beliebiger Remotehost ist und die Quell-NAT-Regelaktion eine der folgenden Aktionen ist:Quell-NAT-Pool mit IP-Adressverschiebung
Quell-NAT-Pool ohne Portübersetzung und ohne Überlaufpool
(Optional) Inaktivitätstimeout: Zeit in Sekunden, die die persistente NAT-Bindung im Speicher des Geräts verbleibt, wenn alle Sitzungen des Bindungseintrags abgelaufen sind. Wenn das konfigurierte Timeout erreicht ist, wird die Bindung aus dem Speicher 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 Speicher des Geräts. Die Abfragebindung wird automatisch aus dem Arbeitsspeicher entfernt, wenn das Inaktivitätstimeout abläuft (der Standardwert ist 300 Sekunden). Sie können alle oder bestimmte persistente NAT-Abfragebindungen mit dem
clear security nat source persistent-nat-tableBefehl explizit 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überlastung explizit mit einer der folgenden Optionen auf der Hierarchieebene [edit security nat source] deaktivieren:
Port-Überlastung aus
Port-Überlastungsfaktor 1
Schließlich gibt es zwei vordefinierte Services, die Sie in Sicherheitsrichtlinien verwenden können, um STUN- und persistenten NAT-Datenverkehr zuzulassen oder abzulehnen:
junos-stun– STUN-Protokollverkehr.junos-persistent-nat– Anhaltender NAT-Datenverkehr.
junos-persistent-nat Richtlinie beim Einrichten von Sicherheitsrichtlinien am Ende der Sicherheitsrichtliniensequenz. Vergewissern Sie sich alternativ, dass keine nachfolgenden Richtlinien mit persistentem NAT-Datenverkehr unterhalb der
junos-persistent-nat Richtlinie übereinstimmen.
Für den persistenten NAT-Typ eines beliebigen Remote-Hosts oder Zielhosts oder Zielhostports geht 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 durch die konfigurierte 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 adresspersistente Übersetzung zwischen dem IPv6-Präfix und der IPv4-übersetzten Adresse durch. Diese Konfiguration kann auf dem Provider-Side Translator (PLAT) in einem Szenario mit dualer Übersetzung, 464XLAT, verwendet werden, damit IPv4-Services über reine IPv6-Netzwerke funktionieren.
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, damit sie mit Ihrer Netzwerkkonfiguration übereinstimmen, kopieren Sie die Befehle, fügen Sie sie [edit] in die CLI auf Hierarchieebene ein und geben Sie sie dann im 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
Vorgehensweise
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Anweisungen dazu 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
Entspricht der Regel.
[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
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration durch Eingabe des show security nat Befehls. Wenn die Ausgabe nicht die beabsichtigte Konfiguration anzeigt, 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, rufen Sie den Konfigurationsmodus auf commit .
Beispiel: Unterstützung der Netzwerkkonfiguration durch Konfiguration von persistenter 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 durchzuführen. Außerdem wird gezeigt, wie das persistente Adressportzuordnungsverhalten und das persistente NAT-Filterverhalten für den Host beibehalten werden. Sie müssen die Portüberlastung für Schnittstellen-NAT deaktivieren.
Anforderungen
In diesem Beispiel werden die folgenden Hardware- und Softwarekomponenten verwendet:
1 Firewall
4 Stück
Bevor Sie beginnen:
Verstehen Sie die Konzepte der persistenten NAT. Siehe Übersicht über die Konfiguration von persistenten NAT und NAT64.
Überblick
In einer NAT-Netzwerk-Bereitstellung auf Betreiberniveau (CGN) können Sie die Schnittstellen-IP-Adresse als NAT-Adresse konfigurieren, um eine dauerhafte Netzwerkadressübersetzung durchzuführen. Auf diese Weise kann der interne Host eine Quell-NAT-Zuordnungsbeziehung durch den ausgehenden Datenverkehr erstellen, der von intern nach extern initiiert wird. Dann sendet der externe Host den Datenverkehr zurück an diesen internen Host, indem er den Datenverkehr über die freigegebene 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 übereinstimmt, und dann konfigurieren Sie die NAT-Regel in1 so, dass sie mit den spezifischen Quell- und Zieladressen übereinstimmt, um eine persistente NAT durchzufü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. Dann deaktivieren Sie die Portüberlastung für Schnittstellen-NAT.
Als Nächstes konfigurieren Sie eine Sicherheitsrichtlinie, um persistenten NAT-Datenverkehr vom externen Netzwerk (externe Zone) zum internen Netzwerk (interne Zone) für jeden der persistenten Remotehost-NAT-Typen zuzulassen.
Topologie
Abbildung 3 zeigt eine persistente NAT-Topologie der Schnittstelle.
der Schnittstelle
Tabelle 2 zeigt die in diesem Beispiel konfigurierten Parameter.
Parameter |
Beschreibung |
|---|---|
Externe Zone |
Externes Netzwerk |
Interne Zone |
Internes Netzwerk |
External_phones2 |
Telefon2 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 |
Ziel-IP-Adresse |
Subnetz 192.0.2.2/32 |
Quell-IP-Adresse |
GE-0/0/1 und GE-0/0/2 |
NAT-Schnittstellen für die Verkehrsrichtung |
Konfiguration
Vorgehensweise
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, damit sie mit Ihrer Netzwerkkonfiguration übereinstimmen, kopieren Sie die Befehle, fügen Sie sie [edit] in die CLI auf Hierarchieebene ein und geben Sie sie dann im 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 dazu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im CLI-Benutzerhandbuch.
So konfigurieren Sie einen Schnittstellen-NAT-Regelsatz:
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-Proxy-Datenverkehr von internen SIP-Telefonen zu einem externen SIP-Proxy-Server 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
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration durch Eingabe der show security nat show security policies und-Befehle. Wenn die Ausgabe nicht die beabsichtigte Konfiguration anzeigt, 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, rufen Sie den Konfigurationsmodus auf commit .
Verifizierung
Bestätigen Sie, 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
Stellen Sie sicher, 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 den Datenverkehr, der über die private Quelladresse 192.0.2.12 auf das Gerät gelangt und für einen öffentlichen Host unter 198.51.100.45 bestimmt ist. Der Rückverkehr 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 abzurufen, 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-Proxyserver 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– Richtlinienname, der den STUN-Datenverkehr von den internen SIP-Telefonen zum externen STUN-Server zugelassen hat.
Beispiel: Konfiguration der adressabhängigen Filterung für IPv6-Clients
In diesem Beispiel wird gezeigt, wie die adressabhängige Filterung für IPv6-Clients mit 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 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
Vorgehensweise
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, damit sie mit Ihrer Netzwerkkonfiguration übereinstimmen, kopieren Sie die Befehle, fügen Sie sie [edit] in die CLI auf Hierarchieebene ein und geben Sie sie dann im 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 dazu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus.
So konfigurieren Sie die adressabhängige Filterung für IPv6-Clients:
Erstellen Sie eine Reihe von Regeln für NAT64.
[edit security nat static] user@host# set rule-set test_rs from interface ge-0/0/1
Entspricht der Regel.
[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 ein weiteres Regelwerk 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
Stimmen Sie die Regel mit der Zieladresse ab.
[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 persistentes NAT.
[edit security nat] user@host# set source rule-set myipv4_rs rule ipv4_rule then source-nat pool persistent-nat permit target-host
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration durch Eingabe des show nat source Befehls. Wenn die Ausgabe nicht die beabsichtigte Konfiguration anzeigt, 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, rufen Sie den Konfigurationsmodus auf commit .
Verifizierung
Bestätigen Sie, 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
Stellen Sie sicher, dass die Konfiguration aktiviert ist und funktioniert.
Aktion
Geben Sie im Betriebsmodus die folgenden Befehle ein:
show security nat static rule test_ruleshow security nat source rule ipv4_ruleshow security nat source pool myipv4
Beispiel: Endpunktunabhängige Filterung für IPv6-Clients konfigurieren
In diesem Beispiel wird gezeigt, wie die Endgerät-unabhängige Filterung für IPv6-Clients mit 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 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
Vorgehensweise
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, damit sie mit Ihrer Netzwerkkonfiguration übereinstimmen, kopieren Sie die Befehle, fügen Sie sie [edit] in die CLI auf Hierarchieebene ein und geben Sie sie dann im 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 dazu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus.
So konfigurieren Sie die Endgeräte-unabhängige Filterung für IPv6-Clients:
Erstellen Sie eine Reihe von Regeln für NAT64.
[edit security nat static] user@host# set rule-set test_rs from interface ge-0/0/1
Entspricht der Regel.
[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 ein weiteres Regelwerk 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
Stimmen Sie die Regel mit der Zieladresse ab.
[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 persistentes 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
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration durch Eingabe des show security nat Befehls. Wenn die Ausgabe nicht die beabsichtigte Konfiguration anzeigt, 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, rufen Sie den Konfigurationsmodus auf commit .
Verifizierung
Bestätigen Sie, 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
Stellen Sie sicher, dass die Konfiguration aktiviert ist und funktioniert.
Aktion
Geben Sie im Betriebsmodus die folgenden Befehle ein.
show security nat static rule test_ruleshow security nat source rule ipv4_ruleshow security nat source pool myipv4
Beispiel: Festlegen der maximalen Anzahl persistenter NAT-Bindungen
In diesem Beispiel wird gezeigt, wie Sie die persistente NAT-Kapazität erhöhen können.
Anforderungen
Bevor Sie beginnen, lesen Sie Grundlegendes zu persistentem NAT und NAT64.
Überblick
In diesem Beispiel aktivieren Sie die Option Persistente NAT-Kapazität maximieren. Um diese Option zu aktivieren, kann die unterstützte maximale Bindungskapazität des zentralen Punkts ungefähr auf 1/8 der Sitzungskapazität des zentralen Punktes bis zu 2 m erhöht werden, und die unterstützte maximale SPU-Bindungskapazität kann ungefähr auf 1/4 jeder SPU-Sitzungskapazität erhöht werden. Dementsprechend verringert sich die Kapazität der Flow-Sitzung sowohl auf dem CP als auch auf jeder SPU um 1/4.
In diesem Beispiel aktivieren Sie die Sitzungskapazität auf maximal 20.000.000 am zentralen Punkt und maximal 1.100.000 auf jeder der SPUs mit maximaler Sitzungskonfiguration. Verwenden Sie den maximize-persistent-nat-capacity Befehl.
Konfiguration
Vorgehensweise
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
Beim Switching zur Maximierung des persistenten NAT-Kapazitätsmodus oder zurück in den regulären Modus müssen Sie das Gerät neu starten.
Wenn Sie das Gerät wieder in den regulären Modus schalten möchten, löschen Sie die Konfiguration für den Modus "Persistente NAT-Kapazität maximieren".
[edit] user@host# delete security forwarding-process application-services maximize-persistent-nat-capacity
Übersicht über persistentes NAT-Hairpinning
Wenn Datenverkehr zwischen zwei Hosts gesendet wird, kennt der Quellhost des Datenverkehrs den Zielhost möglicherweise nur anhand seiner öffentlichen IP-Adresse. In Wirklichkeit kann sich der Zielhost im selben privaten Adressraum wie der Quellhost befinden. Hairpinning ist der Prozess, bei dem der Datenverkehr in die Richtung zurückgeführt wird, aus der er gekommen ist, um ihn zu seinem Zielhost in einem privaten Subnetz zu gelangen.
Im Allgemeinen erkennt ein Quellhost in einem Subnetz möglicherweise nicht, dass der Datenverkehr für einen Zielhost innerhalb desselben Subnetzes bestimmt ist, da er den Zielhost nur anhand seiner öffentlichen IP-Adresse identifiziert. Der NAT analysiert die IP-Pakete und leitet das Paket zurück an den richtigen Host.
Unterstützung für NAT-Hairpins ist erforderlich, wenn zwei Hosts im internen Netzwerk mithilfe einer Bindung auf dem NAT-Gerät miteinander kommunizieren möchten. In diesem Fall empfängt das NAT-Gerät ein Paket vom internen Netzwerk und leitet es an das interne Netzwerk weiter. 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. Dasselbe passiert, wenn Host 2 Datenverkehr an Host 3 sendet. Auf diese Weise können Host 1 und Host 2, wenn sie kommunizieren möchten, die externen IP-Adressen des jeweils anderen identifizieren.
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/24Host 2 IP-Adresse -
10.10.10.10/24Intra-Zone IP-Adresse -
10.10.10.254/24Host 3 IP-Adresse -
198.51.100.2/24Interzonenübergreifende IP-Adresse –
198.51.100.254/24Host 1 und Host 2 befinden sich in Zone
reht0z, und Host 3 befindet sich inreth1zZone
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 Remote-Host-NAT-Typen. Um Hairpinning zuzulassen, müssen Sie eine Sicherheitsrichtlinie konfigurieren, die Datenverkehr zwischen Endpunkten 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 jede persistente Remote-Host-NAT unterstützt 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 Netzwerkschnittstellen auf dem Gerät. Siehe Schnittstellen-Benutzerhandbuch für Sicherheits-Geräte.
Erstellen Sie Sicherheitszonen und weisen Sie ihnen Schnittstellen zu. Siehe Grundlegendes zu Sicherheitszonen.
Überblick
Durch Hairpinning können Pakete aus dem privaten Netzwerk übersetzt und dann in einer Schleife an das private Netzwerk zurückgesendet 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. Dann ü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. Dasselbe passiert, wenn Host 2 Datenverkehr an Host 3 sendet. Auf diese Weise können Host 1 und Host 2, wenn sie kommunizieren möchten, die externen IP-Adressen des jeweils anderen identifizieren.
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/24Host 2 IP-Adresse -
10.10.10.10/24Intra-Zone IP-Adresse -
10.10.10.254/24Host 3 IP-Adresse -
198.51.100.2/24Interzonenübergreifende IP-Adresse –
198.51.100.254/24Host 1 und Host 2 befinden sich in Zone
reht0z, und Host 3 befindet sich inreth1zZone
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
Vorgehensweise
Schritt-für-Schritt-Anleitung
So konfigurieren Sie persistentes NAT-Hairpinning:
Konfigurieren Sie 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
Ergebnisse
Geben Sie im Konfigurationsmodus den show security nat Befehl ein, um Ihre Konfiguration zu bestätigen. Wenn die Ausgabe nicht die beabsichtigte Konfiguration anzeigt, 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, rufen Sie den Konfigurationsmodus auf commit .
Verifizierung
- Datenverkehr, der zwischen den Hosts gesendet wird, um Bindung 1 zu erstellen
- Datenverkehr, der zwischen den Hosts gesendet wird, um Bindung 2 zu erstellen
- Datenverkehr, der zwischen zwei Hosts gesendet wird
Datenverkehr, der zwischen den Hosts gesendet wird, um Bindung 1 zu erstellen
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, um Bindung 2 zu erstellen
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 an 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-Bindung
Verwenden Sie den Feature-Explorer , um die Plattform- und Release-Unterstützung für bestimmte Funktionen zu bestätigen.
Verwenden Sie die folgende Tabelle, um plattformspezifische Verhaltensweisen für Ihre Plattform zu überprüfen:
| Plattform-Unterschied | |
|---|---|
| SRX-Serie |
|