RouterOS+旁路由IP地址列表分流

警告
本文最后更新于 2022-06-24,文中内容可能已过时。

一种并不优雅自动化程度很低但简单易上手的分流方式,教程基于 RouterOS 7.2.3

准备

拓扑

获取CN地址列表

比较推荐的有下面几个

将地址列表制作为 RouterOS 脚本

将获得到的地址列表改为如下格式

1
2
3
4
5
6
7
/ip firewall address-list
add list=CN address=x.x.x.x/xx
add list=CN address=x.x.x.x/xx
...
...
...
add list=CN address=x.x.x.x/xx

保存后将修改完毕的脚本重命名为 CN.rsc
这里有一份已经制作完成的 IP列表 仅供参考,注意下载完毕后须更改后缀名

修改 ROS 默认防火墙

打开 IP > Firewall > Filter Rules
找到 action=drop chain=forward comment=“drop invalid” connection-state=invalid 这一条,双击打开,将 General 下的 In. Interface List 改为 !LAN 防止防火墙将加密过后的流量标记为 invalid 而造成 TCP 流量握手缓慢

修改 Fasttrack 相关

打开IP > Firewall > Filter Rules
打开 fasttrack connection , 将 General 下的 In. Interface List 改为 PPPoE 端口名称防止 Fasttrack 与 Mangle 冲突

分流操作

导入脚本

通过 Winbox 进入 ROS,找到 Files > Upload 将制作好的脚本上传
在 ROS 首页打开 New Terminal 输入 import CN.rsc

标记分流

打开 Routing > Tables
添加如下
https://s2.loli.net/2022/05/25/O3sP2rv9jC6a7hc.png
打开 IP > Firewall > Address Lists
添加你想走代理的内网 IP (如手机,电脑的内网 IP)
https://s2.loli.net/2022/05/25/tw2kr3alcgYzX8M.png
打开 IP > Firewall > Mangle
添加标记
https://s2.loli.net/2022/05/25/nqyhmlRDJWxPuOK.png
https://s2.loli.net/2022/05/25/gMpyDnqK9bHzoPA.png
https://s2.loli.net/2022/05/25/zoyZSIgNerhwqfv.png
https://s2.loli.net/2022/05/25/poPXaSMizZQWVUK.png

添加另一规则让来自旁路由的流量直接通过 ROS ,不做其他判断
https://s2.loli.net/2022/05/25/LIoSjG4QBzOFk9x.png https://s2.loli.net/2022/05/25/f8aKTMEBvlOUHqu.png

打开 IP > Routes
设置路由表
https://s2.loli.net/2022/05/25/dFvXH1PEJMNeYZR.png

打开 Interfaces List > Interfaces
把 PPPOE 拨号的 Distance 改成 2

旁路由宕机自动切换分流

目的:

  • 当旁路由宕机时 自动关闭分流规则,并替换DNS
  • 当旁路由上线后 自动恢复分流规则,并替换DNS

打开 Tools > Netwatch 添加如下
Host 页输入
https://s2.loli.net/2022/05/25/gpYxPO9yzSM6UHG.png

Up 页输入

1
2
3
4
5
6
:local dns "192.168.2.3"
/ip dns set servers=$dns
/ip dns cache flush
/ip firewall mangle enable number=???
/ip firewall mangle enable number=???
/ip route enable numbers=0

Down 页输入

1
2
3
4
5
6
:local dns "114.114.114.114"
/ip dns set servers=$dns
/ip dns cache flush
/ip firewall mangle disable number=???
/ip firewall mangle disable number=???
/ip route disable numbers=0

??? 为添加的两条 Mangle 编号,以下图为例分别为 1 2
https://s2.loli.net/2022/05/25/D76AWnryMmgsPzU.png

参考链接

主路ROS+旁路OP 流量分流+DNS分流 最佳方案教程
Mikrotik ROS 获取CN地址列表,分流旁路由国内外网关跳转出国留学 ROS+openwrt(旁路由) IP分流稳定出国方案 ESXI高端玩法
RouterOS使用IP地址列表分流,分流给旁路由或者VPN
RouterOS在多个上游情况下正确设置返回包的默认路由

0%