ROS+ubuntu(clash)
ROS+ubuntu(clash)
之前一直都是ROS+openwrt(passwall)方案,最近折腾了下clash,感觉速度好像更快,于是写下这篇文章
Ros:
网络配置
LAN:192.168.1.1/23
WAN:PPPOE
DHCP:192.168.0.0/23(内网设备较多,所以用了23,这样可以192.168.0.1-192.168.1.254,一共500多个设备)
Ip设置在ip-address list
2.Openwrt lan:192.168.2.2/23
Op的网关设置为ros的bridge2 192.168.2.1
Lan的防火墙里面加入下面两句话(大概意思是经过op处理的ip全部伪装成op的lan ip)
iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -I POSTROUTING -o br-lan -j MASQUERADE
3.Ros对来源192.168.0.0/23的非国内IP标记为op (ip--firewall-mangle),后面的passthrough意思是流量会不会继续往下走进行相关标记。原来op和ros同网段的话还要放行op的ip,现在不同网段了就不需要了。
3.1 setting-script中新增获取chia-ip的脚本,不过这个脚本有个小bug,在ip-firewall-address lists中加入192.168.0.0/16,不然远程V-P-N回来的时候打不开内网地址了。添加完后记得手动运行下。
/tool fetch url=http://www.iwik.org/ipcountry/mikrotik/CN
/import file-name=CN
:local CN [:len [/ip firewall address-list find list="CN"]]
:log info ("CN-list-update:"."$CN"."rule")
/file remove [find name="CN"]
或者添加 (已经加入私有地址,不需要添加上述192.168.0.0/16)
/tool fetch url=https://www.willnet.net/cnip_clang.rsc
/import file-name=cnip_clang.rsc
/file remove [find name="cnip_clang"]
3.2 在system schedual中 增加: 每30天执行一次 下面空白地方输入:/system script run chia-ip
4.ip--firewall-Nat中伪装out.interface改为!Bridge2
5.Dhcp设置,接口绑定bridge1,networks网关和dns指定192.168.1.1
6.Dns设置,allow remote那个打勾,servers指定op的lan ip192.168.2.2,pppoe-out1中的use peer dns要关闭
7.Route设置
Ip-route中
目标ip是192.168.2.0/23的都走bridge2的网关
Distance选1
流量标记为op的,都走op的网关(op的lan地址),优先级1
8.监视op是否正常
Tools-netwatch (host改为192.168.2.2)
Up:op的ip能ping通,设置ros的dns如下,启用mangle的规则,数字根据你实际的调整
:local dns "192.168.2.2"
/ip dns set servers=$dns
/ip firewall mangle enable number=18
/ip firewall mangle enable number=17
Down:如果不能ping通,调整ros的dns 223.5.5.5,并关闭相应的mangle的规则
:local dns "223.5.5.5"
/ip dns set servers=$dns
/ip firewall mangle disable number=18
/ip firewall mangle disable number=17
test