MikroTik RouterOS 的 CGNAT 生成器
CGNAT 计算器、MikroTik CGNAT 生成器、netmap 端口块计算器、RouterOS CGNAT 脚本——叫法不同,要做的事一样:算出每个公网地址后面能放多少用户,决定哪些源端口归谁,再写出说明这件事的 /ip firewall nat 规则。Mikro Manager 两半都做。给它私网范围、公网前缀和每个地址的客户端数量,它就会生成 netmap 规则、跳转链,以及可选的黑洞路由——可以是写入任何内容之前由你批准的计划,也可以是你自己粘贴的 .rsc 脚本。
地址池在你的浏览器里算出。你输入的内容不会发送到任何地方——根本没有可发送的服务器。 这些规则是为 RouterOS 7 编写的。
# 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 设备。