Übersicht über die NAT-Konfiguration
Network Address Translation – Konfigurationsübersicht
Führen Sie die folgenden allgemeinen Schritte aus, um Network Address Translation (NAT) zu konfigurieren:
- Konfigurieren Sie die Quell- und Zieladresse. Weitere Informationen finden Sie unter Konfigurieren von Quell- und Zieladressen Network Address Translation – Übersicht.
- Definieren Sie die Adressen oder Präfixe, Adressbereiche und Ports, die für NAT verwendet werden. Weitere Informationen finden Sie unter Konfigurieren von Adressen- und Portpools für die Network Address Translation – Übersicht
- Konfigurieren Sie ggf. die Adresspools für die Network Address Port Translation (NAPT). Weitere Informationen finden Sie unter Konfigurieren von Adresspools für die Übersicht über Network Address Port Translation (NAPT).
- Konfigurieren Sie die NAT-Regeln. Geben Sie in den Regeln Übereinstimmungsrichtungen, Übereinstimmungsbedingungen, Aktionen und Übersetzungstypen an. Weitere Informationen finden Sie unter Übersicht über Network Address Translation-Regeln.
- Konfigurieren Sie Servicesätze für die NAT-Verarbeitung. Definieren Sie in jedem Servicesatz die Schnittstellen für die Verarbeitung von ein- und ausgehendem Datenverkehr sowie eine NAT-Regel oder einen NAT-Regelsatz. Weitere Informationen finden Sie unter Konfigurieren von Servicesätzen für Network Address Translation.
Siehe auch
Konfigurieren von Quell- und Zieladressen Network Address Translation – Übersicht
Sie müssen eine bestimmte Adresse, ein Präfix oder die Adressbereichsgrenzen konfigurieren:
Die folgenden Adressen sind zwar in
inet.0
gültig, können aber nicht für die NAT-Übersetzung verwendet werden:0.0.0.0/32
127.0.0.0/8 (Loopback)
128.0.0.0/16 (Mars)
191.255.0.0/16 (Mars)
192.0.0.0/24 (Mars)
223.255.255.0/24 (Mars)
224.0.0.0/4 (Multicast)
240.0.0.0/4 (reserviert)
255.255.255.255 (Rundfunk)
Bei den Adressen, die in der Routing-Tabelle als gültig angegeben sind und für die
inet.0
NAT-Übersetzung nicht unterstützt werden, handelt es sichorlonger
um Übereinstimmungsfiltertypen. Sie können in einem NAT-Pool keine Regionen innerhalb solcher Adresspräfixe angeben.Wenn Sie auf Routern der MX-Serie mit MS-MPCs und MS-MICs einen NAT-Adresspool mit einer Präfixlänge von mindestens /16 konfigurieren, enthält der PIC nicht genügend Arbeitsspeicher für die Bereitstellung des konfigurierten Pools. Außerdem können Probleme mit der Speicherauslastung auftreten, wenn Sie versuchen, viele Pools zu konfigurieren, deren kombinierte IP-Adressen /16 überschreiten. In solchen Fällen wird eine Systemprotokollierungsmeldung generiert, die besagt, dass der Name des NAT-Pools nicht erstellt werden konnte und dass der Dienstsatz nicht aktiviert wurde. Auf MS-MPCs und MS-MICs dürfen Sie keine NAT-Pools mit Präfixlängen größer oder gleich /16 konfigurieren.
Sie können ein oder mehrere IPv4-Adresspräfixe in der
pool
Anweisung und in derfrom
Klausel des NAT-Regelbegriffs angeben. Auf diese Weise können Sie die Quellübersetzung von einem privaten Subnetz in ein öffentliches Subnetz konfigurieren, ohne für jede Adresse im Subnetz einen Regelbegriff zu definieren. Die Zielübersetzung kann mit dieser Methode nicht konfiguriert werden. Weitere Informationen finden Sie unter Beispiele: Konfigurieren von NAT-Regeln.Wenn Sie statische Quell-NAT konfigurieren, muss die Präfixgröße, die
address
Sie auf der[edit services nat pool pool-name]
Hierarchieebene konfigurieren, größer sein als der Präfixbereich, dersource-address
auf der Hierarchieebene[edit services nat rule rule-name term term-name from]
konfiguriert ist. Dersource-address
Präfixbereich muss außerdem einem einzelnen Subnetz oder Bereich von IPv4- oder IPv6-Adressen in derpool
Anweisung zugeordnet sein. Alle Pooladressen, diesource-address
nicht vom Präfixbereich verwendet werden, werden nicht verwendet. Pools können nicht gemeinsam genutzt werden.Wenn Sie die Präfixgröße eines NAT-Adresspools mit der Anweisung auf der
address
Hierarchieebene [edit services nat pool nat-pool-name
] konfigurieren, sind die Subnetz- und Broadcastadressen nicht in der Liste der verwendbaren IP-Adressen enthalten. Wenn Sie z. B. in einem NAT-Pool verwendenaddress 10.11.12.0/28
, sind die Adressen 10.11.12.0 (Subnetzadresse) und 10.11.12.15 (Broadcast-Adresse) nicht verfügbar.
Wenn Sie eine NAT-Konfiguration einschließen, die IP-Adressen ändert, kann sich dies auf Weiterleitungspfadfunktionen an anderer Stelle in Ihrer Routerkonfiguration auswirken, z. B. Source Class Usage (SCU), Destination Class Usage (DCU), filterbasierte Weiterleitung oder andere Funktionen, die auf bestimmte IP-Adressen oder Präfixe abzielen.
Die NAT-Konfiguration kann sich auch auf den Betrieb des Routingprotokolls auswirken, da die Protokoll-Peering-, Nachbar- und Schnittstellenadressen geändert werden können, wenn Routing-Protokollpakete das Adaptive Services (AS)- oder Multiservices-PIC durchlaufen.
Siehe auch
Konfigurieren von Adressen- und Portpools für Network Address Translation – Übersicht
- Konfigurieren von NAT-Pools
- Behalten Sie die Reichweite und die Parität bei
- Angeben von Ziel- und Quellpräfixen ohne Poolkonfiguration
Konfigurieren von NAT-Pools
Sie können die pool
Anweisung verwenden, um die Adressen (oder Präfixe), Adressbereiche und Ports zu definieren, die für Network Address Translation (NAT) verwendet werden. Um die Informationen zu konfigurieren, schließen Sie die pool
Anweisung auf der [edit services nat]
Hierarchieebene ein.
Konfigurieren Sie ab Junos OS Version 14.2 den NAT-Pool wie folgt. Ab Junos OS Version 16.1 wird die limit-ports-per-address
Anweisung unterstützt.
[edit services nat] pool nat-pool-name { address ip-prefix</prefix-length>; address-range low minimum-value high maximum-value; limit-ports-per-address number; port { automatic (sequential | random-allocation); range low minimum-value high maximum-value random-allocation; preserve-parity; preserve-range { } }
Konfigurieren Sie in Junos OS Version 14.1 und früher den NAT-Pool wie folgt:
[edit services nat] pool nat-pool-name { address ip-prefix</prefix-length>; address-range low minimum-value high maximum-value; port (automatic | range low minimum-value high maximum-value); preserve-parity; preserve-range { } }
Um Pools für herkömmliche NAT zu konfigurieren, geben Sie entweder einen Zielpool oder einen Quellpool an.
Mit statischer Quell-NAT und dynamischer Quell-NAT können Sie mehrere IPv4-Adressen (oder Präfixe) und IPv4-Adressbereiche angeben. In einem einzelnen Pool können bis zu 32 Präfixe oder Adressbereiche (oder eine Kombination) unterstützt werden.
Mit statischer Ziel-NAT können Sie auch mehrere Adresspräfixe und Adressbereiche in einem einzigen Term angeben. Mehrere Ziel-NAT-Bedingungen können sich einen Ziel-NAT-Pool teilen. Die Netzmaske oder der Netzbereich für die from
Adresse muss jedoch kleiner oder gleich der Netzmaske oder dem Bereich für die Zielpooladresse sein. Wenn Sie festlegen, dass der Pool größer als erforderlich ist, werden einige Adressen nicht verwendet. Wenn Sie z. B. die Poolgröße mit 100 Adressen definieren und die Regel nur 80 Adressen angibt, werden die letzten 20 Adressen im Pool nicht verwendet.
Einschränkungen für bestimmte Übersetzungstypen finden Sie unter Übersicht über Network Address Translation-Regeln.
Bei statischer Quell-NAT dürfen sich die Präfixe und Adressbereiche zwischen separaten Pools nicht überlappen.
In einem Adressbereich muss der low
Wert eine niedrigere Zahl als der high
Wert sein. Wenn mehrere Adressbereiche und Präfixe konfiguriert sind, werden zuerst die Präfixe und dann die Adressbereiche aufgebraucht.
Wenn Sie einen Port für dynamische Quell-NAT angeben, sind Adressbereiche auf maximal 65.000 Adressen für insgesamt (65.000 x 65.535) oder 4.259.775.000 Datenströme beschränkt. Ein dynamischer NAT-Pool ohne Adressportübersetzung unterstützt bis zu 65.535 Adressen. Es gibt keine Begrenzung für die Poolgröße für statische Quell-NAT.
Behalten Sie die Reichweite und die Parität bei
Sie können Ihre NAT der Carrier-Klasse (CGN) so konfigurieren, dass der Bereich oder die Parität des Paketquellports beibehalten wird, wenn ein Quellport für eine ausgehende Verbindung zugewiesen wird. Sie können die Optionen zum Beibehalten der Parität und zum Beibehalten des Bereichs unter der NAT-Pooldefinition konfigurieren, indem Sie die und Konfigurationsanweisungen preserve-range
preserve-parity
auf der [edit services nat pool poolname port]
Hierarchieebene einschließen.
Die Beibehaltung der Reichweite und Parität werden auf Routern der MX-Serie mit MS-DPCs und auf Routern der M Series mit MS-100, MS-400 und MS-500 MultiServices PICS unterstützt. Die Beibehaltung der Reichweite und Parität werden auf Routern der MX-Serie mit MS-MPCs und MS-MICs ab Junos OS Version 15.1R1 unterstützt.
Bereich beibehalten: RFC 4787, Network Address Translation (NAT) Behavioral Requirements for Unicast UDP, definiert zwei Bereiche: 0 bis 1023 und 1024 bis 65.535. Wenn der
preserve-range
Knopf konfiguriert ist und der eingehende Port in einen dieser Bereiche fällt, weist CGN nur einen Port aus diesem Bereich zu. Wenn jedoch kein Port im Bereich verfügbar ist, schlägt die Portzuweisungsanforderung fehl, und diese Sitzung wird nicht erstellt. Der Fehler wird in Leistungsindikatoren und in der Systemprotokollierung angezeigt, es wird jedoch keine ICMP-Meldung (Internet Control Message Protocol) generiert. Wenn dieser Knopf nicht konfiguriert ist, basiert die Zuweisung auf dem konfigurierten Portbereich, ohne Rücksicht auf den Portbereich, der den eingehenden Port enthält. Eine Ausnahme bilden einige Gateways auf Anwendungsebene (Application-level Gateways, ALGs), z. B. hello, die über spezielle Zonen verfügen.Parität beibehalten: Wenn der
preserve-parity
Drehregler konfiguriert ist, weist CGN einen Port mit derselben geraden oder ungeraden Parität wie dem eingehenden Port zu. Wenn die eingehende Portnummer gerade oder gerade ist, sollte die ausgehende Portnummer entsprechend gerade oder ungerade sein. Wenn eine Portnummer der gewünschten Parität nicht verfügbar ist, schlägt die Portzuweisungsanforderung fehl, die Sitzung wird nicht erstellt, und das Paket wird verworfen.
Angeben von Ziel- und Quellpräfixen ohne Poolkonfiguration
Sie können das in NAT verwendete Ziel- oder Quellpräfix direkt angeben, ohne einen Pool konfigurieren zu müssen.
Um die Informationen zu konfigurieren, fügen Sie die rule
Anweisung auf der [edit services nat]
Hierarchieebene ein:
[edit services nat] rule rule-name { term term-name { then { translated { destination-prefix prefix; } } } }
Network Address Translation Rules – Übersicht
Um eine NAT-Regel zu konfigurieren, fügen Sie die rule
rule-name
Anweisung auf Hierarchieebene [edit services nat]
ein:
[edit services nat] allow-overlapping-nat-pools ; apply-groups; apply-groups-except; pool pool-name; port-forwarding port-forwarding-name; rule rule-name { match-direction (input | output); term term-name { from { application-sets set-name; applications [ application-names ]; destination-address (address | any-unicast) <except>; destination-address-range low minimum-value high maximum-value <except>; destination-prefix-list list-name <except>; source-address (address | any-unicast) <except>; source-address-range low minimum-value high maximum-value <except>; source-prefix-list list-name <except>; } then { no-translation; translated { address-pooling paired; clat-prefix clat-prefix; destination-pool nat-pool-name; destination-prefix destination-prefix; dns-alg-pool dns-alg-pool; dns-alg-prefix dns-alg-prefix; filtering-type endpoint-independent; mapping-type endpoint-independent; overload-pool overload-pool-name; overload-prefix overload-prefix; source-pool nat-pool-name; source-prefix source-prefix; translation-type { (basic-nat-pt | basic-nat44 | basic-nat66 | dnat-44 | dynamic-nat44 | napt-44 | napt-66 | napt-pt | stateful-nat464 | stateful-nat64 | twice-basic-nat-44 | twice-dynamic-nat-44 | twice-napt-44); } } syslog; } } }
Jede Regel muss eine match-direction
Anweisung enthalten, die die Richtung angibt, in der die Übereinstimmung angewendet wird.
Router der ACX-Serie unterstützen nur input die Übereinstimmungsrichtung.
Darüber hinaus besteht jede NAT-Regel aus einer Reihe von Begriffen, ähnlich wie bei einem Firewallfilter. Ein Begriff besteht aus Folgendem:
from
-Anweisung – Gibt die Übereinstimmungsbedingungen und Anwendungen an, die ein- und ausgeschlossen werden.then
-Anweisung – Gibt die Aktionen und Aktionsmodifikatoren an, die von der Router-Software ausgeführt werden sollen.
In den folgenden Abschnitten wird erläutert, wie die Komponenten von NAT-Regeln:
- Konfigurieren der Übereinstimmungsrichtung für NAT-Regeln
- Konfigurieren von Übereinstimmungsbedingungen in NAT-Regeln
- Konfigurieren von Aktionen in NAT-Regeln
- Konfigurieren von Übersetzungsarten
- Konfigurieren von NAT-Regeln für IPsec-Passthrough für Nicht-NAT-T-Peers
Konfigurieren der Übereinstimmungsrichtung für NAT-Regeln
Jede Regel muss eine match-direction
Anweisung enthalten, die die Richtung angibt, in der die Übereinstimmung angewendet wird. Um zu konfigurieren, wo die Übereinstimmung angewendet wird, fügen Sie die match-direction
Anweisung auf der [edit services nat rule rule-name]
Hierarchieebene ein:
[edit services nat rule rule-name] match-direction (input | output);
Die Abgleichsrichtung wird in Bezug auf den Datenverkehrsfluss durch die Multiservices-DPCs und Multiservices-PICs verwendet. Wenn ein Paket an das PIC gesendet wird, werden Richtungsinformationen mitgeführt. Die Paketrichtung wird anhand der folgenden Kriterien bestimmt:
Bei einem Schnittstellenservicesatz wird die Paketrichtung dadurch bestimmt, ob ein Paket die Schnittstelle, auf die der Servicesatz angewendet wird, betritt oder verlässt.
Bei einem Next-Hop-Servicesatz wird die Paketrichtung durch die Schnittstelle bestimmt, die für die Weiterleitung des Pakets an den Multiservices-DPC oder Multiservices-PIC verwendet wird. Wenn die interne Schnittstelle zum Weiterleiten des Pakets verwendet wird, wird die Paketrichtung eingegeben. Wenn die externe Schnittstelle verwendet wird, um das Paket an den PIC oder DPC zu leiten, wird die Paketrichtung ausgegeben. Weitere Informationen zu internen und externen Schnittstellen finden Sie unter Konfigurieren von Service Sets, die auf Serviceschnittstellen angewendet werden sollen.
Auf dem Multiservices-DPC und dem Multiservices-PIC wird eine Flow-Suche durchgeführt. Wenn kein Flow gefunden wird, wird die Regelverarbeitung ausgeführt. Dabei werden alle Regeln im Servicesatz berücksichtigt. Bei der Regelverarbeitung wird die Paketrichtung mit den Regelrichtungen verglichen. Es werden nur Regeln mit Richtungsinformationen berücksichtigt, die mit der Paketrichtung übereinstimmen.
Konfigurieren von Übereinstimmungsbedingungen in NAT-Regeln
Um NAT-Übereinstimmungsbedingungen zu konfigurieren, schließen Sie die from
Anweisung auf der [edit services nat rule rule-name term term-name]
Hierarchieebene ein:
[edit services nat rule rule-name term term-name] from { application-sets set-name; applications [ application-names ]; destination-address (address | any-unicast) <except>; destination-address-range low minimum-value high maximum-value <except>; destination-prefix-list list-name <except>; source-address (address | any-unicast) <except>; source-address-range low minimum-value high maximum-value <except>; source-prefix-list list-name <except>; }
Um herkömmliches NAT zu konfigurieren, können Sie die Zieladresse, einen Bereich von Zieladressen, die Quelladresse oder einen Bereich von Quelladressen als Übereinstimmungsbedingung verwenden, auf die gleiche Weise wie bei der Konfiguration eines Firewallfilters. Weitere Informationen finden Sie im Benutzerhandbuch zu Routing-Richtlinien, Firewall-Filtern und Datenverkehrsrichtlinien.
Alternativ können Sie eine Liste von Quell- oder Zielpräfixen angeben, indem Sie die prefix-list
Anweisung auf der [edit policy-options]
Hierarchieebene und dann entweder die destination-prefix-list
oder-Anweisung source-prefix-list
in die NAT-Regel aufnehmen. Ein Beispiel finden Sie unter Beispiele: Konfigurieren von zustandsbehafteten Firewallregeln.
Wenn die translation-type
Anweisung in der then
Anweisung der NAT-Regel auf stateful-nat-64festgelegt ist, muss der durch die oder in destination-prefix-list
der from
Anweisung angegebene Bereich innerhalb des Bereichs liegen, der durch die destination-address-range
destination-prefix
Anweisung in der then
Anweisung angegeben wird.
Wenn für mindestens einen NAT-Ausdruck innerhalb einer NAT-Regel die APP-Funktionalität (Address Pooling Pairing) aktiviert ist (indem die address-pooling
Anweisung auf der [edit services nat rule rule-name term term-name then translated]
Hierarchieebene eingeschlossen wird), muss für alle anderen Begriffe in der NAT-Regel, die denselben NAT-Adresspool wie der Adresspool für den Ausdruck mit aktivierter APP verwenden, APP aktiviert sein. Andernfalls, wenn Sie einen NAT-Regelbegriff hinzufügen, ohne APP zu aktivieren, zu einer Regel, die andere Begriffe mit aktivierter APP enthält, löschen alle Begriffe mit aktivierter APP in einer NAT-Regel Datenverkehrsflüsse, die den angegebenen Kriterien in der NAT-Regel entsprechen.
Bei Routern der MX-Serie mit MS-MICs und MS-MPCs ist die APP-Funktionalität (Address Pooling Pairing) zwar in einer NAT-Regel aktiviert (durch Einschließen der address-pooling
Anweisung auf Hierarchieebene [edit services nat rule rule-name term term-name then translated]
), aber ein Merkmal eines NAT-Pools. Ein solcher NAT-Pool, für den APP aktiviert ist, kann nicht für NAT-Regeln freigegeben werden, für die APP nicht konfiguriert ist.
Wenn beim Konfigurieren von NAT Datenverkehr für die folgenden Adressen bestimmt ist und nicht mit einem NAT-Datenfluss oder einer NAT-Regel übereinstimmt, wird der Datenverkehr verworfen:
Adressen, die in der
from destination-address
Anweisung angegeben sind, wenn Sie die Zielübersetzung verwendenAdressen, die im Quell-NAT-Pool angegeben sind, wenn Sie die Quellübersetzung verwenden
Konfigurieren von Aktionen in NAT-Regeln
Um NAT-Aktionen zu konfigurieren, fügen Sie die then
Anweisung auf der [edit services nat rule rule-name term term-name]
Hierarchieebene ein:
[edit services nat] rule rule-name { term term-name { from { destination-address-range low minimum-value high maximum-value <except>; destination-prefix-list list-name <except>; } then { destination-prefix destination-prefix; }
[edit services nat rule rule-name term term-name] then { no-translation; syslog; translated { clat-prefix clat-prefix; destination-pool nat-pool-name; destination-prefix destination-prefix; source-pool nat-pool-name; source-prefix source-prefix; translation-type (basic-nat-pt | basic-nat44 | basic-nat66 | dnat-44 | dynamic-nat44 | napt-44 | napt-66 | napt-pt | stateful-nat464 | stateful-nat64 | twice-basic-nat-44 | twice-dynamic-nat-44 | twice-napt-44); } } }
Mit der
no-translation
Anweisung können Sie Adressen angeben, die von NAT ausgeschlossen werden sollen.Die
no-translation
Anweisung wird auf Routern der MX-Serie mit MS-DPCs und auf Routern der M Series mit MS-100, MS-400 und MS-500 MultiServices PICS unterstützt. Dieno-translation
Anweisung wird auf Routern der MX-Serie mit MS-MPCs und MS-MICs ab Junos OS Version 15.1R1 unterstützt.Die
system log
Anweisung ermöglicht es Ihnen, eine Warnung in der Systemprotokollierungsfunktion aufzuzeichnen.Die
destination-pool
Anweisungen ,source-pool
destination-prefix
, undsource-prefix
geben Adressinformationen an, die Sie definieren, indem Sie diepool
Anweisung auf Hierarchieebene einschließen. Weitere Informationen finden Sie unter Konfigurieren von Adressen- und Portpools für die[edit services nat]
Network Address Translation – Übersicht.Die
translation-type
Anweisung gibt den Typ der NAT an, die für den Quell- oder Zieldatenverkehr verwendet wird. Die Optionen sindbasic-nat-pt
,basic-nat44
,basic-nat66
,dnat-44
napt-66
napt-pt
napt-44
dynamic-nat44
stateful-nat64
twice-basic-nat-44
stateful-nat464
twice-dynamic-nat-44
und .twice-napt-44
In Junos OS Version 13.2 und früher wurde die folgende Einschränkung von der CLI nicht erzwungen: Wenn die translation-type
Anweisung in der then
Anweisung einer NAT-Regel auf stateful-nat-64festgelegt war, musste der durch die oder die destination-prefix-list
in der from
Anweisung angegebene Bereich innerhalb des Bereichs liegen, der durch die destination-address-range
destination-prefix
Anweisung in der then
Anweisung angegeben wurde. Ab Junos OS Version 13.3R1 wird diese Einschränkung erzwungen.
Konfigurieren von Übersetzungsarten
Die Implementierungsdetails der neun Optionen der translation-type
Anweisung lauten wie folgt:
basic-nat44
: Mit dieser Option wird die statische Übersetzung von Quell-IP-Adressen ohne Portzuordnung implementiert. Sie müssen die Anweisungfrom source-address
in der Übereinstimmungsbedingung für die Regel konfigurieren. Die Größe des in der Anweisung angegebenen Adressbereichs muss gleich oder kleiner als der Quellpool sein. Sie müssen entweder einen Quellpool oder ein Zielpräfix angeben. Der Pool, auf den verwiesen wird, kann mehrere Adressen enthalten, aber Sie können keine Ports für die Übersetzung angeben.Anmerkung:In einem Schnittstellen-Service-Set werden alle Pakete, die für die in der Übereinstimmungsbedingung angegebene Quelladresse bestimmt sind, automatisch an den Services PIC weitergeleitet, auch wenn der Schnittstelle kein Service-Set zugeordnet ist.
Anmerkung:Vor Junos OS Version 11.4R3 konnten Sie einen Quell-NAT-Pool nur in einem einzigen Servicesatz verwenden. Ab Junos OS Version 11.4R3 und späteren Versionen können Sie einen Quell-NAT-Pool in mehreren Servicesätzen wiederverwenden.
basic-nat66
—Diese Option implementiert die statische Übersetzung von Quell-IP-Adressen ohne Portzuordnung in IPv6-Netzwerken. Die Konfiguration ist ähnlich wie bei derbasic-nat44
Implementierung, jedoch mit IPv6-Adressen.Die
basic-nat66
Option ist nicht verfügbar, wenn Sie MS-MPCs oder MS-MICs verwenden.basic-nat-pt
– Mit dieser Option werden Adressen von IPv6-Hosts übersetzt, da diese Sitzungen zu den IPv4-Hosts in einer externen Domäne leiten und umgekehrt. Diese Option wird immer mit DNS ALG implementiert. Sie müssen die Quell- und Zielpools von IPv4-Adressen definieren. Sie müssen eine Regel konfigurieren und zwei Begriffe definieren. Konfigurieren Sie die IPv6-Adressen in derfrom
Anweisung in beidenterm
Anweisungen. Verweisen Sie in derthen
Anweisung des ersten Begriffs innerhalb der Regel sowohl auf den Quell- als auch auf den Zielpool, und konfigurieren Siedns-alg-prefix
. Konfigurieren Sie das Quellpräfix in derthen
Anweisung des zweiten Begriffs innerhalb derselben Regel.Die
basic-nat-pt
Option ist nicht verfügbar, wenn Sie MS-MPCs oder MS-MICs verwenden.deterministic-napt44
– Mit dieser Option wird die algorithmusbasierte Zuweisung von Blöcken von Zielports und IP-Adressen implementiert. Dadurch wird sichergestellt, dass eine eingehende (Quell-)IP-Adresse und ein Port immer derselben Ziel-IP-Adresse und demselben Zielport zugeordnet werden, sodass die Protokollierung der Adressübersetzung entfällt. Wenn Sie verwendendeterministic-napt44
, müssen Sie auch auf der[edit services nat pool poolname port]
Hierarchieebene verwendendeterministic-port-block-allocation
.Die
deterministic-napt44
Option wird auf Routern der MX-Serie mit MS-DPCs und auf Routern der M Series mit MS-100, MS-400 und MS-500 MultiServices PICS unterstützt. Wenndeterministic-napt44
Sie Router der MX-Serie mit MS-MPCs oder MS-MICs verwenden, wird diese Option nur in Junos OS Version 14.2R7 und höher 14.2 sowie in Version 15.1R3 und höher 15.1 unterstützt.dnat-44
– Mit dieser Option wird eine statische Übersetzung von Ziel-IP-Adressen ohne Portzuordnung implementiert. Die Größe des Pooladressraums muss größer oder gleich dem Zieladressraum sein. Sie müssen einen Namen für die Anweisungdestination pool
angeben. Der Pool, auf den verwiesen wird, kann mehrere Adressen, Bereiche oder Präfixe enthalten, solange die Anzahl der NAT-Adressen im Pool größer ist als die Anzahl der Zieladressen in der Anweisungfrom
. Sie müssen genau einendestination-address
Wert auf der[edit services nat rule rule-name term term-name from]
Hierarchieebene einschließen. Wenn es sich um ein Präfix handelt, muss die Größe kleiner oder gleich der Größe des Poolpräfixes sein. Alle Adressen im Pool, die nicht mit dem Wert übereinstimmen, bleiben ungenutzt, da ein Pool nicht von mehreren Begriffen oder Regeln gemeinsam genutzt werden kann.dynamic-nat44
– Mit dieser Option wird die dynamische Übersetzung von Quell-IP-Adressen ohne Portzuordnung implementiert. Sie müssen einesource-pool
. Der Pool, auf den verwiesen wird, muss eine Konfiguration enthalten (für dieaddress
reine Adressübersetzung).Die
dynamic-nat44
Nur-Adressen-Option unterstützt die Übersetzung von bis zu 16.777.216 Adressen in einen kleineren Pool. Die Anforderungen aus dem Quelladressbereich werden den Adressen im Pool zugewiesen, bis der Pool aufgebraucht ist, und alle weiteren Anforderungen werden zurückgewiesen. Eine NAT-Adresse, die einem Host zugewiesen ist, wird für alle gleichzeitigen Sitzungen von diesem Host verwendet. Die Adresse wird erst dann für den Pool freigegeben, wenn alle Sitzungen für diesen Host abgelaufen sind. Diese Funktion ermöglicht es dem Router, einige öffentliche IP-Adressen für mehrere private Hosts gemeinsam nutzbar zu machen. Da nicht alle privaten Hosts gleichzeitig Sitzungen erstellen, können sie sich einige öffentliche IP-Adressen teilen.napt-44
– Mit dieser Option wird die dynamische Übersetzung von Quell-IP-Adressen mit Portzuordnung implementiert. Sie müssen einen Namen für die Anweisungsource-pool
angeben. Der Pool, auf den verwiesen wird, muss eineport
Konfiguration enthalten. Wenn der Port als automatisch konfiguriert ist oder ein Portbereich angegeben ist, bedeutet dies, dass Network Address Port Translation (NAPT) verwendet wird.napt-66
—Mit dieser Option wird die dynamische Adressübersetzung von Quell-IP-Adressen mit Portzuordnung für IPv6-Adressen implementiert. Die Konfiguration ist ähnlich wie bei dernapt-44
Implementierung, jedoch mit IPv6-Adressen.Die
napt-66
Option ist nicht verfügbar, wenn Sie MS-MPCs oder MS-MICs verwenden.napt-pt
– Mit dieser Option wird eine dynamische Adress- und Portübersetzung für die Quell- und statische Übersetzung der Ziel-IP-Adresse implementiert. Sie müssen einen Namen für die Anweisungsource-pool
angeben. Der Pool, auf den verwiesen wird, muss eine Portkonfiguration (für NAPT) enthalten. Darüber hinaus müssen Sie zwei Regeln konfigurieren, eine für den DNS-Datenverkehr und die andere für den restlichen Datenverkehr. Die Regel, die für den DNS-Datenverkehr gedacht ist, sollte DNS ALG aktiviert sein, und diedns-alg-prefix
Anweisung sollte konfiguriert sein. Darüber hinaus muss das in derdns-alg-prefix
Anweisung konfigurierte Präfix in der zweiten Regel verwendet werden, um die Ziel-IPv6-Adressen in IPv4-Adressen zu übersetzen.Die
napt-pt
Option ist nicht verfügbar, wenn Sie MS-MPCs oder MS-MICs verwenden.stateful-nat464
—Diese Option implementiert die 464XLAT Provider-Side Translater (PLAT)-Adressübersetzung für Quell-IP-Adressen und die IPv6-Präfixentfernungsübersetzung für Ziel-IPv4-Adressen. Sie müssen die IPv4-Adressen, die für die Übersetzung verwendet werden, auf der Hierarchieebene [Service-NAT-Pool bearbeiten] angeben. Auf diesen Pool muss in der Regel verwiesen werden, die die IPv6-Adressen in IPv4 übersetzt.Die
stateful-nat464
Option ist nur verfügbar, wenn Sie MS-MPCs oder MS-MICs verwenden, und wird ab Junos OS Version 17.1R1 unterstützt.stateful-nat64
– Mit dieser Option wird die dynamische Adress- und Portübersetzung für Quell-IP-Adressen und die Übersetzung zum Entfernen von Präfixen für Ziel-IP-Adressen implementiert. Sie müssen die IPv4-Adressen, die für die Übersetzung verwendet werden, auf der[edit services nat pool]
Hierarchieebene angeben. Auf diesen Pool muss in der Regel verwiesen werden, die die IPv6-Adressen in IPv4 übersetzt.twice-basic-nat-44
: Diese Option implementiert eine statische Quell- und statische Zielübersetzung für IPv4-Adressen, wodurch Quell- unddnat-44
Zieladressen kombiniert werdenbasic-nat44
.Die
twice-basic-nat-44
Option wird auf MS-DPCs und MS-100-, MS-400- und MS-500-MultiServices-PICs unterstützt. Dietwice-basic-nat-44
Option wird auf MS-MPCs und MS-MICs ab Junos OS Version 15.1R1 unterstützt.twice-dynamic-nat-44
– Mit dieser Option wird die dynamische Übersetzung und die statische Zielübersetzung für IPv4-Adressen implementiert, wobei Quell- unddnat-44
Zieladressen kombiniert werdendynamic-nat44
.Die
twice-dynamic-nat-44
Option wird auf MS-DPCs und MS-100-, MS-400- und MS-500-MultiServices-PICs unterstützt. Dietwice-dynamic-nat-44
Option wird auf MS-MPCs und MS-MICs ab Junos OS Version 15.1R1 unterstützt.twice-napt-44
—Mit dieser Option wird die statische Quell-NAPT- und Zielübersetzung für IPv4-Adressen implementiert, wobei Quell- unddnat-44
Zieladressen kombiniert werdennapt-44
.Die
twice-napt-44
Option wird auf MS-DPCs und MS-100-, MS-400- und MS-500-MultiServices-PICs unterstützt. Dietwice-napt-44
Option wird auf MS-MPCs und MS-MICs ab Junos OS Version 15.1R1 unterstützt.
Weitere Informationen zu NAT-Methoden finden Sie unter RFC 2663, IP Network Address Translator (NAT) Terminology and Considerations.
Konfigurieren von NAT-Regeln für IPsec-Passthrough für Nicht-NAT-T-Peers
Vor Junos OS-Version 17.4R1 wurde Network Address Translation-Traversal (NAT-T) für die IPsec-Funktionen der Junos VPN Site Secure-Suite auf den Routern der MX-Serie nicht unterstützt. Ab Junos OS Version 14.2R7, 15.1R5, 16.1R2 und 17.1R1 können Sie IKEv1- und IPsec-Pakete über NAPT-44- und NAT64-Regeln zwischen IPsec-Peers übergeben, die nicht NAT-T-konform sind. Es wird nur der ESP-Tunnelmodus unterstützt. Diese Funktion wird nur auf MS-MPCs und MS-MICs unterstützt.
So konfigurieren Sie NAT-Regeln für IPsec-Passthrough für NAPT-44 oder NAT64:
Konfigurieren Sie eine IKE ALG-Anwendung. Weitere Informationen finden Sie unter Konfigurieren von Anwendungseigenschaften.
Fügen Sie die Anwendung zu einem Anwendungssatz hinzu. Weitere Informationen finden Sie unter Konfigurieren von Anwendungssätzen.
Konfigurieren Sie einen NAT-Pool. Weitere Informationen finden Sie unter Konfigurieren von Adressen- und Portpools für die Network Address Translation (Übersicht).
Konfigurieren Sie die NAT-Regel:
Konfigurieren Sie eine Abgleichsrichtung für die Regel. Weitere Informationen finden Sie unter Konfigurieren der Übereinstimmungsrichtung für NAT-Regeln.
Konfigurieren Sie eine der übereinstimmenden Bedingungen als Anwendungssatz für IKE- und IPsec-Passthrough, den Sie in Schritt 2 konfiguriert haben.
[edit services nat rule rule-name term term-name from] user@host# set application-sets set-name
Konfigurieren Sie andere Übereinstimmungsbedingungen. Weitere Informationen finden Sie unter Konfigurieren von Übereinstimmungsbedingungen in NAT-Regeln.
Konfigurieren Sie den Übersetzungstyp als NAPT-44 oder NAT64.
[edit services nat rule rule-name term term-name then translated] user@host# set translation-type (napt-44 | stateful-nat64)
Konfigurieren Sie andere NAT-Aktionen. Weitere Informationen finden Sie unter Konfigurieren von Aktionen in NAT-Regeln.
Weisen Sie die NAT-Regel einem Servicesatz zu.
[edit services] user@host# set service-set service-set-name nat-rules rule-name
Siehe auch
Schutz von CGN-Geräten vor Denial-of-Service-Angriffen (DOS)
Sie können jetzt Konfigurationsoptionen auswählen, die dazu beitragen, die Auswirkungen von versuchten Denial-of-Service-Angriffen (DOS) zu verhindern oder zu minimieren.
Aktualisierungsverhalten der Zuordnung
Vor der Implementierung der neuen Optionen zum Konfigurieren des Aktualisierungsverhaltens der NAT-Zuordnung, die in diesem Thema beschrieben werden, wurde eine Konversation aufrechterhalten, wenn entweder eingehende oder ausgehende Datenflüsse aktiv waren. Dies bleibt das Standardverhalten. Sie können jetzt auch die Zuordnungsaktualisierung nur für eingehende Datenflüsse oder nur für ausgehende Datenflüsse angeben. Um das Aktualisierungsverhalten der Zuordnung zu konfigurieren, fügen Sie die mapping-refresh (inbound | outbound | inbound-outbound)
Anweisung auf der [edit services nat rule rule-name term term-name then translated secure-nat-mapping]
Hierarchieebene ein.
EIF-Limit für eingehende Datenströme
Zuvor. Die Anzahl der eingehenden Verbindungen in einem EIF-Mapping war nur durch die maximal zulässigen Datenströme im System begrenzt. Sie können jetzt die Anzahl der eingehenden Flüsse konfigurieren, die für einen EIF zulässig sind. Um die Anzahl der eingehenden Verbindungen in einem EIF-Mapping zu begrenzen, schließen Sie die eif-flow-limit number-of-flows
Anweisung auf Hierarchieebene [edit services nat rule rule-name term term-name then translated secure-nat-mapping]
ein.
NAT-Implementierung auf Betreiberniveau: Best Practices
In den folgenden Themen werden die bewährten Methoden für die NAT-Implementierung auf Betreiberniveau vorgestellt:
- Verwenden Sie die Adresszuweisung im Rundlaufverfahren bei der Verwendung von APP mit dem MS-DPC
- Verwenden Sie die EIM-Funktion nur bei Bedarf
- Definieren der Blockgrößen für die Portblockzuweisung basierend auf der erwarteten Anzahl von Benutzersitzungen
- Überlegungen zum Ändern der Konfiguration der Portblockzuweisung auf laufenden Systemen
- Zuweisen von NAT-Pools, die größer als nötig sind
- Konfiguration der Systemprotokollierung für NAT nur bei Bedarf
- Begrenzen Sie die Auswirkungen fehlender IP-Fragmente
- Verwenden Sie keine Konfigurationen, die anfällig für Paket-Routing-Schleifen sind.
- Zeitüberschreitungen bei Inaktivität
- Aktivieren der Dump-on-Datenstromsteuerung
Verwenden Sie die Adresszuweisung im Rundlaufverfahren bei der Verwendung von APP mit dem MS-DPC
Wenn Sie einen MS-DPC verwenden und die gekoppelte Adresspoolierung (APP) in einer NAT-Regel konfigurieren, sollten Sie die Adresszuweisung im Rundlaufverfahren für den NAT-Pool verwenden.
Die APP-Funktion ordnet eine private IP-Adresse derselben öffentlichen IP-Adresse in einem NAT-Pool für alle NAT-Sitzungen für diese private IP-Adresse zu.
Die sequenzielle Adresszuweisung für NAT-Pools ist die Standardeinstellung auf dem MS-DPC und weist alle Ports für eine öffentliche IP-Adresse zu, bevor die nächste IP-Adresse zugewiesen wird. Die sequenzielle Zuordnung kann zusammen mit APP dazu führen, dass mehrere private Hosts derselben öffentlichen IP-Adresse zugeordnet werden, was zu einer schnellen Erschöpfung des Ports für eine öffentliche IP-Adresse führt, während andere Ports von den verbleibenden IP-Adressen im NAT-Pool noch verfügbar sind.
Bei der Round-Robin-Zuweisung hingegen wird die nächste IP-Adresse im NAT-Pool der nächsten privaten IP-Adresse zugewiesen, die übersetzt werden muss, wodurch die Wahrscheinlichkeit verringert wird, dass alle Ports für eine öffentliche IP-Adresse erschöpft sind.
Weitere Informationen zur APP- und Roundrobin-Adresszuordnung finden Sie unter Konfigurieren von Adresspools für die Übersicht über die Network Address Port Translation (NAPT).
Die MS-MPC und MS-MIC verwenden nur die Round-Robin-Zuordnung.
Das folgende Beispiel zeigt die Adresszuweisung im Rundlaufverfahren.
[edit services] nat pool natpool-1 { port { automatic; } address-allocation round-robin; mapping-timeout 120; }
Verwenden Sie die EIM-Funktion nur bei Bedarf
Verwenden Sie keine endpunktunabhängige Zuordnung (EIM) in NAT-Regelbedingungen, die Junos ALGs enthalten. EIM weist dieselbe externe NAT-Adresse und denselben Port für eine bestimmte Sitzung von einem privaten Host zu, fügt jedoch den Verarbeitungsaufwand hinzu. EIM bietet keinen Vorteil für die Junos ALGs, die bereits die von EIM verwendeten Funktionen verwenden.
Aktivieren Sie EIM für Anwendungen, die die Quellports wiederverwenden und sich darauf verlassen, dass ein CGNAT-Gerät dieselbe Adresse und Portzuordnung für den gesamten Datenverkehr beibehält, der an verschiedene Ziele gesendet wird. Verwenden Sie EIM beispielsweise für Konsolenspielanwendungen wie Xbox und PS4 oder Anwendungen, die unilaterale Methoden zur Korrektur von Selbstadressen (Unilateral Self-Address Fixing, UNSAF) verwenden. Weitere Informationen finden Sie unter (IETF RFC 3424 IAB Considerations for Unilateral Self-Address Fixing (UNSAF) across Network Address Translation).
Weitere Informationen zu EIM finden Sie unter Konfigurieren von Adresspools für die Network Address Port Translation (NAPT)-Übersicht.
Im folgenden Beispiel wird die Junos SIP-ALG in der NAT-Regel verwendet, daher wird EIM nicht verwendet.
[edit services nat] rule natrule-1 { match-direction input; term1 { from { applications junos-sip; } } then { translated { source-pool natpool-3; translation-type { napt-44; } address-pooling paired; } } }
Definieren der Blockgrößen für die Portblockzuweisung basierend auf der erwarteten Anzahl von Benutzersitzungen
Definieren Sie für die sichere Portblockzuweisung und die deterministische Portblockzuweisung eine Blockgröße für die Portblockzuweisung, die 2- bis 4-mal größer ist als die erwartete durchschnittliche Anzahl aktiver Sitzungen für einen Benutzer. Wenn z. B. erwartet wird, dass der Benutzer durchschnittlich ca. 200 bis 250 NAT-Sitzungen aktiv hat, bietet die Konfiguration der Blockgröße auf 512 oder 1024 eine großzügige Zuordnung.
Wenn Sie die sichere Portblockierung mit der MX-Serie als NAT-Gerät einführen und sich nicht sicher sind, welches Abonnenten-Benutzerprofil und Ihr Datenverkehrsprofil sind, legen Sie die Portblockgröße auf 1024 fest, wenn Sie über genügend NAT-IP-Adressen verfügen, um die geschätzte Spitzenanzahl privater Teilnehmer zu bewältigen. Die Anzahl der NAT-IP-Adressen multipliziert mit 62 ergibt die Anzahl der privaten Teilnehmer, die mit einer Portblockgröße von 1024 verarbeitet werden können (es gibt 62 Blöcke pro IP-Adresse). Überwachen Sie dann den Router der MX-Serie genau, indem Sie den show services nat pool detail
Befehl verwenden, um festzustellen, ob die Blockgröße geändert werden muss.
Achten Sie darauf, die Blockgröße nicht zu groß zu machen, wenn die Anzahl der IP-Adressen, die Sie dem NAT-Pool zuweisen können, begrenzt ist. Wenn Sie eine Portblockgröße festlegen, die groß genug ist, um die Blöcke Ihren Abonnenten effizient zuzuweisen, kann dies dazu führen, dass alle Portblöcke gebunden sind.
Bei der sicheren Portblockzuweisung werden Blöcke von Ports einem bestimmten Benutzer für NAT44 oder NAT64 zugewiesen. Die sichere Portblockzuweisung begrenzt die Anzahl der Syslog-Meldungen, indem nur ein Syslog pro Portblock generiert wird.
Eine falsche Konfiguration der Blockgröße kann jedoch zu einer ineffizienten Nutzung von NAT-Ressourcen oder zu Leistungsproblemen führen. Wenn ein Benutzer beispielsweise eine Verbindung zu einer Website herstellt, die die Einrichtung einer erheblichen Anzahl von Sockets für eine einzelne HTML-Seite erfordert, muss eine entsprechende Anzahl neuer Ports zugewiesen werden. Die Portblockgröße sollte groß genug sein, um die kontinuierliche Zuweisung neuer Blöcke zu verhindern. Wenn die Anzahl der gleichzeitigen Sitzungen für einen privaten Teilnehmer die Anzahl der im aktiven Portblock verfügbaren Ports überschreitet, werden die anderen Portblöcke, die dem Abonnenten zugeordnet sind, nach verfügbaren Ports durchsucht, oder es wird ein neuer Block aus dem freien Blockpool für den Abonnenten zugewiesen. Das Scannen zugewiesener Portblöcke und das Zuweisen zusätzlicher Blöcke kann zu Verzögerungen beim Einrichten neuer Sitzungen und beim Laden von Webseiten führen.
Weitere Informationen zur Portblockzuweisung finden Sie unter Konfigurieren der gesicherten Portblockblockzuweisung und Konfigurieren des deterministischen NAPT.
Im folgenden Beispiel wird die Portblockgröße auf 1024 festgelegt.
[edit services nat] pool natpool-1 { address-range low 192.0.2.0 high 192.0.2.10; port { automatic; secure-port-block-allocation { block-size 1024; max-blocks-per-user 8; active-block-timeout 300; } } mapping-timeout 300; }
Überlegungen zum Ändern der Konfiguration der Portblockzuweisung auf laufenden Systemen
Bevor Sie die sichere Portblockierungszuweisung oder die deterministische Portblockierungskonfiguration auf einem laufenden System ändern, wenn Sie eine MS-MPC oder MS-MIC verwenden, planen Sie eine schnelle Unterbrechung der NAT-Sitzungen ein. Die Konfigurationsänderung führt dazu, dass alle aktuellen NAT-Sitzungen neu erstellt werden.
Bevor Sie die Konfiguration für die Portblockzuweisung auf einem laufenden System ändern, wenn Sie einen MS-DPC verwenden, planen Sie eine Unterbrechung der Dienste ein. Nachdem Sie die Konfiguration geändert haben, müssen Sie den MS-DPC neu starten, oder wenn dies nicht möglich ist, müssen Sie das Service-Set deaktivieren und erneut aktivieren.
Zu den Änderungen an der Konfiguration der Portblockzuweisung gehören:
Ändern einer beliebigen PBA-Konfiguration des NAT-Pools.
Ändern eines PBA-NAT-Pools in einen Nicht-PBA-NAT-Pool.
Ändern eines Nicht-PBA-NAT-Pools in einen PBA-NAT-Pool.
Weitere Informationen zum Konfigurieren der Portblockzuweisung finden Sie unter Konfigurieren der gesicherten Portblockblockzuweisung und Konfigurieren des deterministischen NAPT.
Zuweisen von NAT-Pools, die größer als nötig sind
MS-MPC und MS-MIC
Wenn Sie NAPT44 als Übersetzungstyp mit MS-MIC oder MS-MPC verwenden, konfigurieren Sie keine NAT-Pools, die größer sind als für die Spitzensitzungsrate erforderlich, wodurch wertvolle IPv4-Ressourcen gebunden würden. Jede Konversation, auch als Sitzung bezeichnet, umfasst zwei Datenströme – einen Eingangs- und einen Ausgangsstrom. Für jede Konversation ist ein Port erforderlich, und jede IP-Adresse im Pool hat einen Portbereich von 1024 bis 65535 (64 KB), sodass die Größe des NAT-Pools nicht größer sein muss als:
Spitzenzahl der Gespräche/64K
Wenn Sie NAPT44 als Übersetzungstyp mit MS-MIC verwenden, empfehlen wir eine maximale NAT-Poolgröße von 128 Adressen (ein /25-Netzwerk).
Wenn Sie NAPT44 als Übersetzungstyp mit der MS-MPC verwenden, empfehlen wir eine maximale NAT-Poolgröße von 256 Adressen (ein /24-Netzwerk).
Die maximal empfohlene NAT-Poolgröße bei Verwendung von NAPT-44 für ein MS-MIC beträgt 128 IP-Adressen, da das MS-MIC maximal 14 Millionen Datenströme oder 7 Millionen Konversationen unterstützt, für die 7 Millionen Ports erforderlich sind. Insgesamt stehen 7 Millionen Ports mit 128 IP-Adressen zur Verfügung, wobei jede IP-Adresse einen Portbereich von 1024-65535 hat.
Die maximal empfohlene NAT-Poolgröße für jeden Steckplatz auf einer MS-MPC bei Verwendung von NAPT-44 beträgt 256 IP-Adressen, da jeder Steckplatz maximal 30 Millionen Datenströme oder 15 Millionen Konversationen unterstützt, für die 15 Millionen Ports erforderlich sind. Insgesamt stehen 15 Millionen Ports mit 256 IP-Adressen zur Verfügung, wobei jede IP-Adresse einen Portbereich von 1024-65535 hat.
Sie können größere Pools als die empfohlenen Werte verwenden, und Sie können davon ausgehen, dass Konfigurationen, die die PBA-Funktion (Port Block Assignment) verwenden, größere Pools erfordern. Dies liegt daran, dass PBA privaten IP-Adressen Portblöcke zuweist, wodurch sich das Pooleffizienzmodell ändert.
Weitere Informationen zum Konfigurieren von NAT-Pools finden Sie unter Konfigurieren von Adressen- und Portpools für die Network Address Translation – Übersicht.
MS-DPC
Wenn Sie NAPT44 als Übersetzungstyp mit dem MS-DPC verwenden, konfigurieren Sie keine NAT-Pools, die größer sind als für die Spitzendatenstromrate erforderlich, da dies wertvolle IPv4-Ressourcen binden würde. Jede Konversation umfasst zwei Flows (1 Reverse Flow für jeden Forward Flow). Für jede Konversation ist ein Port erforderlich, und jede IP-Adresse im Pool hat einen Portbereich von 1024 bis 65535 (64 KB), sodass die Größe des NAT-Pools nicht größer sein muss als:
Spitzenzahl der Gespräche/64K
Wenn Sie NAPT44 als Übersetzungstyp mit MS-DPC verwenden, konfigurieren Sie keine NAT-Pools mit mehr als 64 Adressen (ein /26-Netzwerk).
Die maximale NAT-Poolgröße für einen MS-DPC beträgt 64 IP-Adressen, da der MS-DPC maximal 8 Millionen Datenströme oder 4 Millionen Konversationen unterstützt, was maximal 4 Millionen Ports erfordert. Insgesamt stehen 4 Millionen Ports mit 64 IP-Adressen zur Verfügung, wobei jede IP-Adresse einen Portbereich von 1024-65535 hat. Wenn APP, EIM und EIF aktiviert sind, unterstützt der MS-DPC maximal 5,8 Millionen Datenströme oder 2,9 Millionen Konversationen, sodass die maximale Größe des NAT-Pools geringer ist.
Weitere Informationen zum Konfigurieren von NAT-Pools finden Sie unter Konfigurieren von Adressen- und Portpools für die Network Address Translation – Übersicht.
Konfiguration der Systemprotokollierung für NAT nur bei Bedarf
Aktivieren Sie die Systemprotokollierung nicht pro Sitzung für Konfigurationen mit sicherer Portblockzuweisung.
Aktivieren Sie die Systemprotokollierung nicht für deterministische NAT-Konfigurationen.
Aktivieren Sie die Systemprotokollierung nach Möglichkeit auf Servicesetebene und nicht auf der Ebene der Dienstschnittstellen.
Senden Sie in Produktionsnetzwerken die Protokollmeldungen immer an einen externen Systemprotokollserver. Dadurch wird vermieden, dass der Routing-Engine CPU-Last hinzugefügt wird, was auftritt, wenn Nachrichten lokal protokolliert werden.
Geben Sie die Systemprotokollklasse an, um die Protokollierung auf die Anwendungsklasse zu beschränken, an der Sie interessiert sind.
Wenn Sie die Systemprotokollierung innerhalb eines NAT-Regelbegriffs konfigurieren, verwenden Sie eine zustandsbehaftete Firewallregel, um den Datenverkehr einzuschränken, der den NAT-Regelbegriff erreicht.
Systemprotokollmeldungen können sich negativ auf die Leistung der Dienstkarte auswirken, abhängig von der Häufigkeit der Erstellung und Löschung von Sitzungen. Alle Systemprotokollmeldungen, die von der Services-Karte erstellt werden, erfordern CPU-Verarbeitung auf der Services-Karte, und die Systemlog-Meldungen selbst stellen Datenverkehr dar, der über den Router der MX-Serie gesendet wird und mit dem Benutzerdatenverkehr konkurriert, um den externen Log-Server zu erreichen.
Durch die sichere Portblockierungszuweisung entfällt die Notwendigkeit, Protokolle pro Sitzung zu konfigurieren, da Sie den Block und die Blockgröße kennen und die jedem Benutzer zugewiesenen Ports ableiten können.
Durch die deterministische NAT entfällt die Notwendigkeit einer Protokollierung, da alle Informationen über die Portbelegung mathematisch abgeleitet werden können.
Im folgenden Beispiel wird die Protokollierung auf NAT-Ereignisse beschränkt und Protokollmeldungen an den externen Protokollserver 203.0.113.4 gesendet
[edit services service-set S-SET-1] class { nat-logs; } syslog { host 203.0.113.4; }
Wenn Sie die Systemprotokollierung innerhalb eines NAT-Regelbegriffs konfigurieren, generiert der gesamte Datenverkehr, der in den NAT-Regelbegriff eingeht, ein Protokoll, was zu einer übermäßigen Protokollierung führen kann. Dies kann dazu führen, dass der Grenzwert für die Protokollierungsrate erreicht wird und Sie Protokolle verlieren, die Sie benötigen.
Weitere Informationen zum Konfigurieren der Systemprotokollierung für NAT finden Sie unter Konfigurieren von NAT-Sitzungsprotokollen.
Begrenzen Sie die Auswirkungen fehlender IP-Fragmente
Begrenzen Sie für die Services-Schnittstelle, die für NAT konfiguriert ist, die Auswirkungen fehlender oder verzögerter Fragmente, indem Sie Folgendes konfigurieren:
Maximale Anzahl von Fragmenten für ein Paket
Maximale Wartezeit für ein fehlendes Fragment
IP-Fragmente, die von der für NAT konfigurierten Servicekarte empfangen werden, werden beim Eintreffen gepuffert. Dies ermöglicht eine Integritätsprüfung des vollständig zusammengesetzten Pakets, bevor das Paket von NAT verarbeitet wird. Fehlende oder verzögerte Fragmente können dazu führen, dass die bereits empfangenen Fragmente zurückgehalten werden, bis der interne Puffer voll ist, und sie werden dann geleert, was zu einem Overhead der CPU-Auslastung und einer verringerten Datenverkehrsweiterleitung führt.
Durch die Konfiguration der maximalen Anzahl von Fragmenten, die ein Paket haben kann, und die Begrenzung der Wartezeit für ein fehlendes Fragment wird die Wahrscheinlichkeit verringert, dass der interne Puffer voll wird.
Im folgenden Beispiel wird die maximale Anzahl von Fragmenten auf 10 und die maximale Wartezeit auf 3 Sekunden festgelegt.
[edit interfaces ms-0/0/0] services-options { fragment-limit 10; reassembly-timeout 3; }
Verwenden Sie keine Konfigurationen, die anfällig für Paket-Routing-Schleifen sind.
Verhindern Sie Paketrouting-Schleifen, indem Sie sicherstellen, dass nur der beabsichtigte Datenverkehr die Servicekarte erreichen und von der Servicesatz-NAT-Regel verarbeitet werden kann. Sie können dies tun, indem Sie:
Konfigurieren Sie nach Möglichkeit einen Quelladressbereich unter der NAT-Regel.
Konfigurieren eines Firewallfilters, der nur den Datenverkehr akzeptiert, der von der NAT-Regel in einem Servicesatz im Next-Hop-Stil verarbeitet werden soll.
Die Paketschleife zwischen der Packet Forwarding Engine und der Servicekarte führt zu einer anhaltend hohen CPU-Auslastung auf der Services-Karte. Paketschleifen können dadurch verursacht werden, dass die Dienstkarte Datenverkehr von einem unerwarteten privaten Quellnetzwerk empfängt. Wenn unerwarteter Datenverkehr von NAT verarbeitet wird, wird eine Lochblende erstellt, und im Fall von EIF können viele Blenden entstehen. Diese Löcher verursachen Routing-Schleifen, wenn der Rückverkehr über die Servicekarte zurückgeleitet wird.
Das folgende Beispiel zeigt einen Firewallfilter, der nur zulässt, dass Datenverkehr von 198.51.100.0/24 die Dienstschnittstelle ms-1/0/0 erreicht, bei der es sich um die interne Schnittstelle für einen Next-Hop-Dienstsatz handelt.
[edit firewall filter to_be_serviced] term 1 { from } address { } 198.51.100.0/24; } then accept; } term 2 { then disard; } [edit interfaces ms-1/0/0] unit 1 { family intet { filter { output to_be_serviced; } } service-domain inside; }
Weitere Informationen zum Konfigurieren von Firewall-Filtern finden Sie im Benutzerhandbuch für Routing-Richtlinien, Firewall-Filter und Datenverkehrsrichtlinien.
Das folgende Beispiel zeigt eine NAT-Regel, die nur Datenverkehr von 198.51.100.0/24 verarbeitet (anderer Datenverkehr erreicht die Dienstschnittstelle, wird aber nicht verarbeitet).
[edit services nat] rule rule_1 { match-direction input; term t1 { from { source-address { 198.51.100.0/24; } } then { translated { source-pool pool1; translation-type { napt-44; } } } } }
Weitere Informationen zum Konfigurieren von NAT-Regeln finden Sie unter Übersicht über Network Address Translation-Regeln.
Zeitüberschreitungen bei Inaktivität
Legen Sie das Zeitlimit für Inaktivität nur für benutzerdefinierte Anwendungen fest, bei denen die NAT-Sitzungszuordnung länger als die standardmäßige NAT-Inaktivitätszeitüberschreitung von 30 Sekunden im Arbeitsspeicher verbleiben muss. Beispielsweise kann eine HTTP- oder HTTPS-Banking-Anwendung mehr als 30 Sekunden Inaktivität erfordern, da der Benutzer Daten eingeben muss.
Bevor Sie Änderungen an den vorhandenen Inaktivitätstimeouts vornehmen, führen Sie die folgenden Befehle mehrmals während der Spitzenzeiten aus. Führen Sie dann die Befehle aus, nachdem Sie die Änderungen vorgenommen haben, und vergewissern Sie sich, dass die Änderungen dem Router der MX-Serie keine NAT-Ressourcen oder den Arbeitsspeicher der Servicekarte entziehen.
Das folgende Beispiel zeigt, wie das Inaktivitätstimeout für HTTPS- und HTTP-Anwendungen auf 1800 Sekunden festgelegt wird.
[edit applications] application https { inactivity-timeout 1800; destination-port 443; protocol tcp; } application http { inactivity-timeout 1800; destination-port 443; protocol tcp; }
Weitere Informationen zum Konfigurieren von benutzerdefinierten Anwendungen finden Sie unter Konfigurieren von Anwendungseigenschaften.
Sie müssen die Risiken abwägen, die mit dem Festlegen hoher Inaktivitäts-Timeouts für den gesamten Datenverkehr verbunden sind. Während das standardmäßige NAT-Inaktivitätstimeout von 30 Sekunden für einige benutzerdefinierte Anwendungen zu niedrig sein kann, kann das Festlegen eines zu hohen Timeoutwerts NAT-Ressourcen binden. Das Festlegen von Timeoutwerten für hohe Inaktivität kann z. B. jede TCP-Sitzung binden, die nur wenige Minuten nach ihrer Erstellung inaktiv ist. Wenn die TCP-Sitzung nicht ordnungsgemäß durch eine FIN oder RST vom Client oder Server geschlossen wird, befindet sich die Sitzung im Arbeitsspeicher und bindet die ihr zugewiesenen NAT-Ressourcen, bis der Timeoutwert abläuft.
Das Festlegen höherer Inaktivitäts-Timeouts, die sich auf alle UDP- und TCP-Ports auswirken, kann gefährlich sein, insbesondere bei UDP-Datenverkehr wie DNS. Im Gegensatz zu TCP gibt es bei UDP keine andere Möglichkeit, eine Sitzung zu beenden, als eine Zeitüberschreitung zu überschreiten, sodass alle UDP-Sitzungen für den gesamten Timeoutwert für Inaktivität aktiv bleiben.
Bei dem folgenden Beispiel handelt es sich nicht um eine empfohlene Konfiguration, da hohe Timeoutwerte für Inaktivität für den gesamten TCP- und UDP-Datenverkehr festgelegt werden.
[edit applications] application UDP-All { protocol UDP; source-port 1-65535; inactivity-timeout 3600; } application TCP-All { protocol TCP; source-port 1-65535; inactivity-timeout 3600; }
Es gibt keine spezifischen empfohlenen Timeout-Werte für Inaktivität. Die richtigen Werte für die Zeitüberschreitung bei Inaktivität hängen von mehreren Faktoren ab, darunter:
Welche Anwendungen werden im Netzwerk eines Endbenutzers verwendet?
Apple hat beispielsweise angegeben, dass für die folgenden Apple-Dienste, die eine lange Verbindungslebensdauer erfordern, ein Inaktivitäts-Timeout von 60 Minuten erforderlich ist:
Apple Push Services: eingehender TCP-Port 5223
Exchange Active Sync: eingehender TCP-Port 443
MobileMe: eingehende TCP-Ports 5222 und 5223
Wie die NAT-Lösung genutzt wird, z. B. als Gi-NAT-Gerät oder als Enterprise-Edge-Router
Wie groß Ihre NAT-Pools sind
Wie viel Datenverkehr jede Servicekarte während Lastspitzen empfängt
Wie viel Arbeitsspeicher steht Ihnen zur Verfügung
Aktivieren der Dump-on-Datenstromsteuerung
Aktivieren Sie die Option "Dump-on-Flow-Control" für jede Dienstkarte, die NAT-Datenverkehr in einem Produktionsnetzwerk verarbeitet. Diese Option erkennt, wenn eine Servicekarte gesperrt ist, schreibt einen Core-Dump, den Juniper Networks analysieren kann, um festzustellen, warum die Karte gesperrt ist, und stellt die Servicekarte durch einen Neustart wieder her.
Legen Sie für MS-MIC und MS-MPC die Option Dump-on-Flow-Control unter der Schnittstelle pc- fest, die verwendet wird, um Steuerverkehr von der Routing-Engine an die Servicekarte zu senden. Das folgende Beispiel zeigt die Konfiguration, wenn die Dienstschnittstelle ms-2/1/0 ist.
[edit interfaces pc-2/1/0] multiservice-options { flow-control-options { dump-on-flow-control; } }
Legen Sie für den MS-DPC die Option "Dump-on-Flow-Steuerung" unter der Schnittstelle "sp-" fest. Das folgende Beispiel zeigt die Konfiguration, wenn die Services-Schnittstelle sp-2/1/0 ist.
[edit interfaces sp-2/1/0] multiservice-options { flow-control-options { dump-on-flow-control; } }
Siehe auch
Tabellarischer Änderungsverlauf
Die Unterstützung der Funktion hängt von der Plattform und der Version ab, die Sie benutzen. Verwenden Sie Funktionen entdecken , um festzustellen, ob eine Funktion auf Ihrer Plattform unterstützt wird.
limit-ports-per-address
Anweisung unterstützt.