RouterOS 配置指南
适用于 MikroTik RouterOS v7(WinBox / WebFig / CLI)。
本文默认 MosDNS 与当前活动代理核心(Clash 或 Sing-Box)运行在同一台 MSM 主机。如果你是分体部署,请记住两条原则:
- DHCP DNS 指向 MosDNS 所在主机
- FakeIP、Telegram、Netflix 等静态路由指向透明代理所在主机
变量约定
{MSM主机IPv4}:MSM 主机的 IPv4 地址{MSM主机IPv6}:MSM 主机的 IPv6 地址,推荐使用 ULA 或 GUA,例如fd00:20::2{MSM当前FakeIPv4网段}:以 MSM 当前设置页为准{MSM当前FakeIPv6网段}:以 MSM 当前设置页为准(启用 IPv6 时)
示例环境
- RouterOS 网关 IPv4:
192.168.20.1 - MSM 主机 IPv4:
192.168.20.2 - RouterOS LAN IPv6:
fd00:20::1/64 - MSM 主机 IPv6:
fd00:20::2/64
重要
RouterOS 的 IPv6 静态路由下一跳最好使用 ULA 或 GUA。若只能使用 link-local 地址,RouterOS 官方文档要求显式指定接口,例如 fe80::1234%bridge,否则路由可能无效。
下面的网段和地址都是示例。将 FakeIP 地址池替换为 MSM 设置页当前值;修改地址池、MSM 地址或 IPv6 开关后,必须同步修改 RouterOS 路由。
配置原则
MSM 在 RouterOS 上只采用一种接入方式:主路由直接添加静态路由。
- DHCP DNS 指向 MSM
- IPv4 目标网段直接指向
{MSM主机IPv4} - IPv6 目标网段直接指向
{MSM主机IPv6}
mangle、routing rule、额外路由表等策略路由写法不作为 MSM 的 RouterOS 标准配置。
步骤一:配置 DHCP DNS
推荐方式:客户端直接使用 MSM 作为 DNS
shell
/ip dhcp-server network set 0 dns-server={MSM主机IPv4}- 优点:链路最短,MosDNS 能直接识别客户端源地址
- 适合:绝大多数家庭网络
步骤二:添加 FakeIP 静态路由
shell
/ip route
add distance=1 dst-address={MSM当前FakeIPv4网段} gateway={MSM主机IPv4} comment="MSM FakeIP v4"
add distance=1 dst-address=8.8.8.8/32 gateway={MSM主机IPv4} comment="Google DNS"
add distance=1 dst-address=8.8.4.4/32 gateway={MSM主机IPv4} comment="Google DNS"
add distance=1 dst-address=1.1.1.1/32 gateway={MSM主机IPv4} comment="Cloudflare DNS"
add distance=1 dst-address=1.0.0.1/32 gateway={MSM主机IPv4} comment="Cloudflare DNS"
/ipv6 route
add distance=1 dst-address={MSM当前FakeIPv6网段} gateway={MSM主机IPv6} comment="MSM FakeIP v6"上面已经覆盖了 MSM 最常见的 FakeIP v4 / v6 以及公共 DNS 绕行配置。
步骤三:可选补充网段
如果你的规则里还需要 Telegram、Netflix 等目的网段,可继续添加:
shell
/ip route
add distance=1 dst-address=149.154.160.0/20 gateway={MSM主机IPv4} comment="Telegram"
add distance=1 dst-address=91.105.192.0/23 gateway={MSM主机IPv4} comment="Telegram"
add distance=1 dst-address=91.108.4.0/22 gateway={MSM主机IPv4} comment="Telegram"
add distance=1 dst-address=91.108.8.0/22 gateway={MSM主机IPv4} comment="Telegram"
add distance=1 dst-address=91.108.12.0/22 gateway={MSM主机IPv4} comment="Telegram"
add distance=1 dst-address=91.108.16.0/22 gateway={MSM主机IPv4} comment="Telegram"
add distance=1 dst-address=91.108.20.0/22 gateway={MSM主机IPv4} comment="Telegram"
add distance=1 dst-address=91.108.56.0/22 gateway={MSM主机IPv4} comment="Telegram"
add distance=1 dst-address=95.161.64.0/20 gateway={MSM主机IPv4} comment="Telegram"
add distance=1 dst-address=23.246.0.0/18 gateway={MSM主机IPv4} comment="Netflix"
add distance=1 dst-address=37.77.184.0/21 gateway={MSM主机IPv4} comment="Netflix"
add distance=1 dst-address=45.57.0.0/17 gateway={MSM主机IPv4} comment="Netflix"
add distance=1 dst-address=64.120.128.0/17 gateway={MSM主机IPv4} comment="Netflix"
add distance=1 dst-address=66.197.128.0/17 gateway={MSM主机IPv4} comment="Netflix"
add distance=1 dst-address=69.53.224.0/19 gateway={MSM主机IPv4} comment="Netflix"
add distance=1 dst-address=103.87.204.0/22 gateway={MSM主机IPv4} comment="Netflix"
add distance=1 dst-address=108.175.32.0/20 gateway={MSM主机IPv4} comment="Netflix"
add distance=1 dst-address=185.2.220.0/22 gateway={MSM主机IPv4} comment="Netflix"
add distance=1 dst-address=185.9.188.0/22 gateway={MSM主机IPv4} comment="Netflix"
add distance=1 dst-address=192.173.64.0/18 gateway={MSM主机IPv4} comment="Netflix"
add distance=1 dst-address=198.38.96.0/19 gateway={MSM主机IPv4} comment="Netflix"
add distance=1 dst-address=198.45.48.0/20 gateway={MSM主机IPv4} comment="Netflix"
add distance=1 dst-address=207.45.72.0/22 gateway={MSM主机IPv4} comment="Netflix"
add distance=1 dst-address=208.75.76.0/22 gateway={MSM主机IPv4} comment="Netflix"
add distance=1 dst-address=210.0.153.0/24 gateway={MSM主机IPv4} comment="Netflix"
add distance=1 dst-address=185.76.151.0/24 gateway={MSM主机IPv4} comment="Netflix"
/ipv6 route
add distance=1 dst-address=2001:b28:f23d::/48 gateway={MSM主机IPv6} comment="Telegram v6"
add distance=1 dst-address=2001:b28:f23f::/48 gateway={MSM主机IPv6} comment="Telegram v6"
add distance=1 dst-address=2001:b28:f23c::/48 gateway={MSM主机IPv6} comment="Telegram v6"
add distance=1 dst-address=2001:67c:4e8::/48 gateway={MSM主机IPv6} comment="Telegram v6"
add distance=1 dst-address=2a0a:f280::/32 gateway={MSM主机IPv6} comment="Telegram v6"不要使用的方式
以下做法不作为 MSM 的 RouterOS 标准文档内容:
mangle mark-routingrouting rule- 额外 routing table
- 为 FakeIP 单独设计的策略路由
这些做法常见于更复杂的 RouterOS 自定义方案,但对 MSM 的标准一体机接入来说,只会增加 FastTrack、Conntrack、排错路径和配置维护的复杂度。
验证
客户端验证
bash
nslookup google.com
dig AAAA google.comnslookup google.com应返回 MSM 当前 FakeIP v4 网段内的地址dig AAAA google.com应返回 MSM 当前 FakeIP v6 网段内的地址(启用 IPv6 时)
RouterOS 侧验证
shell
/ip route print detail where dst-address={MSM当前FakeIPv4网段}
/ipv6 route print detail where dst-address={MSM当前FakeIPv6网段}- 确认 FakeIP v4 / v6 路由都存在
- 确认下一跳分别指向正确的 MSM IPv4 / IPv6 地址