Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Deterministische NAT

Übersicht über deterministisches NAPT

Sie können deterministisches NAPT44 konfigurieren, um sicherzustellen, dass die ursprüngliche Quell-IPv4-Adresse und der ursprüngliche Port immer derselben Post-NAT-IPv4-Adresse und demselben Portbereich zugeordnet werden und dass die umgekehrte Zuordnung einer bestimmten übersetzten externen IPv4-Adresse und eines anderen Ports immer derselben internen IPv4-Adresse zugeordnet wird. Sie können deterministisches NAPT64 konfigurieren, um sicherzustellen, dass die ursprüngliche Quell-IPv6-Adresse und der ursprüngliche Port immer derselben Post-NAT-IPv4-Adresse und demselben Portbereich zugeordnet werden und dass die umgekehrte Zuordnung einer bestimmten übersetzten externen IPv4-Adresse und eines anderen Ports immer derselben internen IPv6-Adresse zugeordnet wird. Deterministisches NAPT verwendet eine algorithmusbasierte Zuweisung von Blöcken von Zielports.

Deterministisches NAPT44 wird auf Routern der MX-Serie mit MS-DPCs und auf Routern der M-Serie mit MS-100, MS-400 und MS-500 MultiServices PICS unterstützt. Deterministisches NAPT 44 wird für MS-MPCs und MS-MICs ab Junos OS Version 17.3R1, in Junos OS Version 14.2R7 und höher 14.2 sowie in Junos OS Version 15.1R3 und höher 15.1 unterstützt. Ab Junos OS Version 17.4R1 wird deterministisches NAPT64 auf MS-MPC und MS-MIC unterstützt.

Wenn die Quelladresse in der from Klausel einer deterministischen NAPT-Regel nicht das Präfix /32 hat, werden die Netzwerk- und Broadcast-Adressen im Quelladressbereich nicht übersetzt, es sei denn, Sie konfigurieren include-boundary-addresses.

Ausführliche Informationen zum Konfigurieren des deterministischen NAPT finden Sie unter Konfigurieren des deterministischen NAPT.

Vorteile von deterministischem NAPT

  • Die Protokollierung der Adressübersetzung entfällt, da eine IP-Adresse immer derselben externen IP-Adresse und demselben Portbereich zugeordnet wird und die umgekehrte Zuordnung einer bestimmten übersetzten externen IP-Adresse und eines anderen Ports immer derselben internen IP-Adresse zugeordnet wird.

Deterministische NAPT-Algorithmen verstehen

Die Effektivität der Implementierung von deterministischem NAPT hängt von der Analyse der Abonnentenanforderungen ab. Die von Ihnen angegebene Blockgröße gibt an, wie viele Ports für jede eingehende Teilnehmeradresse aus dem Bereich in der Klausel zur Verfügung gestellt werden, der from in der entsprechenden NAT-Regel angegeben ist. Der Zuordnungsalgorithmus berechnet einen Offsetwert, um die ausgehende IP-Adresse und den ausgehenden Port zu bestimmen. Ein umgekehrter Algorithmus wird verwendet, um die ursprüngliche Abonnentenadresse abzuleiten.

Hinweis:

Um Abonnenten ohne die Verwendung von Protokollen zu verfolgen, muss ein ISP einen umgekehrten Algorithmus verwenden, um eine Teilnehmeradresse (Quelladresse) aus einer übersetzten Adresse abzuleiten.

Die folgenden Variablen werden bei der Vorwärtsberechnung (private Teilnehmer-IP-Adresse zu öffentlicher IP-Adresse) und umgekehrter Berechnung (öffentliche IP-Adresse zu privater Teilnehmer-IP-Adresse) verwendet:

  • Pr_Prefix – Alle IPv4-Abonnentenadressen vor NAT.

  • Pr_Port – Ein beliebiger Port vor dem NAT-Protokoll.

  • Block_Size - Anzahl der Ports, die so konfiguriert sind, dass sie für jede Pr_Prefix verfügbar sind.

    Wenn block-size als Null konfiguriert ist, wird die Methode zur Berechnung der Blockgröße wie folgt berechnet:

    block-size = int(64512/ceil[(Nr_Addr_PR_Prefix/Nr_Addr_PU_Prefix)])

    wobei 64512 der maximal verfügbare Portbereich pro öffentlicher IP-Adresse ist.

  • Base_PR_Prefix – Erste nutzbare IPv4-Abonnentenadresse vor NAT in einer from Klausel der NAT-Regel.

  • Base_PU_Prefix – Erste nutzbare IPv4-Abonnentenadresse nach NAT, die im NAT-Pool konfiguriert ist.

  • Pu_Port_Range_Start – Erster nutzbarer Post-NAT-Port. Das ist 1024.

  • Pr_Offset - Der Offset der Pre-NAT-IP-Adresse, die von der ersten verwendbaren Pre-NAT-IPv4-Abonnentenadresse in einer from Klausel der NAT-Regel übersetzt wird. PR_Offset = Pr_Prefix – Base_Pr_Prefix.

  • PR_Port_Offset - Offset der Pre-NAT-IP-Adresse multipliziert mit der Blockgröße. PR_Port_Offset = Pr_Offset * Block_Size.

  • Pu_Prefix – Post-NAT-Adresse für eine bestimmte Pr_Prefix.

  • Pu_Start_Port – Post-NAT-Startport für einen Datenstrom von einer bestimmten Pr_Prefix

  • Pu_Actual_Port – Post-NAT-Port bei einem Reverse-Flow.

  • Nr_Addr_PR_Prefix — Anzahl der verwendbaren IPv4-Abonnentenadressen vor NAT in einer from Klauselklausel der NAT-Regel.

  • Nr_Addr_PU_Prefix - Anzahl der verwendbaren IPv4-Adressen nach NAT, die im NAT-Pool konfiguriert sind.

  • Rounded_Port_Range_Per_IP - Anzahl der Ports, die für jede Post-NAT-IP-Adresse verfügbar sind. Rounded_Port_Range_Per_IP = ceil[(Nr_Addr_PR_Prefix/Nr_Addr_PU_Prefix)] * Block_Size.

  • Pu_Offset - Offset der Post-NAT-IP-Adresse von der ersten verwendbaren Post-NAT-Adresse. Pu_Offset = Pu_Prefix – Base_Pu_Prefix.

  • Pu_Port_Offset - Offset des Post-NAT-Ports von 1024 addiert zum Produkt aus dem Offset der Post-NAT-IP-Adresse und der Anzahl der Ports, die für jede Post-NAT-IP-Adresse verfügbar sind. Pu_Port_Offset = (Pu_Offset * Rounded_Port_Range_Per_IP) + (Pu_Actual_Port – Pu_Port_Range_Start).

Algorithmusverwendung: Nehmen Sie die folgende Konfiguration an:

Vorwärtsübersetzung

  1. Pr_Offset = Pr_Prefix – Base_Pr_Prefix

  2. Pr_Port_Offset = Pr_Offset * Block_Size

  3. Rounded_Port_Range_Per_IP = ceil[(Nr_Addr_PR_Prefix/Nr_Addr_PU_Prefix)] * Block_Size

  4. Pu_Prefix = Base_Public_Prefix + Etage(Pr_Port_Offset / Rounded_Port_Range_Per_IP)

  5. Pu_Start_Port = Pu_Port_Range_Start + (Pr_Port_Offset % Rounded_Port_Range_Per_IP)

Unter Verwendung der Beispielkonfiguration und unter der Annahme eines Abonnentendatenflusses, der von 10.1.1.250:5000 stammt:

  1. Pr_Offset = 10.1.1.250 – 10.1.0.1 = 505

  2. Pr_Port_Offset = 505 * 249 = 125.745

  3. Rounded_Port_Range_Per_IP = ceil[(65, 533/254)] * 249 = 259 * 249 = 64.491

  4. Pu_Prefix = 32.32.32.1 + floor(125.745 /64.491) = 32.32.32.1 +1 =32.32.32.2

  5. Pu_Start_Port = 1.024 + (125.745 % 64.491) = 62278

    • 10.1.1.250 wird übersetzt in 32.32.32.2.

    • Der Startport ist 62278. Dem Abonnenten stehen je nach konfigurierter Blockgröße 249 Ports zur Verfügung. Der verfügbare Portbereich umfasst die Ports 62278 bis 62526 (einschließlich).

    • Der spezifische Datenfluss 10.1.1.250:5000 weist nach dem Zufallsprinzip einen der Ports in seinem Bereich zu, da eine zufällige Zuweisung angegeben wurde.

Rückwärtsübersetzung

  1. Pu_Offset = Pu_Prefix – Base_Pu_Prefix

  2. Pu_Port_Offset = (Pu_Offset * Rounded_Port_Range_Per_IP) + (Pu_Actual_Port – Pu_Port_Range_Start)

  3. Subscriber_IP = Base_Pr_Prefix + Etage(Pu_Port_Offset / Block_Size)

Die Rückumrechnung wird wie folgt ermittelt. Angenommen, ein Datenfluss kehrt zu 32.32.32.2:62278 zurück.

  1. Pu_Offset = 32.32.32.2 – 32.32.32.1 = 1

  2. Pu_Port_Offset = (1 * 64.491) + (62.280 - 1024) = 125.747

  3. Subscriber_IP = 10.1.0.1 + floor(125.747 / 249) = 10.1.0.1 + 505 = 10.1.1.250

    Hinweis:

    Bei der umgekehrten Übersetzung kann nur die ursprüngliche private IP-Adresse abgeleitet werden, nicht aber der ursprünglich verwendete Port. Dies ist für die Anforderungen der Strafverfolgungsbehörden ausreichend detailliert.

Wenn Sie den deterministischen NAPT konfiguriert haben, können Sie die Befehle und verwenden, um die show services nat deterministic-nat internal-host Vorwärts- und show services nat deterministic-nat nat-port-block Rückwärtszuordnung anzuzeigen. Die Zuordnungen ändern sich jedoch, wenn Sie die Blockgröße für die deterministische Portblockzuweisung oder die from Klausel für Ihre NAT-Regel neu konfigurieren. Um historische Informationen zu Zuordnungen bereitzustellen, empfehlen wir Ihnen, Skripte zu schreiben, die spezifische Zuordnungen für frühere Konfigurationen anzeigen können.

Deterministische NAPT-Einschränkungen

Wenn Sie den deterministischen NAP konfigurieren, müssen Sie die folgenden Einschränkungen beachten. Die Verletzung einer Einschränkung führt zu einem Commit-Fehler. Die Einschränkungen und ihre Fehlermeldungen sind in Tabelle 1 dargestellt.

Tabelle 1: Deterministische NAPT-Commit-Einschränkungen

Einschränkung

Fehlermeldung

Die Gesamtzahl der deterministischen NAT-Blöcke muss größer oder gleich den from konfigurierten Klauseladressen sein. Dies bedeutet, dass der Rounded_Port_Range_Per_IP Wert kleiner oder gleich 64.512 sein muss.

Die Anzahl der Adressen und Portblöcke im NAT-Pool ist kleiner als die Anzahl der Adressen in der "from"-Klausel

IPv6-Adressen sollten nicht in deterministischen NAT-Pools/from-Klauseln verwendet werden.

Ungültige IP-Adresse im Pool p1 mit Übersetzungstyp deterministic-napt44

ODER

Es gibt bereits einen Bereich, der mit v4-Adressbereich konfiguriert ist

Die from Klauseladressen sollten identisch sein, wenn derselbe deterministische NAT-Pool für mehrere Begriffe/Regeln verwendet wird. Es sollte nur eine Klauseladresse/ein from Klauselbereich angegeben werden, wenn derselbe deterministische NAT-Pool für mehrere Begriffe/Regeln verwendet wird.

Mit translation-type deterministic-napt44 sollte dieselbe 'von'-Adresse/derselbe 'Von'-Bereich konfiguriert werden, wenn der Pool von mehreren Regeln oder Begriffen gemeinsam genutzt wird

Die Klausel from muss mindestens eine Quelladresse haben.

Mit translation-type deterministic-napt44 sollte mindestens eine Adresse/ein Bereich/ein Bereich konfiguriert werden, der nicht ausser 'from' ist. Fehler: Auschecken der Konfiguration fehlgeschlagen

Es sollte keine Adressüberschneidungen zwischen except den Einträgen in den from Klauseladressen geben.

überlappende Adresse, in der 'from'-Klausel zwischen 'except'-Einträgen

Adressen in einem NAT-Pool, der für deterministisches NAPT verwendet wird, sollten sich nicht mit den Adressen in einem anderen NAT-Pool überschneiden.

NAT-Pool det-nat-pool1 überschneidet sich mit det-nat-pool, der vom Servicesatz verwendet wird sset_det-nat-Fehler: Konfigurations-Checkout fehlgeschlagen

Ein deterministischer NAT-Pool kann nicht mit anderen Übersetzungstypen verwendet werden. Darüber hinaus kann ein deterministischer NAT-Pool nicht sowohl in deterministischen NAPT44- als auch in deterministischen NAPT64-NAT-Regeln verwendet werden.

Der deterministische NAT-Pool kann nicht mit anderen Übersetzungstypen verwendet werden

Deterministisches NAPT44 muss einen Quellpool mit deterministischer Portblockzuordnungskonfiguration verwenden.

Deterministisches NAPT44 muss einen Quellpool mit deterministischer Portblockzuordnungskonfiguration verwenden

Wenn address-allocation round-robin konfiguriert ist, führt ein Commit dazu, dass eine Warnung angezeigt wird, die darauf hinweist, dass dieses Verfahren mit translation-type deterministic-napt44 nicht benötigt wird und ignoriert wird.

Ein Round-Robin für die Adresszuweisung ist bei translation-type deterministic-napt44 nicht erforderlich

Die Gesamtzahl der IP-Adressen, die einem deterministischen NAT-Pool zugewiesen sind, sollte kleiner oder gleich 224 (16777216) sein.

Die Anzahl der Adressen im Pool mit deterministischer-napt44-Übersetzung ist auf höchstens 16777216(2^24) begrenzt

Konfigurieren von deterministischem NAPT

Deterministisches NAPT44 wird auf Routern der MX-Serie mit MS-DPCs und auf Routern der M-Serie mit MS-100, MS-400 und MS-500 MultiServices PICS unterstützt. Deterministisches NAPT44 wird für MS-MPCs und MS-MICs ab Junos OS Version 17.3R1, in Junos OS Version 14.2R7 und höher 14.2 sowie in Junos OS Version 15.1R3 und höher 15.1 unterstützt. Ab Junos OS Version 17.4R1 wird deterministisches NAPT64 auf MS-MPC und MS-MIC unterstützt.

Gehen Sie wie folgt vor, um den deterministischen NAPT zu konfigurieren:

Konfigurieren des NAT-Pools für deterministisches NAPT

So konfigurieren Sie den NAT-Pool für deterministisches NAPT:

  1. Erstellen Sie auf Hierarchieebene [edit services nat pool poolname] einen Pool.
  2. Definieren Sie den zu übersetzenden Adressbereich, indem Sie die Ober- und Untergrenze des Bereichs oder ein Adresspräfix angeben, das den Bereich beschreibt.

    Oder

  3. Um die automatische Portzuweisung zu konfigurieren, geben Sie entweder die sequenzielle oder die zufällige Zuweisung an.
    Hinweis:

    Ab Junos OS Version 14.2R1 wird diese Option eingeführt, mit der sequential Sie die sequenzielle Zuweisung von Ports konfigurieren können. Die sequential Optionen und, die mit der Anweisung auf der port automatic [edit services nat pool nat-pool-name] Hierarchieebene verfügbar sind, random-allocation schließen sich gegenseitig aus. Sie können die Option für die sequenzielle Zuweisung und die Option für die sequential random-allocation zufällige Delegierung von Ports einschließen. Standardmäßig erfolgt die sequenzielle Zuordnung von Ports, wenn Sie nur die port automatic Anweisung auf Hierarchieebene [edit services nat pool nat-pool- name] einschließen.

    Konfigurieren Sie für Versionen vor Junos OS Version 14.2R1 die automatische sequenzielle Portzuweisung mithilfe der auto Option auf Hierarchieebene [edit services nat pool nat-pool-name port automatic] .

  4. Um einen Bereich von Ports für die Zuweisung zu konfigurieren, geben Sie die niedrigen und hohen Werte für den Port an. Wenn Sie die automatische Portzuweisung nicht konfigurieren, müssen Sie einen Portbereich konfigurieren.
    Hinweis:

    Wenn Sie einen Bereich von Ports angeben, die zugewiesen werden sollen, wird die automatic Anweisung ignoriert.

  5. Konfigurieren Sie die deterministische Zuweisung von Portblöcken. Geben Sie block-size an, oder übernehmen Sie den Standardwert 512.

    Sie können auch angeben include-boundary-addresses , ob die niedrigsten und höchsten Adressen (die Netzwerk- und Broadcast-Adressen) im Quelladressbereich einer NAT-Regel übersetzt werden sollen, wenn der NAT-Pool verwendet wird. Wenn die Quelladresse das Präfix /32 hat, werden die niedrigste und die höchste Adresse automatisch übersetzt.

    Zum Beispiel:

    Hinweis:

    Damit deterministic-port-block-allocation Konfigurationsänderungen wirksam werden, müssen Sie den PIC der Dienste neu starten, wenn Sie eine der folgenden nat pool Optionen ändern:

    • address Oder address-range

    • port range

    • port deterministic-port-block-allocation block-size

Konfigurieren der NAT-Regel für deterministisches NAPT

So konfigurieren Sie die NAT-Regel für deterministisches NAPT:

  1. Konfigurieren Sie den Namen der NAT-Regel.
  2. Konfigurieren Sie die Übereinstimmungsrichtung der NAT-Regel als Eingabe.
  3. Geben Sie die Adressen an, die von der NAT-Regel übersetzt werden.

    So geben Sie eine Adresse an:

    So geben Sie einen Adressbereich an:

  4. Geben Sie den NAT-Pool an, der die Adressen für den übersetzten Datenverkehr enthält.
  5. Konfigurieren Sie den Übersetzungstyp als deterministisches NAPT44 oder deterministisches NAPT64.

Konfigurieren des Dienstsatzes für deterministische NAT

So konfigurieren Sie den Dienstsatz für deterministisches NAPT:

  1. Definieren Sie das Service-Set.
  2. Konfigurieren Sie entweder einen Schnittstellendienst, für den eine einzelne Dienstschnittstelle erforderlich ist, oder einen Next-Hop-Dienst, für den eine interne und eine externe Dienstschnittstelle erforderlich sind.

    Oder

  3. Geben Sie die NAT-Regeln oder den Regelsatz an, der mit dem Servicesatz verwendet werden soll.

Tabelle "Änderungshistorie"

Die Funktionsunterstützung hängt von der Plattform und der Version ab, die Sie verwenden. Verwenden Sie den Feature-Explorer , um festzustellen, ob ein Feature auf Ihrer Plattform unterstützt wird.

Release
Beschreibung
17.4R1
Ab Junos OS Version 17.4R1 wird deterministisches NAPT64 auf MS-MPC und MS-MIC unterstützt.
17.4R1
Ab Junos OS Version 17.4R1 wird deterministisches NAPT64 auf MS-MPC und MS-MIC unterstützt.
17.3R1
Deterministisches NAPT 44 wird für MS-MPCs und MS-MICs ab Junos OS Version 17.3R1 unterstützt
17.3R1
Deterministisches NAPT44 wird für MS-MPCs und MS-MICs ab Junos OS Version 17.3R1 unterstützt
14.2R1
Ab Junos OS Version 14.2R1 wird diese Option eingeführt, mit der sequential Sie die sequenzielle Zuweisung von Ports konfigurieren können.