0x01 前言
使用的设备是Mikrotik RB750gr3 RouterOSv6.49.8
文章内容只对v6版本有效,v7有些地方有些不同,有空再写一篇v7的。
0x02 ROS获取CN地址列表
1、打开ros终端,获取CN地址列表,直接[
下载CN文件]拖拽进去也可以。
/tool fetch url=http://www.iwik.org/ipcountry/mikrotik/CN
2、导入地址到firewall的address lists
/import file-name=CN
3、查看一下Fiewwall address lists,确认都导入成功。
注意还需要手动把私有地址段也加入到CN地址列表 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16,要不然会有问题。
0x02 流量标记&国内外分流
1、Fiewwall -> Address List 新建一个Proxy列表,把需要"
留学"的内网IP加入里面。
2、
Fiewwall -> Mangle 建立prerouting标记规则proxy,排除访问目标cn地址网段。
意思就是把源地址为Proxy里面的内网地址,目的地址为非CN网段的,都标记成proxy流量。
3、建立新的静态路由,把proxy流量指定到代理网关。
需要注意:Distance写1,然后把pppoe拨号的Distance改成2,不然两个都是1会有冲突,pppoe还是作为缺省路由。
4、再创建一条Mangle规则,回来的流量直接通过ros,不做其他判断。
5、然后OP防火墙,自定义规则,加#注释掉53DNS劫持的语句,让经过旁路由的数据做源地址nat转换,否则不经过隧道的数据会进入循环。
# iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 53
# iptables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 53
iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
参考链接:
Mikrotik ROS 获取CN地址列表 分流旁路由国内外网关跳转出国留学
发表评论