CGNAT für MikroTik RouterOS

CGNAT bildet viele private Clients auf wenige öffentliche Adressen ab, indem der Quellport-Raum jeder Adresse unter ihnen aufgeteilt wird. Mikro Manager baut dieses Layout aus den Parametern, die dich wirklich interessieren, und zeigt dir jede Regel, die es schreiben will.

Wie das Layout funktioniert

Der private Raum wird in aufeinanderfolgende Blöcke von der Größe des öffentlichen Prefixes gekachelt. Jeder Block wird 1:1 per netmap auf das gesamte Prefix abgebildet, auf seinem eigenen Quellport-Bereich, sodass sich mehrere Blöcke jede öffentliche Adresse teilen, getrennt durch Ports. Die Verteilung ist ein zweistufiger Sprung — von srcnat in eine Chain je /24, dann in eine Chain je Block — damit die Regelauswertung schnell bleibt, wie viele Blöcke es auch sind.

Deklarativ — und idempotent

Jede Regel trägt einen strukturierten Kommentar, der den gesamten Pool kodiert. Beim Verbinden liest die App die Live-Regeln, baut daraus die Pools nach und vergleicht dann Wunsch und Wirklichkeit. Die Quelle der Wahrheit ist der Router, nicht eine Datei auf deinem Mac — und Regeln ohne einen gültigen Kommentar von uns werden nie angefasst.

Deterministische Lookups, keine Flow-Logs

Weil netmap Arithmetik ist und keine Lease-Tabelle, lösen sich eine öffentliche Adresse und ein Quellport auf genau einen privaten Client auf — und zurück — ohne dass vorher irgendetwas aufgezeichnet wurde. Genau das braucht eine Missbrauchsmeldung als Antwort.

CGNAT-Generator für MikroTik RouterOS Der Pool wird in Ihrem Browser berechnet. Nichts von dem, was Sie eingeben, wird irgendwohin gesendet — es gibt keinen Server, der es empfangen könnte. Mehr lesen →
/ip firewall nat
add chain=srcnat action=jump jump-target=cgnat-10.64add chain=cgnat-10.64-b3 action=netmap \    to-addresses=200.2.3.0/27 to-ports=3072-4095 \    comment="mikro:v1;pool=cgnat;blk=3;cpi=256"
Plan
  • 2 anlegen
  • 67 ändern
  • 66 löschen

Du prüfst den Plan, bevor irgendetwas geschrieben wird.

Das Leben eines Pools

Ein Pool, den Sie auch ein Jahr später noch ändern können

Die meisten CGNAT-Aufbauten werden einmal geschrieben und danach von Hand gepflegt, Regel für Regel, ihr restliches Leben lang. Hier bleibt der Pool etwas, das sich öffnen, ändern und erneut anwenden lässt — denn der Entwurf liegt im Router selbst.

  1. Entwerfen

    Benennen Sie ihn, setzen Sie den privaten Start und das öffentliche Präfix und wählen Sie, wie viele Ports jeder Client bekommt. Blöcke, Portbereiche und Regelanzahl werden beim Tippen berechnet. Auf dem Router steht noch nichts — die Marke sagt Entwurf.

    Entwerfen
  2. Den Plan lesen

    Jede Regel, die geschrieben werden soll, vollständig: ein /27 auf 32 verteilt sind 133 Stück. Nur Anwenden schreibt, und es meldet jede Regel während des Schreibens.

    Den Plan lesen
  3. Er wird ein Pool, kein Regelhaufen

    Angewendet wird er Live und meldet, was ihm auf dem Router gehört. Der Entwurf steckt in den Regelkommentaren, deshalb baut die App den Pool bei jeder Verbindung aus dem Router neu auf.

    Er wird ein Pool, kein Regelhaufen
  4. Ein Jahr später ändern

    Halbieren Sie die Clients pro Adresse, schalten Sie Fasttrack ein, dann prüfen: zwei Regeln hinzugefügt, siebenundsechzig geändert, sechsundsechzig entfernt. Geschrieben wird nur die Differenz.

    Ein Jahr später ändern
  5. Die Missbrauchsmeldung beantworten

    Eine öffentliche Adresse und ein Quellport lösen den Client dahinter auf — Pool, Block und Portbereich — rechnerisch, ohne aufzubewahrende Flow-Logs.

    Die Missbrauchsmeldung beantworten

Fragen

Ist das ein CGNAT-Rechner oder konfiguriert es den Router?
Beides. Blöcke, Ports pro Client und Regelanzahl werden beim Tippen berechnet — das ist der Rechner — und anschließend schreibt die App die netmap-Regeln über die REST-API oder gibt Ihnen das Skript, wenn Sie es lieber selbst einfügen.
Kann ich das auf einem Router nutzen, der schon CGNAT-Regeln hat?
Ja. Die App verwaltet nur Regeln mit ihrem eigenen strukturierten Kommentar; alles von Hand Geschriebene wird gelesen, aber nie geändert oder gelöscht.
Wie viele Clients können sich eine öffentliche Adresse teilen?
Jede Zweierpotenz von 1 bis 1024. Diese Zahl bestimmt, wie das Quellport-Fenster geteilt wird: mehr Clients pro Adresse heißt ein schmalerer Portbereich für jeden.
Kann es die RouterOS-CGNAT-Konfiguration als Skript erzeugen?
Ja. Jeder Pool lässt sich als .rsc-Datei mit denselben getaggten Befehlen exportieren, die die App senden würde — für /import, ein Änderungsticket oder einen Router, den Sie nur über die Konsole erreichen.
Was, wenn ich die Regeln lieber selbst anwende?
Exportiere den Pool als RouterOS-Skript und füge es in ein Terminal ein. Die erzeugten Befehle sind dieselben, die die App gesendet hätte.
Protokolliert es, welcher Client welchen Port genutzt hat?
Nein, und es muss auch nicht. Die Zuordnung wird aus den Pool-Parametern berechnet, also funktionieren Lookups rückwirkend, ohne dass je eine Protokollierung eingeschaltet war.

Mikro Manager holen

Über den Mac App Store vertrieben – sandboxed, signiert und automatisch aktualisiert.

Demnächst im Mac App Store.

Erfordert macOS 14 oder neuer und ein RouterOS-v7-Gerät mit aktivierter REST-API.