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.
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"- 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.
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.
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.
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.
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.
Die Missbrauchsmeldung beantworten
Eine öffentliche Adresse und ein Quellport lösen den Client dahinter auf — Pool, Block und Portbereich — rechnerisch, ohne aufzubewahrende Flow-Logs.
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.