Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Deterministische NAT

Deterministisches NAPT – Überblick

Sie können deterministisches NAPT44 konfigurieren, um sicherzustellen, dass die ursprüngliche IPv4-Quelladresse und der ursprüngliche Port immer derselben Post-NAT-IPv4-Adresse und demselben Portbereich zugeordnet sind und dass die umgekehrte Zuordnung einer bestimmten übersetzten externen IPv4-Adresse und eines bestimmten Ports immer derselben internen IPv4-Adresse zugeordnet wird. Sie können deterministisches NAPT64 konfigurieren, um sicherzustellen, dass die ursprüngliche IPv6-Quelladresse und der ursprüngliche Port immer derselben Post-NAT-IPv4-Adresse und demselben Portbereich zugeordnet sind und dass die umgekehrte Zuordnung einer bestimmten übersetzten externen IPv4-Adresse und eines bestimmten 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 Series 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 von deterministischem NAPT finden Sie unter Konfigurieren von deterministischem 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 bestimmten Ports immer derselben internen IP-Adresse zugeordnet wird.

Verständnis von deterministischen NAPT-Algorithmen

Die Effektivität Ihrer Implementierung von deterministischem NAPT hängt von Ihrer Analyse der Anforderungen Ihrer Anwender ab. Die von Ihnen angegebene Blockgröße gibt an, wie viele Ports für jede eingehende Anwenderadresse aus dem Bereich in der Klausel verfügbar gemacht werden, die from in der anwendbaren NAT-Regel angegeben ist. Der Zuordnungsalgorithmus berechnet einen Offset-Wert, um die ausgehende IP-Adresse und den Port zu bestimmen. Ein umgekehrter Algorithmus wird verwendet, um die ursprüngliche Adresse des Anwenders abzuleiten.

Hinweis:

Um Abonnenten ohne Verwendung von Protokollen zu verfolgen, muss ein ISP einen umgekehrten Algorithmus verwenden, um eine Anwender (Quell-)Adressen von einer übersetzten Adresse abzuleiten.

Die folgenden Variablen werden bei der Vorwärtsberechnung (IP-Adresse des privaten Anwenders zur öffentlichen IP-Adresse) und der Rückwärtsberechnung (öffentliche IP-Adresse zur IP-Adresse des privaten Anwenders) verwendet:

  • Pr_Prefix: Jede IPv4-Anwender Adresse vor NAT.

  • Pr_Port – Jeder Port vor NAT Protokoll.

  • Block_Size: Anzahl der Ports, die für jede Pr_Prefix verfügbar sind.

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

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

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

  • Base_PR_Prefix: Erste verwendbare IPv4-Anwender Adresse vor NAT in einer from Klausel der NAT Regel.

  • Base_PU_Prefix: Erste verwendbare IPv4-Anwender Adresse nach NAT, die im NAT-Pool konfiguriert ist.

  • Pu_Port_Range_Start – Erster verwendbarer Post-NAT-Port. Wir schreiben die Nummer 1024.

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

  • PR_Port_Offset: Offset der IP-Adresse vor NAT 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 – Startport nach NAT für einen Datenstrom von einem bestimmten Pr_Prefix

  • Pu_Actual_Port – Anschluss nach NAT bei einem Reverse-Flow.

  • Nr_Addr_PR_Prefix — Anzahl der verwendbaren IPv4-Anwender Adressen vor NAT in einer from Klausel der NAT Regel.

  • Nr_Addr_PU_Prefix — Anzahl der im NAT-Pool konfigurierten IPv4-Adressen nach NAT.

  • Rounded_Port_Range_Per_IP — Anzahl der verfügbaren Ports für jede IP-Adresse nach NAT. Rounded_Port_Range_Per_IP = ceil[(Nr_Addr_PR_Prefix/Nr_Addr_PU_Prefix)] * Block_Size.

  • Pu_Offset: Offset der IP-Adresse nach NAT 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 für jede Post-NAT IP-Adresse verfügbaren Ports. 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-Translation

  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)

Verwenden der Beispielkonfiguration und unter der Annahme eines Anwender-Datenstroms aus 10.1.1.250:5000:

  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 + Untergrenze (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 mit 32.32.32.2 übersetzt.

    • Der Starthafen ist 62278. Basierend auf der konfigurierten Blockgröße stehen dem Anwender 249 Ports zur Verfügung. Der verfügbare Portbereich umfasst die Ports 62278 bis 62526 (einschließlich).

    • Der spezifische Fluss 10.1.1.250:5000 weist zufällig alle Ports in seinem Bereich zu, da eine zufällige Zuweisung angegeben wurde.

Umgekehrte Ü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 umgekehrte Umrechnung wird wie folgt ermittelt. Angenommen, ein Datenstrom 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 Strafverfolgung ausreichend granular.

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

Deterministische NAPT-Einschränkungen

Wenn Sie deterministisches NAPT konfigurieren, müssen Sie die folgenden Einschränkungen beachten. Ein Verstoß gegen eine 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. Das bedeutet, dass der Rounded_Port_Range_Per_IP Wert kleiner oder gleich 64.512 sein muss.

Die Kombination aus Adressen und Portblöcken im NAT-Pool ist kleiner als die Anzahl der Adressen in der Klausel "von".

IPv6-Adressen sollten nicht in deterministischen NAT-Pool/From-Klauseln verwendet werden.

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

ODER

Es ist bereits ein Bereich mit v4-Adressbereich konfiguriert

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

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

Die from Klausel muss mindestens eine Quelladresse haben.

Mit translation-type deterministic-napt44 sollte mindestens eine Nicht-Von-Adresse/-Bereich konfiguriert werden. Fehler: Fehler beim Auschecken der Konfiguration

Es sollte keine Adressüberschneidung zwischen except 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 Dienstsatz verwendet wird sset_det-NAT-Fehler: Fehler beim Auschecken der Konfiguration

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.

Deterministischer NAT-Pool kann nicht mit anderen Übersetzungstypen verwendet werden

Deterministisches NAPT44 muss einen Quellpool mit einer Konfiguration für deterministische Portblöcke verwenden.

Deterministisches NAPT44 muss einen Quellpool mit deterministic-port-block-allocation konfigurieren

Wenn address-allocation round-robin konfiguriert ist, führt ein Commit zur Anzeige einer Warnung, die darauf hinweist, dass diese Technik mit translation-type deterministic-napt44 nicht benötigt wird und ignoriert wird.

Adresszuweisungs-Round-Robin 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 deterministic-napt44-Übersetzung ist auf maximal 16777216(2^24) begrenzt.

Konfigurieren von deterministischem NAPT

Deterministisches NAPT44 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. 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.

Führen Sie die folgenden Schritte aus, um deterministisches 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 und geben Sie die Ober- und Untergrenze des Bereichs oder ein Adresspräfix an, das den Bereich beschreibt.

    oder

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

    Ab Junos OS Version 14.2R1 wird die Option eingeführt, mit der sequential Sie die sequenzielle Zuweisung von Ports konfigurieren können. Die sequential mit der port automatic Anweisung auf Hierarchieebene [edit services nat pool nat-pool-name] verfügbaren und-Optionen 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 Delegation von Ports einschließen. Standardmäßig erfolgt die sequentielle 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 zuzuweisenden Ports 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 Portblockzuweisung. Geben Sie die Blockgröße an, oder übernehmen Sie den Standardwert 512.

    Sie können auch angeben include-boundary-addresses , ob die niedrigste und die höchste Adresse (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 die Dienst-PIC 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 Service-Sets für deterministisches NAT

So konfigurieren Sie das Service-Set für deterministisches NAPT:

  1. Definieren Sie das Service-Set.
  2. Konfigurieren Sie entweder einen Schnittstellendienst, der eine einzelne Dienstschnittstelle erfordert, oder einen Next-Hop-Dienst, der eine interne und externe Dienstschnittstelle erfordert.

    oder

  3. Geben Sie die NAT-Regeln oder den Regelsatz an, die mit dem Dienstsatz verwendet werden sollen.

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.

Veröffentlichung
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 die Option eingeführt, mit der sequential Sie die sequenzielle Zuweisung von Ports konfigurieren können.