Inline-NAT
Inline Network Address Translation – Überblick
Inline-NAT nutzt die Funktionen der MPC-Linecard, sodass keine Servicekarte für NAT erforderlich ist. So können Sie Adressübersetzungen mit Leitungsgeschwindigkeit und niedriger Latenz (bis zu 120 Gbit/s pro Steckplatz) erzielen. Die aktuelle Implementierung sieht Folgendes vor:
-
Statische 1:1-Adresszuordnung.
-
Bidirektionale Zuordnung: Quell-NAT für ausgehenden Datenverkehr und Ziel-NAT für eingehenden Datenverkehr.
-
Keine Begrenzung der Anzahl der Flows.
-
Unterstützung für Quelle, Ziel und zweimal NAT, wie in Abbildung 1 dargestellt. Inline NAT unterstützt die Übersetzungsart
basic-nat44. Ab Junos OS Version 15.1R1 unterstützttwice-basic-nat-44Inline-NAT auch . -
Unterstützung für Hairpinning.
Um Inline-NAT zu konfigurieren, definieren Sie Ihre Serviceschnittstelle als Typschnittstelle si- (Service-Inline). Außerdem müssen Sie eine ausreichende Bandbreite für die Inline-Schnittstelle reservieren. Auf diese Weise können Sie sowohl Schnittstellen- als auch Next-Hop-Service-Sets konfigurieren, die für NAT verwendet werden. Die si- Schnittstelle dient als "Virtual Service PIC".
-
Es wird nur statisches NAT unterstützt. Portübersetzung, dynamische NAT und ALGs werden nicht unterstützt. Daher funktionieren Anwendungen wie SIP oder FTP Active Mode, die eine erweiterte Verarbeitung für NAT erfordern, nicht. Ein MS-MPC, MS-MIC, MS-DPC oder MS-PIC wird weiterhin für die Verarbeitung Stateful-Firewalls, die ALG-Unterstützung und die dynamische Portübersetzung benötigt.
-
Inline-NAT unterstützt weder Sampling noch Protokollierung von Paketen.
Vorteile von Inline NAT
-
Keine Servicekarte mehr erforderlich
-
Unterstützt mehr NAT-Flows als eine Servicekarte
Siehe auch
Beispiel: Inline Network Address Translation konfigurieren – schnittstellenbasierte Methode
Dieses Konfigurationsbeispiel zeigt, wie schnittstellenbasierte Inline-Network Address Translation (NAT) auf Geräten der MX-Serie mithilfe von si- (Service-Inline-)Schnittstellen mit schnittstellenartigen Service-Sets konfiguriert wird.
Dieses Thema behandelt:
- Anforderungen
- Übersicht und Topologie
- Konfiguration für Inline Network Address Translation
- Verifizierung
- Konfiguration für Twice NAT
- Konfiguration für Ziel-NAT
Anforderungen
In diesem Beispiel werden die folgenden Hardware- und Softwarekomponenten verwendet:
-
Router der MX-Serie mit einer Linecard für modulare Portkonzentratoren (MPC)
-
Junos OS Version 11.4R1 oder höher
Übersicht und Topologie
Ab Junos OS Version 11.4R1 können MPC-Linecards einige Services ausführen, ohne dass eine dedizierte Servicekarte, wie z. B. eine MS-MPC, erforderlich ist. Inline-Dienste bieten im Allgemeinen eine bessere Leistung als die Verwendung einer Servicekarte, ihre Funktionalität ist jedoch tendenziell grundlegender. Inline-NAT unterstützt beispielsweise nur statisches NAT.
In diesem Beispiel stellt ein Gerät der MX-Serie mit einer MPC-Linecard Inline-Quell-NAT-Services für den Datenverkehr bereit, der zwischen zwei Endhosts fließt. Die Topologie für dieses Szenario ist in Abbildung 2 dargestellt
Wie in der Abbildung dargestellt, sendet Host H1 Datenverkehr an Server S1. Das Gerät der MX-Serie führt Quell-NAT durch, um die Quell-IP-Adresse von H1 von 10.1.1.2 in 192.0.2.2 zu übersetzen. Server S1 sendet dann Rückverkehr an Host H1 unter Verwendung der Ziel-IP-Adresse 192.0.2.2, und das Gerät der MX-Serie setzt die IP-Adresse von H1 auf 10.1.1.2 zurück.
In diesem Szenario werden die folgenden Konfigurationselemente verwendet:
-
Inline-Serviceschnittstelle: Eine virtuelle Schnittstelle, die sich auf der Packet Forwarding Engine des MPC befindet. Um auf Services zuzugreifen, fließt der Datenverkehr in diese (Service-Inline-) Schnittstellen hinein und aus diesen
si-heraus. -
Service-Set: Definiert die auszuführenden Services und gibt an, welche Inline-Schnittstellen den Datenverkehr in und aus dem Service-Set weiterleiten. Es gibt zwei Möglichkeiten, Service-Sets zu implementieren:
-
Schnittstellenstil: Eine schnittstellenbasierte Methode, bei der Pakete, die an einer Schnittstelle ankommen, über den Inline-Service weitergeleitet werden.
-
Next-Hop-Stil: Eine routenbasierte Methode, bei der statische Routen verwendet werden, um Pakete, die für ein bestimmtes Ziel bestimmt sind, über den Inline-Service weiterzuleiten.
In diesem Beispiel wird der Servicesatz im schnittstellenstil verwendet.
-
-
NAT-Regel: Verwendet eine Wenn-Dann-Struktur (ähnlich wie bei Firewall-Filtern), um Übereinstimmungsbedingungen zu definieren und dann die Adressübersetzung auf den übereinstimmenden Datenverkehr anzuwenden.
-
NAT-Pool: Ein benutzerdefinierter Satz von IP-Adressen, die von der NAT-Regel für die Übersetzung verwendet werden.
Diese Elemente kommen zusammen, wie in Abbildung 3 dargestellt
Konfiguration für Inline Network Address Translation
Führen Sie die folgenden Aufgaben aus, um Inline-NAT mithilfe eines Servicesatzes im Schnittstellenstil zu konfigurieren:
- CLI-Schnellkonfiguration
- Aktivieren von Inline-Services und Erstellen einer Inline-Schnittstelle
- Konfigurieren von NAT-Regeln und -Pools
- Konfigurieren des Service-Sets (im Schnittstellenstil)
- Konfiguration physischer Schnittstellen
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, und kopieren Sie dann die Befehle und fügen Sie sie dann in die CLI auf der Hierarchieebene [edit] ein.
## Enable inline services, create an si- interface, reserve bandwidth ## set chassis fpc 0 pic 0 inline-services bandwidth 1g set interfaces si-0/0/0 unit 0 family inet ## Configure a NAT rule and pool ## set services nat rule SRC-NAT1 match-direction input set services nat rule SRC-NAT1 term r1 from source-address 10.1.1.0/24 set services nat rule SRC-NAT1 term r1 then translated translation-type basic-nat44 set services nat rule SRC-NAT1 term r1 then translated source-pool p1 set services nat pool p1 address 192.0.2.0/24 ## Configure the (interface-style) service set ## set services service-set INT-STYLE-SS-NAT1 nat-rules SRC-NAT1 set services service-set INT-STYLE-SS-NAT1 interface-service service-interface si-0/0/0.0 ## Configure interfaces ## set interfaces xe-0/0/0 unit 0 family inet address 10.1.1.1/24 set interfaces xe-0/0/0 description INSIDE set interfaces xe-1/0/0 unit 0 family inet address 192.168.1.1/24 set interfaces xe-1/0/0 description OUTSIDE set interfaces xe-0/0/0 unit 0 family inet service input service-set INT-STYLE-SS-NAT1 set interfaces xe-0/0/0 unit 0 family inet service output service-set INT-STYLE-SS-NAT1
Aktivieren von Inline-Services und Erstellen einer Inline-Schnittstelle
Schritt-für-Schritt-Anleitung
Aktivieren Sie Inline-Services für den entsprechenden FPC-Steckplatz und PIC-Steckplatz, und definieren Sie die Bandbreite, die für Inline-Services reserviert werden soll.
Die FPC- und PIC-Einstellungen hier erstellen eine Schnittstelle und werden dieser
si-zugeordnet.[edit chassis fpc 0 pic 0] user@MX# set inline-services bandwidth 1g
Geben Sie auf der
si-Schnittstelle die Protokollfamilie (oder -familien) an, die NAT-Services benötigen.Hinweis:Die FPC- und PIC-Einstellungen müssen hier mit den oben definierten Einstellungen übereinstimmen.
[edit interfaces si-0/0/0] user@MX# set unit 0 family inet
Konfigurieren von NAT-Regeln und -Pools
Schritt-für-Schritt-Anleitung
Konfigurieren Sie eine NAT-Regel, die mit Datenverkehr übereinstimmt, der aus dem H1-Subnetz (10.1.1.0/24) auf dem MX-Gerät ankommt, ihn mit grundlegender IPv4-NAT übersetzt und eine IP-Adresse aus dem Pool
p1verwendet.[edit services nat] user@MX# set rule SRC-NAT1 match-direction input user@MX# set rule SRC-NAT1 term r1 from source-address 10.1.1.0/24 user@MX# set rule SRC-NAT1 term r1 then translated translation-type basic-nat44 user@MX# set rule SRC-NAT1 term r1 then translated source-pool p1
Konfigurieren Sie den NAT-Pool.
[edit services nat] user@MX# set pool p1 address 192.0.2.0/24
Konfigurieren des Service-Sets (im Schnittstellenstil)
Schritt-für-Schritt-Anleitung
Konfigurieren Sie eine Servicegruppe, die den Inline-NAT-Dienst (
nat-rules) und die oben definierte Inlineschnittstelle verwendet. Verwenden Sie deninterface-serviceParameter, um anzugeben, dass es sich um einen Servicesatz im Schnittstellenstil handelt.Der Datenverkehr fließt in die Schnittstelle hinein und aus ihr
si-heraus, um auf den Inline-NAT-Dienst zuzugreifen.[edit services] user@MX# set service-set INT-STYLE-SS-NAT1 nat-rules SRC-NAT1 user@MX# set service-set INT-STYLE-SS-NAT1 interface-service service-interface si-0/0/0.0
Konfiguration physischer Schnittstellen
Schritt-für-Schritt-Anleitung
Konfigurieren Sie die physischen Schnittstellen.
[edit interfaces] user@MX# set xe-0/0/0 unit 0 family inet address 10.1.1.1/24 user@MX# set xe-0/0/0 description INSIDE user@MX# set xe-1/0/0 unit 0 family inet address 192.168.1.1/24 user@MX# set xe-1/0/0 description OUTSIDE
Geben Sie auf der Schnittstelle "inside" an, dass der Datenverkehr über den oben definierten Servicesatz gesendet wird.
[edit interfaces xe-0/0/0 unit 0] user@MX# set family inet service input service-set INT-STYLE-SS-NAT1 user@MX# set family inet service output service-set INT-STYLE-SS-NAT1
Ergebnisse
chassis {
fpc 0 {
pic 0 {
inline-services {
bandwidth 1g;
}
}
}
}
services {
service-set INT-STYLE-SS-NAT1 {
nat-rules SRC-NAT1;
interface-service {
service-interface si-0/0/0.0;
}
}
nat {
pool p1 {
address 192.0.2.0/24;
}
rule SRC-NAT1 {
match-direction input;
term r1 {
from {
source-address {
10.1.1.0/24;
}
}
then {
translated {
source-pool p1;
translation-type {
basic-nat44;
}
}
}
}
}
}
}
interfaces {
si-0/0/0 {
unit 0 {
family inet;
}
}
xe-0/0/0 {
description INSIDE;
unit 0 {
family inet {
service {
input {
service-set INT-STYLE-SS-NAT1;
}
output {
service-set INT-STYLE-SS-NAT1;
}
}
address 10.1.1.1/24;
}
}
}
xe-1/0/0 {
description OUTSIDE;
unit 0 {
family inet {
address 192.168.1.1/24;
}
}
}
}
Verifizierung
Bestätigen Sie, dass die Konfiguration ordnungsgemäß funktioniert.
Überprüfen der Erreichbarkeit von Host H1 zu Server S1
Zweck
Überprüfen Sie die Erreichbarkeit zwischen H1 und S1.
Aktion
Stellen Sie auf Host H1 sicher, dass der Host den Server S1 pingen kann.
user@H1> ping 192.168.1.2 count 5 PING 192.168.1.2 (192.168.1.2): 56 data bytes 64 bytes from 192.168.1.2: icmp_seq=0 ttl=63 time=0.991 ms 64 bytes from 192.168.1.2: icmp_seq=1 ttl=63 time=14.186 ms 64 bytes from 192.168.1.2: icmp_seq=2 ttl=63 time=3.016 ms 64 bytes from 192.168.1.2: icmp_seq=3 ttl=63 time=3.742 ms 64 bytes from 192.168.1.2: icmp_seq=4 ttl=63 time=4.748 ms --- 192.168.1.2 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.991/5.337/14.186/4.593 ms
Bedeutung
H1 kann S1 erfolgreich erreichen.
Überprüfen der Adressübersetzung
Zweck
Vergewissern Sie sich, dass die Adressübersetzung korrekt funktioniert.
Aktion
Überprüfen Sie auf dem MX-Gerät, ob die Inline-NAT-Konfigurationsdetails korrekt angewendet wurden.
user@MX> show services inline nat pool Interface: si-0/0/0, Service set: INT-STYLE-SS-NAT1 NAT pool: p1, Translation type: BASIC NAT44 Address range: 192.0.2.0-192.0.2.255 NATed packets: 5, deNATed packets: 5, Errors: 0Überprüfen Sie auf Server S1, ob der Server die Pings von der NAT-übersetzten Quell-IP-Adresse von H1 (192.0.2.2) empfängt.
Geben Sie den folgenden Befehl ein und senden Sie erneut Pings von H1.
Hinweis:Für dieses Setup wird ein anderes MX-Gerät verwendet, um Server S1 darzustellen, um die Überwachung des eingehenden Datenverkehrs zu ermöglichen.
user@S1> monitor traffic interface xe-1/1/1 no-resolve verbose output suppressed, use <detail> or <extensive> for full protocol decode Address resolution is OFF. Listening on xe-1/1/1, capture size 96 bytes 23:28:28.577377 In IP 192.0.2.2 > 192.168.1.2: ICMP echo request, id 3293, seq 0, length 64 23:28:28.577405 Out IP 192.168.1.2 > 192.0.2.2: ICMP echo reply, id 3293, seq 0, length 64 23:28:29.579253 In IP 192.0.2.2 > 192.168.1.2: ICMP echo request, id 3293, seq 1, length 64 23:28:29.579278 Out IP 192.168.1.2 > 192.0.2.2: ICMP echo reply, id 3293, seq 1, length 64 23:28:30.579275 In IP 192.0.2.2 > 192.168.1.2: ICMP echo request, id 3293, seq 2, length 64 23:28:30.579302 Out IP 192.168.1.2 > 192.0.2.2: ICMP echo reply, id 3293, seq 2, length 64 23:28:31.580279 In IP 192.0.2.2 > 192.168.1.2: ICMP echo request, id 3293, seq 3, length 64 23:28:31.580305 Out IP 192.168.1.2 > 192.0.2.2: ICMP echo reply, id 3293, seq 3, length 64 23:28:32.581266 In IP 192.0.2.2 > 192.168.1.2: ICMP echo request, id 3293, seq 4, length 64 23:28:32.581293 Out IP 192.168.1.2 > 192.0.2.2: ICMP echo reply, id 3293, seq 4, length 64 ^C 10 packets received by filter 0 packets dropped by kernel
Bedeutung
Schritt 1 oben bestätigt, dass die Inline-NAT-Dienstparameter und der schnittstellenartige Servicesatz korrekt implementiert sind. Schritt 2 oben bestätigt, dass Server S1 die Pings von H1 von seiner NAT-übersetzten Quell-IP-Adresse korrekt empfängt.
Konfiguration für Twice NAT
Führen Sie die folgenden Aufgaben aus, um Twice NAT mithilfe eines Servicesatzes im Schnittstellenstil zu konfigurieren:
- CLI-Schnellkonfiguration
- Konfigurieren des Service-Sets (im Schnittstellenstil)
- Konfiguration physischer Schnittstellen
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, und kopieren Sie dann die Befehle und fügen Sie sie dann in die CLI auf der Hierarchieebene [edit] ein.
## Configure a NAT rule and pool ## set services nat pool dst-pool-p1 address 100.1.1.2/32 set services nat pool dst-pool-p2 address 100.1.1.4/32 set services nat pool src-pool-p2 address 20.0.0.0/8 set services nat allow-overlapping-nat-pools set services nat rule TWICE_rule_1 match-direction output set services nat rule TWICE_rule_1 term TWICE_rule_1_term_1 from source-address 10.0.0.0/8 set services nat rule TWICE_rule_1 term TWICE_rule_1_term_1 from destination-address 120.1.1.2/32 set services nat rule TWICE_rule_1 term TWICE_rule_1_term_1 then translated source-pool src-pool-p1 set services nat rule TWICE_rule_1 term TWICE_rule_1_term_1 then translated destination-pool dst-pool-p1 set services nat rule TWICE_rule_1 term TWICE_rule_1_term_1 then translated translation-type twice-basic-nat-44 set services nat rule TWICE_rule_1 term TWICE_rule_1_term_2 from source-address 10.0.0.0/8 set services nat rule TWICE_rule_1 term TWICE_rule_1_term_2 from destination-address 120.1.1.4/32 set services nat rule TWICE_rule_1 term TWICE_rule_1_term_2 then translated source-pool src-pool-p2 set services nat rule TWICE_rule_1 term TWICE_rule_1_term_2 then translated destination-pool dst-pool-p2 set services nat rule TWICE_rule_1 term TWICE_rule_1_term_2 then translated translation-type twice-basic-nat-44 set services nat rule-set TWICE_NAT_RS1 rule TWICE_rule_1 set services service-set TWICE_SS_1 nat-rule-sets TWICE_NAT_RS1 set services service-set TWICE_SS_1 interface-service service-interface si-2/0/0 ## Configure interfaces ## set interfaces si-2/0/0 unit 0 family inet filter input log_filer set interfaces xe-2/0/0 unit 0 family inet address 10.1.1.251/16 set interfaces xe-2/0/1 unit 0 family inet service input service-set TWICE_SS_1 service-filter TWICE_SF_in set interfaces xe-2/0/1 unit 0 family inet service output service-set TWICE_SS_1 service-filter TWICE_SF_out set interfaces xe-2/0/1 unit 0 family inet address 100.1.1.251/16 ## Configure firewall filters ## set firewall family inet service-filter TWICE_SF_in term SF_R1_term_1 from source-address 100.1.1.2/32 set firewall family inet service-filter TWICE_SF_in term SF_R1_term_1 then service set firewall family inet service-filter TWICE_SF_in term SF_R1_term_2 from source-address 100.1.1.4/32 set firewall family inet service-filter TWICE_SF_in term SF_R1_term_2 then service set firewall family inet service-filter TWICE_SF_in term default then count non-matching-packets-in set firewall family inet service-filter TWICE_SF_out term SF_R1_out_term_1 from destination-address 120.1.1.2/32 set firewall family inet service-filter TWICE_SF_out term SF_R1_out_term_1 then service set firewall family inet service-filter TWICE_SF_out term SF_R1_out_term_2 from destination-address 120.1.1.4/32 set firewall family inet service-filter TWICE_SF_out term SF_R1_out_term_2 then service set firewall family inet service-filter TWICE_SF_out term default then count non-matching-packets-out set firewall family inet service-filter TWICE_SF_out term default then skip
Konfigurieren des Service-Sets (im Schnittstellenstil)
Konfigurieren Sie eine Servicegruppe, die den Twice NAT-Dienst verwendet (
nat-rules), aVerwenden Sie deninterface-serviceParameter, um anzugeben, dass es sich um eine Servicegruppe im Schnittstellenstil handelt.[edit services] user@MX# set service-set TWICE_SS_1 nat-rule-sets TWICE_NAT_RS1 user@MX# set service-set TWICE_SS_1 interface-service service-interface si-2/0/0
Konfiguration physischer Schnittstellen
Schritt-für-Schritt-Anleitung
Konfigurieren Sie die physischen Schnittstellen.
[edit interfaces] user@MX# set si-2/0/0 unit 0 family inet filter input log_filer user@MX# set xe-2/0/0 unit 0 family inet address 10.1.1.251/16 user@MX# set xe-2/0/1 unit 0 family inet service input service-set TWICE_SS_1 service-filter TWICE_SF_in user@MX# set xe-2/0/1 unit 0 family inet service output service-set TWICE_SS_1 service-filter TWICE_SF_out user@MX# set xe-2/0/1 unit 0 family inet address 100.1.1.251/16
Geben Sie auf der Schnittstelle an, dass der Datenverkehr über den oben definierten Servicesatz gesendet wird.
[edit interfaces] user@MX# set xe-2/0/1 unit 0 family inet service input service-set TWICE_SS_1 service-filter TWICE_SF_in user@MX# set xe-2/0/1 unit 0 family inet service output service-set TWICE_SS_1 service-filter TWICE_SF_out
Konfigurieren Sie die Firewall-Filteroptionen, um den Datenverkehr über die
siSchnittstelle zu leiten.[edit firewall] user@MX# set family inet service-filter TWICE_SF_in term SF_R1_term_1 from source-address 100.1.1.2/32 user@MX# set family inet service-filter TWICE_SF_in term SF_R1_term_1 then service user@MX# set family inet service-filter TWICE_SF_in term SF_R1_term_2 from source-address 100.1.1.4/32 user@MX# set family inet service-filter TWICE_SF_in term SF_R1_term_2 then service user@MX# set family inet service-filter TWICE_SF_in term default then count non-matching-packets-in user@MX# set family inet service-filter TWICE_SF_out term SF_R1_out_term_1 from destination-address 120.1.1.2/32 user@MX# set family inet service-filter TWICE_SF_out term SF_R1_out_term_1 then service user@MX# set family inet service-filter TWICE_SF_out term SF_R1_out_term_2 from destination-address 120.1.1.4/32 user@MX# set family inet service-filter TWICE_SF_out term SF_R1_out_term_2 then service user@MX# set family inet service-filter TWICE_SF_out term default then count non-matching-packets-out user@MX# set family inet service-filter TWICE_SF_out term default then skip
Konfiguration für Ziel-NAT
Führen Sie die folgenden Aufgaben aus, um Destination NAT mithilfe eines Servicesatzes im Schnittstellenstil zu konfigurieren:
- CLI-Schnellkonfiguration
- Inline-Services ermöglichen
- Konfigurieren des Service-Sets (im Schnittstellenstil)
- Konfiguration physischer Schnittstellen
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, und kopieren Sie dann die Befehle und fügen Sie sie dann in die CLI auf der Hierarchieebene [edit] ein.
## Enable inline services, create an si- interface ## set chassis fpc 2 pic 0 inline-services set chassis fpc 2 pic 1 inline-services set services service-set DANT44_SS_1 nat-rule-sets DNAT44_RS_1 set services service-set DANT44_SS_1 interface-service service-interface si-2/0/0.0 ## Configure a NAT rule ## set services nat rule DNAT44_rule_1 match-direction output set services nat rule DNAT44_rule_1 term DNAT44_R1_term_1 from destination-address 21.1.1.2/32 set services nat rule DNAT44_rule_1 term DNAT44_R1_term_1 then translated destination-prefix 192.168.1.2/32 set services nat rule DNAT44_rule_1 term DNAT44_R1_term_1 then translated translation-type dnat-44 set services nat rule-set DNAT44_RS_1 rule DNAT44_rule_1 ## Configure interfaces (and the interface-style) and service filters ## set interfaces si-2/0/0 unit 0 family inet set interfaces xe-2/0/0 unit 0 family inet address 100.2.1.2/24 set interfaces xe-2/0/1 unit 0 family inet service input service-set DANT44_SS_1 service-filter SF_in set interfaces xe-2/0/1 unit 0 family inet service output service-set DANT44_SS_1 service-filter SF_out set interfaces xe-2/0/1 unit 0 family inet address 192.168.1.251/24 ## Configure the firewall filter options and static route options## set firewall family inet service-filter SF_in term SF_in_term1 from source-address 192.168.1.2/32 set firewall family inet service-filter SF_in term SF_in_term1 then service set firewall family inet service-filter SF_out term SF_out_term1 from destination-address 21.1.1.2/32 set firewall family inet service-filter SF_out term SF_out_term1 then service set routing-options static route 21.1.0.0/16 next-hop 100.2.1.2
Inline-Services ermöglichen
Aktivieren Sie Inline-Services für den relevanten FPC-Steckplatz und PIC-Steckplatz.
Die FPC- und PIC-Einstellungen hier erstellen eine Schnittstelle und werden dieser
si-zugeordnet.[edit chassis fpc 2 pic 0] user@MX# set inline-services
[edit chassis fpc 2 pic 1] user@MX# set inline-services
Konfigurieren des Service-Sets (im Schnittstellenstil)
Konfigurieren Sie eine Servicegruppe, die den Ziel-NAT-Dienst verwendet (
nat-rules), aVerwenden Sie deninterface-serviceParameter, um anzugeben, dass es sich um eine Servicegruppe im Schnittstellenstil handelt.[edit services service-set] user@MX# set DANT44_SS_1 nat-rule-sets DNAT44_RS_1 user@MX# set DANT44_SS_1 DANT44_SS_1 interface-service service-interface si-2/0/0.0
Konfiguration physischer Schnittstellen
Konfigurieren Sie die physischen Schnittstellen.
[edit interfaces] user@MX# set si-2/0/0 unit 0 family inet user@MX# set xe-2/0/0 unit 0 family inet address 100.2.1.2/24
Geben Sie auf der Schnittstelle an, dass der Datenverkehr über den zuvor definierten Servicesatz gesendet wird.
[edit interfaces] user@MX# set xe-2/0/1 unit 0 family inet service input service-set DANT44_SS_1 service-filter SF_in user@MX# set xe-2/0/1 unit 0 family inet service output service-set DANT44_SS_1 service-filter SF_out user@MX# set interfaces xe-2/0/1 unit 0 family inet address 192.168.1.251/24
Konfigurieren Sie die Firewall-Filteroptionen, um den Datenverkehr zu den
siSchnittstellen zu leiten.[edit firewall] user@MX# set firewall family inet service-filter SF_in term SF_in_term1 from source-address 192.168.1.2/32 user@MX# set firewall family inet service-filter SF_in term SF_in_term1 then service user@MX# set firewall family inet service-filter SF_out term SF_out_term1 from destination-address 21.1.1.2/32 user@MX# set firewall family inet service-filter SF_out term SF_out_term1 then service
Konfigurieren Sie die statischen Routing-Optionen.
[edit routing-optipons] user@MX# set static route 21.1.0.0/16 next-hop 100.2.1.2
Beispiel: Inline Network Address Translation konfigurieren – routenbasierte Methode
Dieses Konfigurationsbeispiel zeigt, wie routenbasierte Inline-Network Address Translation (NAT) auf Geräten der MX-Serie mithilfe von si- (Service-Inline-)Schnittstellen mit Service-Sets im Next-Hop-Stil konfiguriert wird.
Dieses Thema behandelt:
Anforderungen
In diesem Beispiel werden die folgenden Hardware- und Softwarekomponenten verwendet:
Router der MX-Serie mit einer Linecard für modulare Portkonzentratoren (MPC)
Junos OS Version 11.4R1 oder höher
Übersicht und Topologie
Ab Junos OS Version 11.4R1 können MPC-Linecards einige Services ausführen, ohne dass eine dedizierte Servicekarte, wie z. B. eine MS-MPC, erforderlich ist. Inline-Dienste bieten im Allgemeinen eine bessere Leistung als die Verwendung einer Servicekarte, ihre Funktionalität ist jedoch tendenziell grundlegender. Inline-NAT unterstützt beispielsweise nur statisches NAT.
In diesem Beispiel stellt ein Gerät der MX-Serie mit einer MPC-Linecard Inline-Quell-NAT-Services für den Datenverkehr bereit, der zwischen zwei Endhosts fließt. Die Topologie für dieses Szenario ist in Abbildung 6 dargestellt
Wie in der Abbildung dargestellt, sendet Host H1 Datenverkehr an Server S1. Das Gerät der MX-Serie führt Quell-NAT durch, um die Quell-IP-Adresse von H1 von 10.1.1.2 in 192.0.2.2 zu übersetzen. Server S1 sendet dann Rückverkehr an Host H1 unter Verwendung der Ziel-IP-Adresse 192.0.2.2, und das Gerät der MX-Serie setzt die IP-Adresse von H1 auf 10.1.1.2 zurück.
In diesem Szenario werden die folgenden Konfigurationselemente verwendet:
Inline-Serviceschnittstelle: Eine virtuelle Schnittstelle, die sich auf der Packet Forwarding Engine des MPC befindet. Um auf Services zuzugreifen, fließt der Datenverkehr in diese (Service-Inline-) Schnittstellen hinein und aus diesen
si-heraus.Service-Set: Definiert die auszuführenden Services und gibt an, welche Inline-Schnittstellen den Datenverkehr in und aus dem Service-Set weiterleiten. Es gibt zwei Möglichkeiten, Service-Sets zu implementieren:
Schnittstellenstil: Eine schnittstellenbasierte Methode, bei der Pakete, die an einer Schnittstelle ankommen, über den Inline-Service weitergeleitet werden.
Next-Hop-Stil: Eine routenbasierte Methode, bei der statische Routen verwendet werden, um Pakete, die für ein bestimmtes Ziel bestimmt sind, über den Inline-Service weiterzuleiten.
In diesem Beispiel wird der Servicesatz im Next-Hop-Stil verwendet.
NAT-Regel: Verwendet eine Wenn-Dann-Struktur (ähnlich wie bei Firewall-Filtern), um Übereinstimmungsbedingungen zu definieren und dann die Adressübersetzung auf den übereinstimmenden Datenverkehr anzuwenden.
NAT-Pool: Ein benutzerdefinierter Satz von IP-Adressen, die von der NAT-Regel für die Übersetzung verwendet werden.
Routing-Instanz: Eine Sammlung von Routing-Tabellen, Schnittstellen und Routing-Protokollparametern, die getrennt von der Haupt-Routing-Instanz (Standard) ausgeführt werden.
Routenbasiertes Inline-NAT wird in der Regel in Szenarien verwendet, die Routinginstanzen umfassen.
Diese Elemente kommen zusammen, wie in Abbildung 7 dargestellt.
Konfiguration
Führen Sie die folgenden Aufgaben aus, um Inline-NAT mithilfe eines Servicesatzes im Next-Hop-Stil zu konfigurieren:
- CLI-Schnellkonfiguration
- Konfiguration physischer Schnittstellen
- Aktivieren von Inline-Services und Erstellen einer Inline-Schnittstelle
- Konfigurieren der Routing-Instanz und Identifizieren des Datenverkehrs, der über den Inline-NAT-Service gesendet werden soll
- Konfigurieren von NAT-Regeln und -Pools
- Konfigurieren des Service Sets (im Next-Hop-Stil)
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, und kopieren Sie dann die Befehle und fügen Sie sie dann in die CLI auf der Hierarchieebene [edit] ein.
## Configure interfaces ## set interfaces xe-0/0/0 unit 0 family inet address 10.1.1.1/24 set interfaces xe-0/0/0 description INSIDE set interfaces xe-1/0/0 unit 0 family inet address 192.168.1.1/24 set interfaces xe-1/0/0 description OUTSIDE ## Enable inline services, create an si- interface, reserve bandwidth ## set chassis fpc 0 pic 0 inline-services bandwidth 1g set interfaces si-0/0/0 unit 1 family inet set interfaces si-0/0/0 unit 1 service-domain inside set interfaces si-0/0/0 unit 2 family inet set interfaces si-0/0/0 unit 2 service-domain outside ## Configure routing instance, feed traffic into the inline NAT service ## set routing-instances RI-A instance-type virtual-router set routing-instances RI-A interface xe-0/0/0.0 set routing-instances RI-A interface si-0/0/0.1 set routing-instances RI-A routing-options static route 192.168.1.2/32 next-hop si-0/0/0.1 ## Configure a NAT rule and pool ## set services nat rule SRC-NAT1 match-direction input set services nat rule SRC-NAT1 term r1 from source-address 10.1.1.0/24 set services nat rule SRC-NAT1 term r1 then translated translation-type basic-nat44 set services nat rule SRC-NAT1 term r1 then translated source-pool p1 set services nat pool p1 address 192.0.2.0/24 ## Configure the (next-hop-style) service set ## set services service-set NH-STYLE-SS-NAT1 nat-rules SRC-NAT1 set services service-set NH-STYLE-SS-NAT1 next-hop-service inside-service-interface si-0/0/0.1 set services service-set NH-STYLE-SS-NAT1 next-hop-service outside-service-interface si-0/0/0.2
Konfiguration physischer Schnittstellen
Schritt-für-Schritt-Anleitung
Konfigurieren Sie die physischen Schnittstellen.
[edit interfaces] user@MX# set xe-0/0/0 unit 0 family inet address 10.1.1.1/24 user@MX# set xe-0/0/0 description INSIDE user@MX# set xe-1/0/0 unit 0 family inet address 192.168.1.1/24 user@MX# set xe-1/0/0 description OUTSIDE
Aktivieren von Inline-Services und Erstellen einer Inline-Schnittstelle
Schritt-für-Schritt-Anleitung
Aktivieren Sie Inline-Services für den entsprechenden FPC-Steckplatz und PIC-Steckplatz, und definieren Sie die Bandbreite, die für Inline-Services reserviert werden soll.
Die FPC- und PIC-Einstellungen hier erstellen eine Schnittstelle und werden dieser
si-zugeordnet.[edit chassis fpc 0 pic 0] user@MX# set inline-services bandwidth 1g
Erstellen Sie auf der
si-Schnittstelle zwei logische Einheiten. Geben Sie für jede Einheit die Protokollfamilie(n) an, die NAT-Services benötigen, und die "internen" oder "externen" Schnittstellen für die Servicedomäne.Hinweis:Die FPC- und PIC-Einstellungen müssen hier mit den oben definierten Einstellungen übereinstimmen.
[edit interfaces si-0/0/0] user@MX# set unit 1 family inet user@MX# set unit 1 service-domain inside user@MX# set unit 2 family inet user@MX# set unit 2 service-domain outside
Konfigurieren der Routing-Instanz und Identifizieren des Datenverkehrs, der über den Inline-NAT-Service gesendet werden soll
Schritt-für-Schritt-Anleitung
Konfigurieren Sie eine Routing-Instanz, die die physische Seite und
si-die Schnittstellen umfasst, sowie eine statische Route, die den Datenverkehr identifiziert, der über diesi-Schnittstelle an den Inline-NAT-Service weitergeleitet werden soll.Der Einfachheit halber identifiziert die hier verwendete statische Route einfach Server S1.
[edit routing-instances] user@MX# set RI-A instance-type virtual-router user@MX# set RI-A interface xe-0/0/0.0 user@MX# set RI-A interface si-0/0/0.1 user@MX# set RI-A routing-options static route 192.168.1.2/32 next-hop si-0/0/0.1
Konfigurieren von NAT-Regeln und -Pools
Schritt-für-Schritt-Anleitung
Konfigurieren Sie eine NAT-Regel, die mit Datenverkehr übereinstimmt, der aus dem H1-Subnetz (10.1.1.0/24) auf dem MX-Gerät ankommt, ihn mit grundlegender IPv4-NAT übersetzt und eine IP-Adresse aus dem Pool
p1verwendet.[edit services nat] user@MX# set rule SRC-NAT1 match-direction input user@MX# set rule SRC-NAT1 term r1 from source-address 10.1.1.0/24 user@MX# set rule SRC-NAT1 term r1 then translated translation-type basic-nat44 user@MX# set rule SRC-NAT1 term r1 then translated source-pool p1
Konfigurieren Sie den NAT-Pool.
[edit services nat] user@MX# set pool p1 address 192.0.2.0/24
Konfigurieren des Service Sets (im Next-Hop-Stil)
Schritt-für-Schritt-Anleitung
Konfigurieren Sie eine Servicegruppe, die den Inline-NAT-Service (
nat-rules) und die oben definierten Inlineschnittstellen verwendet. Verwenden Sie dennext-hop-serviceParameter, um anzugeben, dass es sich um einen Servicesatz im Next-Hop-Stil handelt, und weisen Sie diesi-Schnittstellen basierend auf ihren obigen Einstellungen als "inside" und "outside" zu.Der Datenverkehr fließt in die
si-Schnittstellen hinein und aus diesen heraus, um auf den Inline-NAT-Service zuzugreifen.[edit services] user@MX# set service-set NH-STYLE-SS-NAT1 nat-rules SRC-NAT1 user@MX# set service-set NH-STYLE-SS-NAT1 next-hop-service inside-service-interface si-0/0/0.1 user@MX# set service-set NH-STYLE-SS-NAT1 next-hop-service outside-service-interface si-0/0/0.2
Ergebnisse
chassis {
fpc 0 {
pic 0 {
inline-services {
bandwidth 1g;
}
}
}
}
services {
service-set NH-STYLE-SS-NAT1 {
nat-rules SRC-NAT1;
next-hop-service {
inside-service-interface si-0/0/0.1;
outside-service-interface si-0/0/0.2;
}
}
nat {
pool p1 {
address 192.0.2.0/24;
}
rule SRC-NAT1 {
match-direction input;
term r1 {
from {
source-address {
10.1.1.0/24;
}
}
then {
translated {
source-pool p1;
translation-type {
basic-nat44;
}
}
}
}
}
}
}
interfaces {
si-0/0/0 {
unit 1 {
family inet;
service-domain inside;
}
unit 2 {
family inet;
service-domain outside;
}
}
xe-0/0/0 {
description INSIDE;
unit 0 {
family inet {
address 10.1.1.1/24;
}
}
}
xe-1/0/0 {
description OUTSIDE;
unit 0 {
family inet {
address 192.168.1.1/24;
}
}
}
}
routing-instances {
RI-A {
instance-type virtual-router;
interface xe-0/0/0.0;
interface si-0/0/0.1;
routing-options {
static {
route 192.168.1.2/32 next-hop si-0/0/0.1;
}
}
}
}
Verifizierung
Bestätigen Sie, dass die Konfiguration ordnungsgemäß funktioniert.
Überprüfen der Erreichbarkeit von Host H1 zu Server S1
Zweck
Überprüfen Sie die Erreichbarkeit zwischen H1 und S1.
Aktion
Stellen Sie auf Host H1 sicher, dass der Host den Server S1 pingen kann.
user@H1> ping 192.168.1.2 count 5 PING 192.168.1.2 (192.168.1.2): 56 data bytes 64 bytes from 192.168.1.2: icmp_seq=0 ttl=63 time=0.926 ms 64 bytes from 192.168.1.2: icmp_seq=1 ttl=63 time=0.859 ms 64 bytes from 192.168.1.2: icmp_seq=2 ttl=63 time=0.853 ms 64 bytes from 192.168.1.2: icmp_seq=3 ttl=63 time=0.825 ms 64 bytes from 192.168.1.2: icmp_seq=4 ttl=63 time=0.930 ms --- 192.168.1.2 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.825/0.879/0.930/0.042 ms
Bedeutung
H1 kann S1 erfolgreich erreichen.
Überprüfen der Adressübersetzung
Zweck
Vergewissern Sie sich, dass die Adressübersetzung korrekt funktioniert.
Aktion
Überprüfen Sie auf dem MX-Gerät, ob die Inline-NAT-Konfigurationsdetails korrekt angewendet wurden.
user@MX> show services inline nat pool Interface: si-0/0/0, Service set: NH-STYLE-SS-NAT1 NAT pool: p1, Translation type: BASIC NAT44 Address range: 192.0.2.0-192.0.2.255 NATed packets: 5, deNATed packets: 5, Errors: 0, Skipped packets: 0Überprüfen Sie auf Server S1, ob der Server die Pings von der NAT-übersetzten Quell-IP-Adresse von H1 (192.0.2.2) empfängt.
Geben Sie den folgenden Befehl ein und senden Sie erneut Pings von H1.
Hinweis:Für dieses Setup wird ein anderes MX-Gerät verwendet, um Server S1 darzustellen, um die Überwachung des eingehenden Datenverkehrs zu ermöglichen.
user@S1> monitor traffic interface xe-1/1/1 no-resolve verbose output suppressed, use <detail> or <extensive> for full protocol decode Address resolution is OFF. Listening on xe-1/1/1, capture size 96 bytes 20:19:36.182690 In IP 192.0.2.2 > 192.168.1.2: ICMP echo request, id 4436, seq 0, length 64 20:19:36.182719 Out IP 192.168.1.2 > 192.0.2.2: ICMP echo reply, id 4436, seq 0, length 64 20:19:37.182918 In IP 192.0.2.2 > 192.168.1.2: ICMP echo request, id 4436, seq 1, length 64 20:19:37.182945 Out IP 192.168.1.2 > 192.0.2.2: ICMP echo reply, id 4436, seq 1, length 64 20:19:38.183914 In IP 192.0.2.2 > 192.168.1.2: ICMP echo request, id 4436, seq 2, length 64 20:19:38.183940 Out IP 192.168.1.2 > 192.0.2.2: ICMP echo reply, id 4436, seq 2, length 64 20:19:39.184872 In IP 192.0.2.2 > 192.168.1.2: ICMP echo request, id 4436, seq 3, length 64 20:19:39.184896 Out IP 192.168.1.2 > 192.0.2.2: ICMP echo reply, id 4436, seq 3, length 64 20:19:40.185882 In IP 192.0.2.2 > 192.168.1.2: ICMP echo request, id 4436, seq 4, length 64 20:19:40.185907 Out IP 192.168.1.2 > 192.0.2.2: ICMP echo reply, id 4436, seq 4, length 64 ^C 10 packets received by filter 0 packets dropped by kernel
Bedeutung
Schritt 1 oben bestätigt, dass die Inline-NAT-Dienstparameter und der Servicesatz im Next-Hop-Stil korrekt implementiert sind. Schritt 2 oben bestätigt, dass Server S1 die Pings von H1 von seiner NAT-übersetzten Quell-IP-Adresse korrekt empfängt.
Tabellarischer Änderungsverlauf
Die Unterstützung der Funktion hängt von der Plattform und der Version ab, die Sie benutzen. Verwenden Sie den Feature-Explorer , um festzustellen, ob eine Funktion auf Ihrer Plattform unterstützt wird.
twice-basic-nat-44 Inline-NAT auch