MikroTik RouterOS 向け CGNAT ジェネレーター

CGNAT 計算ツール、MikroTik の CGNAT ジェネレーター、netmap のポートブロック計算、RouterOS の CGNAT スクリプト——呼び方は違っても仕事は同じです。公開アドレス 1 つの背後に加入者を何人収めるか、どの送信元ポートを誰に割り当てるか、それを表す /ip firewall nat のルールをどう書くか。Mikro Manager はその両方を引き受けます。プライベート範囲、公開プレフィックス、アドレスあたりのクライアント数を渡せば、netmap ルール、ジャンプチェーン、任意のブラックホール経路まで生成します。書き込む前に承認する計画としても、自分で貼り付ける .rsc スクリプトとしても取り出せます。

プールの計算はブラウザー内で完結します。入力した内容はどこにも送信されません——送る先のサーバーがそもそも存在しません。 ルールは RouterOS 7 向けに書かれています。

プライベート空間 100.64.0.0/22
ブロック
32
プライベートアドレス
1,024
クライアントあたりのポート
2,016
ルール
133
cgnat1.rsc
# Mikro Manager — pool "cgnat1"
# 100.64.0.0/22 -> 203.0.113.0/27 · 32 blocks · ports 1024-65535
# Rules are tagged with mikro: comments; edit the pool in Mikro Manager, not by hand.

/ip firewall nat
add chain=cgnat1_b0 action=netmap protocol=tcp src-address=100.64.0.0/27 to-addresses=203.0.113.0/27 to-ports=1024-3039 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=0;proto=tcp"
add chain=cgnat1_b0 action=netmap protocol=udp src-address=100.64.0.0/27 to-addresses=203.0.113.0/27 to-ports=1024-3039 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=0;proto=udp"
add chain=cgnat1_b0 action=netmap src-address=100.64.0.0/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=0;proto=other"
add chain=cgnat1_b1 action=netmap protocol=tcp src-address=100.64.0.32/27 to-addresses=203.0.113.0/27 to-ports=3040-5055 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=1;proto=tcp"
add chain=cgnat1_b1 action=netmap protocol=udp src-address=100.64.0.32/27 to-addresses=203.0.113.0/27 to-ports=3040-5055 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=1;proto=udp"
add chain=cgnat1_b1 action=netmap src-address=100.64.0.32/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=1;proto=other"
add chain=cgnat1_b2 action=netmap protocol=tcp src-address=100.64.0.64/27 to-addresses=203.0.113.0/27 to-ports=5056-7071 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=2;proto=tcp"
add chain=cgnat1_b2 action=netmap protocol=udp src-address=100.64.0.64/27 to-addresses=203.0.113.0/27 to-ports=5056-7071 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=2;proto=udp"
add chain=cgnat1_b2 action=netmap src-address=100.64.0.64/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=2;proto=other"
add chain=cgnat1_b3 action=netmap protocol=tcp src-address=100.64.0.96/27 to-addresses=203.0.113.0/27 to-ports=7072-9087 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=3;proto=tcp"
add chain=cgnat1_b3 action=netmap protocol=udp src-address=100.64.0.96/27 to-addresses=203.0.113.0/27 to-ports=7072-9087 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=3;proto=udp"
add chain=cgnat1_b3 action=netmap src-address=100.64.0.96/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=3;proto=other"
add chain=cgnat1_b4 action=netmap protocol=tcp src-address=100.64.0.128/27 to-addresses=203.0.113.0/27 to-ports=9088-11103 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=4;proto=tcp"
add chain=cgnat1_b4 action=netmap protocol=udp src-address=100.64.0.128/27 to-addresses=203.0.113.0/27 to-ports=9088-11103 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=4;proto=udp"
add chain=cgnat1_b4 action=netmap src-address=100.64.0.128/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=4;proto=other"
add chain=cgnat1_b5 action=netmap protocol=tcp src-address=100.64.0.160/27 to-addresses=203.0.113.0/27 to-ports=11104-13119 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=5;proto=tcp"
add chain=cgnat1_b5 action=netmap protocol=udp src-address=100.64.0.160/27 to-addresses=203.0.113.0/27 to-ports=11104-13119 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=5;proto=udp"
add chain=cgnat1_b5 action=netmap src-address=100.64.0.160/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=5;proto=other"
add chain=cgnat1_b6 action=netmap protocol=tcp src-address=100.64.0.192/27 to-addresses=203.0.113.0/27 to-ports=13120-15135 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=6;proto=tcp"
add chain=cgnat1_b6 action=netmap protocol=udp src-address=100.64.0.192/27 to-addresses=203.0.113.0/27 to-ports=13120-15135 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=6;proto=udp"
add chain=cgnat1_b6 action=netmap src-address=100.64.0.192/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=6;proto=other"
add chain=cgnat1_b7 action=netmap protocol=tcp src-address=100.64.0.224/27 to-addresses=203.0.113.0/27 to-ports=15136-17151 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=7;proto=tcp"
add chain=cgnat1_b7 action=netmap protocol=udp src-address=100.64.0.224/27 to-addresses=203.0.113.0/27 to-ports=15136-17151 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=7;proto=udp"
add chain=cgnat1_b7 action=netmap src-address=100.64.0.224/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=7;proto=other"
add chain=cgnat1_b8 action=netmap protocol=tcp src-address=100.64.1.0/27 to-addresses=203.0.113.0/27 to-ports=17152-19167 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=8;proto=tcp"
add chain=cgnat1_b8 action=netmap protocol=udp src-address=100.64.1.0/27 to-addresses=203.0.113.0/27 to-ports=17152-19167 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=8;proto=udp"
add chain=cgnat1_b8 action=netmap src-address=100.64.1.0/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=8;proto=other"
add chain=cgnat1_b9 action=netmap protocol=tcp src-address=100.64.1.32/27 to-addresses=203.0.113.0/27 to-ports=19168-21183 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=9;proto=tcp"
add chain=cgnat1_b9 action=netmap protocol=udp src-address=100.64.1.32/27 to-addresses=203.0.113.0/27 to-ports=19168-21183 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=9;proto=udp"
add chain=cgnat1_b9 action=netmap src-address=100.64.1.32/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=9;proto=other"
add chain=cgnat1_b10 action=netmap protocol=tcp src-address=100.64.1.64/27 to-addresses=203.0.113.0/27 to-ports=21184-23199 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=10;proto=tcp"
add chain=cgnat1_b10 action=netmap protocol=udp src-address=100.64.1.64/27 to-addresses=203.0.113.0/27 to-ports=21184-23199 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=10;proto=udp"
add chain=cgnat1_b10 action=netmap src-address=100.64.1.64/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=10;proto=other"
add chain=cgnat1_b11 action=netmap protocol=tcp src-address=100.64.1.96/27 to-addresses=203.0.113.0/27 to-ports=23200-25215 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=11;proto=tcp"
add chain=cgnat1_b11 action=netmap protocol=udp src-address=100.64.1.96/27 to-addresses=203.0.113.0/27 to-ports=23200-25215 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=11;proto=udp"
add chain=cgnat1_b11 action=netmap src-address=100.64.1.96/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=11;proto=other"
add chain=cgnat1_b12 action=netmap protocol=tcp src-address=100.64.1.128/27 to-addresses=203.0.113.0/27 to-ports=25216-27231 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=12;proto=tcp"
add chain=cgnat1_b12 action=netmap protocol=udp src-address=100.64.1.128/27 to-addresses=203.0.113.0/27 to-ports=25216-27231 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=12;proto=udp"
add chain=cgnat1_b12 action=netmap src-address=100.64.1.128/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=12;proto=other"
add chain=cgnat1_b13 action=netmap protocol=tcp src-address=100.64.1.160/27 to-addresses=203.0.113.0/27 to-ports=27232-29247 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=13;proto=tcp"
add chain=cgnat1_b13 action=netmap protocol=udp src-address=100.64.1.160/27 to-addresses=203.0.113.0/27 to-ports=27232-29247 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=13;proto=udp"
add chain=cgnat1_b13 action=netmap src-address=100.64.1.160/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=13;proto=other"
add chain=cgnat1_b14 action=netmap protocol=tcp src-address=100.64.1.192/27 to-addresses=203.0.113.0/27 to-ports=29248-31263 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=14;proto=tcp"
add chain=cgnat1_b14 action=netmap protocol=udp src-address=100.64.1.192/27 to-addresses=203.0.113.0/27 to-ports=29248-31263 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=14;proto=udp"
add chain=cgnat1_b14 action=netmap src-address=100.64.1.192/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=14;proto=other"
add chain=cgnat1_b15 action=netmap protocol=tcp src-address=100.64.1.224/27 to-addresses=203.0.113.0/27 to-ports=31264-33279 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=15;proto=tcp"
add chain=cgnat1_b15 action=netmap protocol=udp src-address=100.64.1.224/27 to-addresses=203.0.113.0/27 to-ports=31264-33279 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=15;proto=udp"
add chain=cgnat1_b15 action=netmap src-address=100.64.1.224/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=15;proto=other"
add chain=cgnat1_b16 action=netmap protocol=tcp src-address=100.64.2.0/27 to-addresses=203.0.113.0/27 to-ports=33280-35295 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=16;proto=tcp"
add chain=cgnat1_b16 action=netmap protocol=udp src-address=100.64.2.0/27 to-addresses=203.0.113.0/27 to-ports=33280-35295 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=16;proto=udp"
add chain=cgnat1_b16 action=netmap src-address=100.64.2.0/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=16;proto=other"
add chain=cgnat1_b17 action=netmap protocol=tcp src-address=100.64.2.32/27 to-addresses=203.0.113.0/27 to-ports=35296-37311 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=17;proto=tcp"
add chain=cgnat1_b17 action=netmap protocol=udp src-address=100.64.2.32/27 to-addresses=203.0.113.0/27 to-ports=35296-37311 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=17;proto=udp"
add chain=cgnat1_b17 action=netmap src-address=100.64.2.32/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=17;proto=other"
add chain=cgnat1_b18 action=netmap protocol=tcp src-address=100.64.2.64/27 to-addresses=203.0.113.0/27 to-ports=37312-39327 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=18;proto=tcp"
add chain=cgnat1_b18 action=netmap protocol=udp src-address=100.64.2.64/27 to-addresses=203.0.113.0/27 to-ports=37312-39327 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=18;proto=udp"
add chain=cgnat1_b18 action=netmap src-address=100.64.2.64/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=18;proto=other"
add chain=cgnat1_b19 action=netmap protocol=tcp src-address=100.64.2.96/27 to-addresses=203.0.113.0/27 to-ports=39328-41343 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=19;proto=tcp"
add chain=cgnat1_b19 action=netmap protocol=udp src-address=100.64.2.96/27 to-addresses=203.0.113.0/27 to-ports=39328-41343 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=19;proto=udp"
add chain=cgnat1_b19 action=netmap src-address=100.64.2.96/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=19;proto=other"
add chain=cgnat1_b20 action=netmap protocol=tcp src-address=100.64.2.128/27 to-addresses=203.0.113.0/27 to-ports=41344-43359 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=20;proto=tcp"
add chain=cgnat1_b20 action=netmap protocol=udp src-address=100.64.2.128/27 to-addresses=203.0.113.0/27 to-ports=41344-43359 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=20;proto=udp"
add chain=cgnat1_b20 action=netmap src-address=100.64.2.128/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=20;proto=other"
add chain=cgnat1_b21 action=netmap protocol=tcp src-address=100.64.2.160/27 to-addresses=203.0.113.0/27 to-ports=43360-45375 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=21;proto=tcp"
add chain=cgnat1_b21 action=netmap protocol=udp src-address=100.64.2.160/27 to-addresses=203.0.113.0/27 to-ports=43360-45375 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=21;proto=udp"
add chain=cgnat1_b21 action=netmap src-address=100.64.2.160/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=21;proto=other"
add chain=cgnat1_b22 action=netmap protocol=tcp src-address=100.64.2.192/27 to-addresses=203.0.113.0/27 to-ports=45376-47391 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=22;proto=tcp"
add chain=cgnat1_b22 action=netmap protocol=udp src-address=100.64.2.192/27 to-addresses=203.0.113.0/27 to-ports=45376-47391 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=22;proto=udp"
add chain=cgnat1_b22 action=netmap src-address=100.64.2.192/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=22;proto=other"
add chain=cgnat1_b23 action=netmap protocol=tcp src-address=100.64.2.224/27 to-addresses=203.0.113.0/27 to-ports=47392-49407 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=23;proto=tcp"
add chain=cgnat1_b23 action=netmap protocol=udp src-address=100.64.2.224/27 to-addresses=203.0.113.0/27 to-ports=47392-49407 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=23;proto=udp"
add chain=cgnat1_b23 action=netmap src-address=100.64.2.224/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=23;proto=other"
add chain=cgnat1_b24 action=netmap protocol=tcp src-address=100.64.3.0/27 to-addresses=203.0.113.0/27 to-ports=49408-51423 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=24;proto=tcp"
add chain=cgnat1_b24 action=netmap protocol=udp src-address=100.64.3.0/27 to-addresses=203.0.113.0/27 to-ports=49408-51423 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=24;proto=udp"
add chain=cgnat1_b24 action=netmap src-address=100.64.3.0/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=24;proto=other"
add chain=cgnat1_b25 action=netmap protocol=tcp src-address=100.64.3.32/27 to-addresses=203.0.113.0/27 to-ports=51424-53439 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=25;proto=tcp"
add chain=cgnat1_b25 action=netmap protocol=udp src-address=100.64.3.32/27 to-addresses=203.0.113.0/27 to-ports=51424-53439 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=25;proto=udp"
add chain=cgnat1_b25 action=netmap src-address=100.64.3.32/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=25;proto=other"
add chain=cgnat1_b26 action=netmap protocol=tcp src-address=100.64.3.64/27 to-addresses=203.0.113.0/27 to-ports=53440-55455 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=26;proto=tcp"
add chain=cgnat1_b26 action=netmap protocol=udp src-address=100.64.3.64/27 to-addresses=203.0.113.0/27 to-ports=53440-55455 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=26;proto=udp"
add chain=cgnat1_b26 action=netmap src-address=100.64.3.64/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=26;proto=other"
add chain=cgnat1_b27 action=netmap protocol=tcp src-address=100.64.3.96/27 to-addresses=203.0.113.0/27 to-ports=55456-57471 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=27;proto=tcp"
add chain=cgnat1_b27 action=netmap protocol=udp src-address=100.64.3.96/27 to-addresses=203.0.113.0/27 to-ports=55456-57471 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=27;proto=udp"
add chain=cgnat1_b27 action=netmap src-address=100.64.3.96/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=27;proto=other"
add chain=cgnat1_b28 action=netmap protocol=tcp src-address=100.64.3.128/27 to-addresses=203.0.113.0/27 to-ports=57472-59487 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=28;proto=tcp"
add chain=cgnat1_b28 action=netmap protocol=udp src-address=100.64.3.128/27 to-addresses=203.0.113.0/27 to-ports=57472-59487 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=28;proto=udp"
add chain=cgnat1_b28 action=netmap src-address=100.64.3.128/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=28;proto=other"
add chain=cgnat1_b29 action=netmap protocol=tcp src-address=100.64.3.160/27 to-addresses=203.0.113.0/27 to-ports=59488-61503 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=29;proto=tcp"
add chain=cgnat1_b29 action=netmap protocol=udp src-address=100.64.3.160/27 to-addresses=203.0.113.0/27 to-ports=59488-61503 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=29;proto=udp"
add chain=cgnat1_b29 action=netmap src-address=100.64.3.160/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=29;proto=other"
add chain=cgnat1_b30 action=netmap protocol=tcp src-address=100.64.3.192/27 to-addresses=203.0.113.0/27 to-ports=61504-63519 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=30;proto=tcp"
add chain=cgnat1_b30 action=netmap protocol=udp src-address=100.64.3.192/27 to-addresses=203.0.113.0/27 to-ports=61504-63519 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=30;proto=udp"
add chain=cgnat1_b30 action=netmap src-address=100.64.3.192/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=30;proto=other"
add chain=cgnat1_b31 action=netmap protocol=tcp src-address=100.64.3.224/27 to-addresses=203.0.113.0/27 to-ports=63520-65535 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=31;proto=tcp"
add chain=cgnat1_b31 action=netmap protocol=udp src-address=100.64.3.224/27 to-addresses=203.0.113.0/27 to-ports=63520-65535 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=31;proto=udp"
add chain=cgnat1_b31 action=netmap src-address=100.64.3.224/27 to-addresses=203.0.113.0/27 comment="mikro:v1;pool=cgnat1;kind=netmap;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=31;proto=other"
add chain=cgnat1_g0 action=jump src-address=100.64.0.0/27 jump-target=cgnat1_b0 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=0;g24=100.64.0.0/24"
add chain=cgnat1_g0 action=jump src-address=100.64.0.32/27 jump-target=cgnat1_b1 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=1;g24=100.64.0.0/24"
add chain=cgnat1_g0 action=jump src-address=100.64.0.64/27 jump-target=cgnat1_b2 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=2;g24=100.64.0.0/24"
add chain=cgnat1_g0 action=jump src-address=100.64.0.96/27 jump-target=cgnat1_b3 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=3;g24=100.64.0.0/24"
add chain=cgnat1_g0 action=jump src-address=100.64.0.128/27 jump-target=cgnat1_b4 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=4;g24=100.64.0.0/24"
add chain=cgnat1_g0 action=jump src-address=100.64.0.160/27 jump-target=cgnat1_b5 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=5;g24=100.64.0.0/24"
add chain=cgnat1_g0 action=jump src-address=100.64.0.192/27 jump-target=cgnat1_b6 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=6;g24=100.64.0.0/24"
add chain=cgnat1_g0 action=jump src-address=100.64.0.224/27 jump-target=cgnat1_b7 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=7;g24=100.64.0.0/24"
add chain=cgnat1_g1 action=jump src-address=100.64.1.0/27 jump-target=cgnat1_b8 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=8;g24=100.64.1.0/24"
add chain=cgnat1_g1 action=jump src-address=100.64.1.32/27 jump-target=cgnat1_b9 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=9;g24=100.64.1.0/24"
add chain=cgnat1_g1 action=jump src-address=100.64.1.64/27 jump-target=cgnat1_b10 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=10;g24=100.64.1.0/24"
add chain=cgnat1_g1 action=jump src-address=100.64.1.96/27 jump-target=cgnat1_b11 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=11;g24=100.64.1.0/24"
add chain=cgnat1_g1 action=jump src-address=100.64.1.128/27 jump-target=cgnat1_b12 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=12;g24=100.64.1.0/24"
add chain=cgnat1_g1 action=jump src-address=100.64.1.160/27 jump-target=cgnat1_b13 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=13;g24=100.64.1.0/24"
add chain=cgnat1_g1 action=jump src-address=100.64.1.192/27 jump-target=cgnat1_b14 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=14;g24=100.64.1.0/24"
add chain=cgnat1_g1 action=jump src-address=100.64.1.224/27 jump-target=cgnat1_b15 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=15;g24=100.64.1.0/24"
add chain=cgnat1_g2 action=jump src-address=100.64.2.0/27 jump-target=cgnat1_b16 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=16;g24=100.64.2.0/24"
add chain=cgnat1_g2 action=jump src-address=100.64.2.32/27 jump-target=cgnat1_b17 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=17;g24=100.64.2.0/24"
add chain=cgnat1_g2 action=jump src-address=100.64.2.64/27 jump-target=cgnat1_b18 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=18;g24=100.64.2.0/24"
add chain=cgnat1_g2 action=jump src-address=100.64.2.96/27 jump-target=cgnat1_b19 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=19;g24=100.64.2.0/24"
add chain=cgnat1_g2 action=jump src-address=100.64.2.128/27 jump-target=cgnat1_b20 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=20;g24=100.64.2.0/24"
add chain=cgnat1_g2 action=jump src-address=100.64.2.160/27 jump-target=cgnat1_b21 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=21;g24=100.64.2.0/24"
add chain=cgnat1_g2 action=jump src-address=100.64.2.192/27 jump-target=cgnat1_b22 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=22;g24=100.64.2.0/24"
add chain=cgnat1_g2 action=jump src-address=100.64.2.224/27 jump-target=cgnat1_b23 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=23;g24=100.64.2.0/24"
add chain=cgnat1_g3 action=jump src-address=100.64.3.0/27 jump-target=cgnat1_b24 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=24;g24=100.64.3.0/24"
add chain=cgnat1_g3 action=jump src-address=100.64.3.32/27 jump-target=cgnat1_b25 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=25;g24=100.64.3.0/24"
add chain=cgnat1_g3 action=jump src-address=100.64.3.64/27 jump-target=cgnat1_b26 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=26;g24=100.64.3.0/24"
add chain=cgnat1_g3 action=jump src-address=100.64.3.96/27 jump-target=cgnat1_b27 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=27;g24=100.64.3.0/24"
add chain=cgnat1_g3 action=jump src-address=100.64.3.128/27 jump-target=cgnat1_b28 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=28;g24=100.64.3.0/24"
add chain=cgnat1_g3 action=jump src-address=100.64.3.160/27 jump-target=cgnat1_b29 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=29;g24=100.64.3.0/24"
add chain=cgnat1_g3 action=jump src-address=100.64.3.192/27 jump-target=cgnat1_b30 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=30;g24=100.64.3.0/24"
add chain=cgnat1_g3 action=jump src-address=100.64.3.224/27 jump-target=cgnat1_b31 comment="mikro:v1;pool=cgnat1;kind=jumpBlock;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;blk=31;g24=100.64.3.0/24"
add chain=srcnat action=jump src-address=100.64.0.0/24 jump-target=cgnat1_g0 comment="mikro:v1;pool=cgnat1;kind=jump24;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;g24=100.64.0.0/24"
add chain=srcnat action=jump src-address=100.64.1.0/24 jump-target=cgnat1_g1 comment="mikro:v1;pool=cgnat1;kind=jump24;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;g24=100.64.1.0/24"
add chain=srcnat action=jump src-address=100.64.2.0/24 jump-target=cgnat1_g2 comment="mikro:v1;pool=cgnat1;kind=jump24;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;g24=100.64.2.0/24"
add chain=srcnat action=jump src-address=100.64.3.0/24 jump-target=cgnat1_g3 comment="mikro:v1;pool=cgnat1;kind=jump24;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0;g24=100.64.3.0/24"

/ip route
add dst-address=203.0.113.0/27 blackhole=yes comment="mikro:v1;pool=cgnat1;kind=blackhole;priv=100.64.0.0;pub=203.0.113.0/27;n=32;win=1024-65535;bh=1;nt=0;ft=0"

133 件のルール。すべてに mikro: コメントが付きます。

もう一歩先へ

上のスクリプトは、アプリが書き込むものとまったく同じです。コメントも含まれています。いま貼り付けておけば、Mikro Manager は後からこのプールを認識します。ルーターからコメントを読み直し、この同じフォームでプールを開き、アドレスあたりのクライアント数やポート範囲を変えると差分だけを書き込みます。さらに、公開アドレスと送信元ポートから背後のクライアントを割り出し、ルーターを監査し、WireGuard の設定を配布します。

詳しく見る

Mikro Manager を入手

Mac App Store で配布 — サンドボックス化され、署名済みで、自動的に更新されます。

Mac App Store に近日登場。

macOS 14 以降と、REST API を有効にした RouterOS v7 デバイスが必要です。