Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Deterministische NAPT-Übersicht für Services der nächsten Generation

Unter Services der nächsten Generation mit der MX-SPC3 können Sie sowohl deterministische NAPT44- als auch NAPT64-Services konfigurieren. Services der nächsten Generation: Deterministische NAPT-Dienste verwenden einen Algorithmus zur Zuweisung von Blöcken von Zielports.

Services der nächsten Generation Der deterministische NAPT44-Service stellt sicher, 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 bestimmten übersetzten Ports immer derselben internen IPv4-Adresse zugeordnet wird.

Services der nächsten Generation Der deterministische NAPT64-Dienst stellt sicher, 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 bestimmten übersetzten Ports immer derselben internen IPv6-Adresse zugeordnet wird.

Ausführliche Informationen zum Konfigurieren von deterministischem NAPT finden Sie unter Konfigurieren von deterministischem NAPT für Dienste der nächsten Generation.

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 übersetzten Ports immer derselben internen IP-Adresse zugeordnet wird.

Grundlegendes zu deterministischen NAPT-Algorithmen

Die Effektivität der Implementierung von deterministischem NAPT hängt von Ihrer Analyse der Anforderungen an Ihre Abonnenten 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, die in der from entsprechenden NAT-Regel angegeben ist. Der Zuweisungsalgorithmus berechnet einen Offsetwert, um die ausgehende IP-Adresse und den Port zu bestimmen. Ein Reverse-Algorithmus wird verwendet, um die ursprüngliche Teilnehmeradresse abzuleiten.

Anmerkung:

Um Abonnenten ohne die Verwendung von Protokollen zu verfolgen, muss ein ISP einen umgekehrten Algorithmus verwenden, um die Adressen eines Abonnenten (der Quelle) aus einer übersetzten Adresse abzuleiten.

Die folgenden Variablen werden bei der Vorwärtsberechnung (IP-Adresse des privaten Teilnehmers zu öffentlicher IP-Adresse) und umgekehrten Berechnung (öffentliche IP-Adresse zur IP-Adresse des privaten Teilnehmers) verwendet:

  • Pr_Prefix: Jede IPv4-Teilnehmeradresse 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 der Wert Null festgelegt 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 verwendbare IPv4-Teilnehmeradresse vor NAT in einer from Klausel der NAT-Regel.

  • Base_PU_Prefix: Erste verwendbare Post-NAT-IPv4-Teilnehmeradresse, 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 nutzbaren Pre-NAT-IPv4-Teilnehmeradresse in einer from Klausel der NAT-Regel übersetzt wird. PR_Offset = Pr_Prefix – Base_Pr_Prefix.

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

  • Pu_Actual_Port: Post-NAT-Port bei umgekehrtem Datenstrom.

  • Nr_Addr_PR_Prefix – Anzahl der nutzbaren IPv4-Teilnehmeradressen vor NAT in einer from Klausel der NAT-Regel.

  • Nr_Addr_PU_Prefix – Anzahl der nutzbaren Post-NAT-IPv4-Adressen, 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 nutzbaren 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: Gehen Sie von den folgenden Konfigurationen aus:

Vorwärtsübersetzung

  1. Pr_Offset =Pr_Prefix – Base_Pr_Prefix – Lücken im Pool privater IP-Adressen

    Anmerkung:

    Wenn der Pool für private IP-Adressen aus mehreren Pools besteht, die nicht zusammenhängend sind, darf der Pr_Offset nur die privaten IP-Adressen in den Pools zählen. Es ist also die Summe aus:

    • Der Offset innerhalb des Pools, in den die IP-Adresse fällt.

    • Die Größe der Pools mit niedrigeren IP-Adressen.

  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)

    Anmerkung:

    Wenn der Pool für öffentliche IP-Adressen aus mehreren Pools besteht, die nicht zusammenhängend sind, darf der Pu_Offset nur die öffentlichen IP-Adressen in den Pools zählen. Die Summe muss also wie folgt gemeint sein:

    • Wenn der Wert floor(Pr_Port_Offset / Rounded_Port_Range_Per_IP) größer als die Größe von first Public IP poolist, subtrahieren Sie die Größe dieses ersten Pools vom Wert. Betrachten Sie dann die zweite Poolgröße.

    • Wiederholen Sie den Vorgang, bis der Wert kleiner als der n-te Pool ist.

  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 Abonnenten-Flows 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 = 203.0.113.1 + floor(125.745 /64.491) = 203.0.113.1 +1 = 203.0.113.2

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

    • 10.1.1.250 wird in 203.0.113.2 übersetzt.

    • Der Startport ist 62278. Dem Teilnehmer stehen basierend auf der konfigurierten Blockgröße 249 Ports zur Verfügung. Der verfügbare Portbereich umfasst die Ports 62278 bis 62526 (einschließlich).

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

Umgekehrte Übersetzung

  1. Pr_Offset =Pr_Prefix – Base_Pr_Prefix – Lücken im Pool privater IP-Adressen

    Anmerkung:

    Wenn der Pool für private IP-Adressen aus mehreren Pools besteht, die nicht zusammenhängend sind, darf der Pr_Offset nur die privaten IP-Adressen in den Pools zählen. Es ist also die Summe aus:

    • Der Offset innerhalb des Pools, in den die IP-Adresse fällt.

    • Die Größe der Pools mit niedrigeren IP-Adressen.

  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 Übersetzung wird wie folgt bestimmt. Angenommen, der Datenfluss kehrt zu 203.0.113.2:62278 zurück.

  1. Pu_Offset = 203.0.113.2 – 203.0.113.1 = 1

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

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

    Anmerkung:

    Bei der umgekehrten Übersetzung kann nur die ursprüngliche private IP-Adresse abgeleitet werden und nicht 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 Portblockzuordnung oder die Klausel für Ihre from NAT-Regel neu konfigurieren. Um historische Informationen zu Zuordnungen bereitzustellen, empfehlen wir, Skripts zu schreiben, die bestimmte Zuordnungen für frühere Konfigurationen anzeigen können.

Deterministische NAPT-Einschränkungen

Beachten Sie beim Konfigurieren des deterministischen NAPT Folgendes:

  • Für die deterministische IPv6-Konfiguration der NAT64-Hostadresse unterstützen wir die letzte 32-Bit-Änderung (4 Byte) des IPv6-Hostpräfixes. Das bedeutet, dass wir nur /96-Präfixmasken für IPv6-Adressen konfigurieren können, die eine maximale Adressnummer von 232 für ein IPv6-Präfix unterstützen. Die Hostadresse wird in der [services nat source pool p1 port deterministic host] Konfigurationshierarchie angegeben.

  • Normalerweise sollte die Anzahl der Adressen im Hostbereich größer sein als die Anzahl der Adressen im Pool.

  • Beste Praxis:

    Es wird nicht empfohlen, die Hostadressnummer so zu konfigurieren, dass sie die Gesamtanzahl der Portblockierungsressourcen überschreitet, da einige Hosts möglicherweise keine Portblockierungsressource erfolgreich empfangen.

  • Die minimale Blockgröße für deterministische NAT beträgt 1. Wenn Sie eine kleinere Blockgröße konfigurieren, schlägt der Commit fehl. Wenn die Blockgröße auf 0 konfiguriert ist, wird die Blockgröße automatisch auf der Grundlage der Hostnummer und der übersetzten Adressnummer berechnet. Wenn die berechnete Blockgröße kleiner als 1 ist, schlägt der Commit fehl.

  • Für das deterministische NAPT für Next-Gen-Services können Sie jedoch eine Mischung aus IPv4- und IPv6-Hostadressen zusammen in einem NAT-Pool entweder in einer Hostadresse oder in einer Adressnamenliste konfigurieren. Die Gesamtzahl der Hostpräfixnummern darf 1000 nicht überschreiten.

  • Es ist nicht möglich, einen Adressbereich oder DNS-Namen in einem Hostadressbuchnamen zu konfigurieren.

  • Das konfigurierte Hostadresspräfix und der Name des Hostadressbuchs werden zusammengeführt, wenn sich die Präfixe überlappen. Sie können den show services nat source deterministic Befehl operational verwenden, um die zusammengeführten Präfixe anzuzeigen.

  • Beste Praxis:

    Es wird empfohlen, die Abonnentenhostadressen konsistent mit mehreren Regeln zu halten, die mit dem Präfix der Quelladressadresse übereinstimmen, wenn derselbe deterministische NAT-Pool für mehrere Regeln verwendet wird. Andernfalls kann der Datenverkehr von Hosts, die nicht im NAT-Pool konfiguriert sind, auch wenn er der NAT-Regel entspricht, den Port möglicherweise nicht erfolgreich zuordnen.

  • Bei NAPT-Services der nächsten Generation muss die Gesamtzahl der konfigurierten Hostadressen größer oder gleich den verfügbaren deterministischen NAT-Portblöcken sein.