找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 20147|回复: 34

RouterOS上的电信/移动双路由,按目标IP确定出口

[复制链接]
本帖最后由 stevemorrislian 于 2019-3-15 17:02 编辑

基本设想是国外用移动线路优先,电信用电信出口优先,其他就随缘了

首先是下载2个路由表,一个国内IP地址表,一个电信地址表=>这里的关键是逻辑关系,想清楚与和非的关系,因为出口列表很难用两个 《非》来界定出口方向

GitHub的ChnRoutes路由表,以APNIC的独立系统号为标准,随时更新的
https://github.com/fivesheep/chnroutes/blob/master/chnroutes.py
是用python编写的,也可以直接下载读取的txt文件。或者rsc执行文件,可以放到ROS下去执行

在路由器中建立地址表Domestic,用ip->firewall->address list以后也可以添加这个表
IP -> routes下,修改0.0.0.0/0的移动出口网关,添加Routing Mark=CM

dst-address=0.0.0.0/0 gateway=192.168.100.1 gateway-status=192.168.100.1 reachable via  pppoe-out1
        distance=1 scope=30 target-scope=10 routing-mark=CM
也就是说这个标签的会走192.168.100.1这个出口。

然后在IP->firewall->mangle下,建立prerouting的chain,在advance下设置条件dest. address list为"非"Domestic,方框的"!“表示非,domestic是下载的地址表
chain=prerouting action=mark-routing new-routing-mark=CM passthrough=yes  dst-address-list=!Domestic
其中prerouting的数据链表示在路由前作标记,这样不在Domestic的表中的目标IP,就打了标记CM,路由将选择移动出口

但是国内除了电信,还有联通。而去联通目标也是移动更好。
所以第二选择是电信,方法差不多,就是电信的标记TeleCom,目标地址不用非,也就是没“!”号。
如果有第三,第四出口,都不能用!的地址表

最后还是把不打标记的路由0.0.0.0/0加上,免得数据出不去,实际上考虑的是3出口状态,你懂的!

在nat的配置下,每个方向都要做masquerade,看上去差不多了。考虑到电信,移动的MTU,MSS不同change mss,取最小的值。虽然估计1480也够
chain=forward action=change-mss new-mss=1460 passthrough=yes tcp-flags=syn protocol=tcp log=no log-prefix=""



后面讲我自己遇到的问题
1,原来想只打telecom的标记,因为打标记的路由是优先的,如果打电信路由,国外的就没有标记,想出国的数据就会走到国内(是的。逻辑混乱,但请另外理解),最后没有标记的还是会经过移动出口的

2,想先打移动(移动不肯给公网IP,固定的私网)而不是电信,发现用非电信+非国内打标记,那么国内的标记就会出现2次都打标记的情况(国外也是非电信,与逻辑混乱一个意义),对路由器而言会占用CPU,关键是还会走错地方

3,手贱,选择了自己路由器PPPoE的电信出口,这样就有一个公网IP可以测试用途了(比如voip的电话通过l2tp用来从家里打电话)。这引起了LOG大爆发,赶紧开防火墙
规则:
0    chain=input action=drop src-address-list=BlockIPs log=no log-prefix=""
1    chain=forward action=drop src-address-list=BlockIPs log=no log-prefix=""
2    chain=output action=drop dst-address-list=BlockIPs log=no log-prefix=""

建立黑名单,进出遇到BlockIPs表里的IP地址全部封杀,用mangle,因为黑客也是不固定IP的,就停掉5天,免得地址表太大
   chain=input action=add-src-to-address-list protocol=tcp src-address=!172.16.0.0/16 src-address-list=192.168.0.0/16  address-list=BlockIPs address-list-timeout=5d port=21-25 log=no log-prefix=""

原来只想input的可能,发现log内还有很多port=23的试探,加了prerouting,
   chain=prerouting action=add-src-to-address-list protocol=tcp src-address=!192.168.0.0/16  src-address-list=!172.16.0.0/16 address-list=BlockIPs address-list-timeout=5d port=21-25 log=no log-prefix=""

对voip盗打电话我比较痛恨,关15天,地址表里也分得清情况
   chain=prerouting action=add-src-to-address-list protocol=udp src-address=!192.168.0.0/16  src-address-list=!172.16.0.0/16 address-list=BlockIPs address-list-timeout=2w1d port=5060-5061 log=no log-prefix=""

三天有680个IP被加入BlockIPs,其中1/10来自盗打电话的试探。以后看connections再加规则

4,一个动态路由的测试,为了保障移动出口到国外的带宽,大部分还是走电信出口,但遇到特殊需求时走移动口
开了一个192.168.88.0/24的DHCP,这个地址段中如果访问推文(或者开着这个窗口不关),以后所有数据就去移动,平常即使国外也走电信出口

先建立钩子,一旦访问目标在ToWatch这个List里,就把源IP放进去国外的临时表SourceTemp(过期时间1分钟),这个list内就是自己常看的电视,比如skynet,Bloomberg,twitter这些IP
chain=prerouting action=add-src-to-address-list protocol=tcp src-address=192.168.88.0/24  dst-address-list=ToWatch address-list=SourceTemp address-list-timeout=1m log=no log-prefix=""
然后给源SourceTemp也打上第一个CM的标记就可以了,只要关掉相应的窗口,就回到最后不打标记的出口

5,路由器上同时做dns forward,这样路由器本身就要访问外网,并没有内网192.168.0.0/16作为源地址的连接。为了解决这个问题,另外建立chain=output,条件一样
同时又发现又有大量的dns访问,同样用mangle的input链,从PPPoE进来的外网IP都放入黑名单。
发现不能把forward的上线dns设置为8.8.8.8,因为它太著名,许多污染记录都是针对它,不如找个冷门的dns,只要不在国内,也不通过国内的接口去访问

6,终于找到了解决DNS的方法,不仅要躲在防火墙后,lookup也不能从正常的出口走。好在我本来就通过CAPsMAN管理着多个LAP,用LAP同步8.8.8.8

7,有些用了CDN的网站,被分流后无法正常访问,因为它本身就用了不同的IP,当来源属于不同的IP时就无法正常运作了。我看股票的网站就有这情况,解决方法就是先建立一个表,CDNSites,一旦访问这些IP,就把源IP加入NoCDN,对NoCDN的源暂时(30秒)不走打标记的路由。一旦手机把APP关掉,就恢复按目标IP分流,方法基本同4,只是反着来。



我的恩山、我的无线 The best wifi forum is right here.
 楼主| | 显示全部楼层
有空接着写,主要是遇到的问题
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

楼主实现了嘛?我和楼主一模一样,加一个QQ交流一下

点评

/tool> traceroute www.sina.com # ADDRESS LOSS SENT LAST AVG BEST WORST STD-DEV STATUS 1 172.16.6.1 0%  详情 回复 发表于 2018-10-15 22:03
总有些细节不尽如人意,但是给出的这些都是成功测试的  详情 回复 发表于 2018-10-15 21:54
没有QQ,facebook?  发表于 2018-10-15 11:21
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
168kingmu 发表于 2018-10-14 22:57
楼主实现了嘛?我和楼主一模一样,加一个QQ交流一下

总有些细节不尽如人意,但是给出的这些都是成功测试的
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
本帖最后由 stevemorrislian 于 2018-10-15 22:07 编辑
168kingmu 发表于 2018-10-14 22:57
楼主实现了嘛?我和楼主一模一样,加一个QQ交流一下

我的dns解析次序是自己本地服务器的dnsmasq,然后是114.114.114.114,所以结果大多不是电信的,目标移动的最多。这是对sina的结果
/tool> traceroute www.sina.com
# ADDRESS                          LOSS SENT    LAST     AVG    BEST   WORST STD-DEV STATUS                                 
1 172.16.6.1                         0%    2   4.3ms     4.5     4.3     4.7     0.2                                       
2 ##########                    0%    2  98.4ms    87.4    76.3    98.4    11.1                                       
3###########                   0%    2   5.7ms       6     5.7     6.2     0.3                                       
4 172.18.27.1                        0%    2  40.4ms    42.4    40.4    44.3       2                                       
5 223.119.0.165                      0%    2  41.9ms    41.6    41.3    41.9     0.3                                       
6 223.118.18.161                     0%    2 245.5ms     245   244.4   245.5     0.6                                       
7 149.14.81.185                      0%    2 256.1ms   263.3   256.1   270.5     7.2                                       
8 130.117.2.13                       0%    2 264.4ms   264.4   264.4   264.4       0                                       
9 154.54.56.238                      0%    1 266.8ms   266.8   266.8   266.8       0                                       
10                                  100%    1 timeout                                                                        
11                                  100%    1 timeout                                                                        
12                                  100%    1 timeout                                                                        
13                                  100%    1 timeout                                                                        
14                                  100%    1 timeout                                                                        

/tool> traceroute www.sina.com.cn
# ADDRESS                          LOSS SENT    LAST     AVG    BEST   WORST STD-DEV STATUS                                 
1 192.168.100.1                      0%    4   0.2ms     1.2     0.2     4.1     1.7                                       
2 100.75.0.1                         0%    4   7.3ms     7.8       7     8.9     0.7                                       
3 #########                   0%    4     7ms    13.4     5.8    33.2    11.4                                       
4*************                  25%    4    47ms      22     7.6      47    17.7                                       
5##########                    0%    4     7ms     7.2       7     7.3     0.1                                       
6                                  100%    4 timeout                                                                        
7 221.183.55.33                     50%    4 timeout    10.3     9.9    10.6     0.4                                       
8 223.120.22.6                       0%    4  58.9ms    59.4    58.9    60.3     0.7                                       
9 223.120.2.1                        0%    3  40.1ms      40    39.9    40.1     0.1                                       
10 223.120.2.54                       0%    3    40ms    41.2      40      42     0.9                                       
11 123.255.90.36                      0%    3  41.2ms    42.2    41.2    43.7     1.1                                       
12 218.189.124.194                    0%    3  51.6ms    49.8    48.6    51.6     1.3                                       
13                                  100%    3 timeout                                                                        
14 36.51.254.37                       0%    3  41.9ms    42.3    41.9    43.1     0.5                                       


> server 202.96.209.133
默认服务器:  ns-pd.online.sh.cn
Address:  202.96.209.133

> www.sina.com.cn
服务器:  ns-pd.online.sh.cn
Address:  202.96.209.133

非权威应答:
名称:    spool.grid.sinaedge.com
Address:  202.102.94.124
Aliases:  www.sina.com.cn

>




/tool> traceroute 202.102.94.124
# ADDRESS                          LOSS SENT    LAST     AVG    BEST   WORST STD-DEV STATUS                                 
1 ##########                       0%   12   3.9ms     4.9     1.9     7.2     1.8                                       
2 ##########                        0%   12   4.7ms     6.6     3.1    10.7     2.2                                       
3 ##########                     0%   12   3.4ms     4.3       3     9.4     2.2                                       
4 202.97.29.110                      0%   12   8.9ms     8.6     7.4    10.7     0.8                                       
5 61.160.140.46                      0%   12   8.2ms     7.7     6.8     8.2     0.4                                       
6 202.102.73.194                     0%   12  11.4ms    14.3    11.4    25.6     3.7                                       
7 180.97.12.62                       0%   12  13.5ms    27.4    11.5    60.2    15.5                                       
8                                  100%   12 timeout                                                                        
9 202.102.94.124                     0%   11   7.8ms     7.9     7.6     8.2     0.2   

点评

我的dns是一台lede,所有流量都会经过软件中心的$$,他解析出来后经过ros出去,Facebook可能没有,微信有么,或者tg?不行的话我回去申请一下fb,不过fb要审核本人头像?可能需要一点时间  详情 回复 发表于 2018-10-16 11:22
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

stevemorrislian 发表于 2018-10-15 22:03
我的dns解析次序是自己本地服务器的dnsmasq,然后是114.114.114.114,所以结果大多不是电信的,目标移动 ...

我的dns是一台lede,所有流量都会经过软件中心的$$,他解析出来后经过ros出去,Facebook可能没有,微信有么,或者tg?不行的话我回去申请一下fb,不过fb要审核本人头像?可能需要一点时间

点评

tg是啥?  发表于 2018-10-16 14:23
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

telegram....我申请fb了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

我邮箱私聊你了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

本帖最后由 168kingmu 于 2018-10-20 12:46 编辑



这是我现在的拓扑图
ROS(IP:192.168.14.1)负责DHCP和拨号
LEDE(IP:192.168.14.2)作为DNS和网关负责梯子和去广告



PPPOE-OUT2是移动宽带,我去网上下载的大陆IP列表名称是no未批恩,创建的桥接名称是bridge,需要所有lan口和局域网IP的国外网站进出都走移动,你看我这个设置对没有,特别是这个general-src.add和in.interface和add type选择了local并且取反,这些地方你教程好像都没有说,但是我按照了其他教程设置上去了




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

IP routes的设置也要贴出来,我没看懂你的出口架构  发表于 2018-10-20 22:43
没看懂你的桥接是啥功能,请说清楚  详情 回复 发表于 2018-10-20 22:42
不要用负载平衡,是根据目标IP选择出口,就是说完全可能80%在出口A,20%在出口B  发表于 2018-10-20 22:39
应该是IP规划图而不是接线图  发表于 2018-10-20 22:38
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

本帖最后由 168kingmu 于 2018-10-20 12:57 编辑

最后怎么测试设置成功了,非大陆走移动 大陆走电信呢



我好像设置不对,刚刚看了一下流量,我在看优酷和斗鱼流量都走移动去了没有走电信PPPoE-out1都没有流量,全是out2的移动流量,。。。

点评

测试的方法就是traceroute,对不同的目标IP做traceroute,看经过的是哪一个出口  发表于 2018-10-20 22:47
根据目标IP做traceroute测试,我把结果贴出来就是这个意思  详情 回复 发表于 2018-10-20 22:45
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

是我设置错了还是我移动是内网IPV4+内网IPV6的地址,电信是IP是公网的IPV4地址,流量都从IPV6走了?但是我访问的地址已经都是IPV4的吧

点评

terminal下,命令: IP - Routes - print 路由怎么设置的?  详情 回复 发表于 2018-10-20 22:52
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

是不是要在下载一个电信的ipv4列表来设置???

点评

我其实用了3出口,1,虚拟,2,电信,3,移动 只是有些不能说出来的话  发表于 2018-10-20 22:50
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
168kingmu 发表于 2018-10-20 12:11
这是我现在的拓扑图
ROS(IP:192.168.14.1)负责DHCP和拨号
LEDE(IP:192.168.14.2)作为DNS和网关 ...

没看懂你的桥接是啥功能,请说清楚

点评

桥接那个就是lan口桥接 不用管了  详情 回复 发表于 2018-10-20 23:27
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
168kingmu 发表于 2018-10-20 12:14
最后怎么测试设置成功了,非大陆走移动 大陆走电信呢

根据目标IP做traceroute测试,我把结果贴出来就是这个意思
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
168kingmu 发表于 2018-10-20 13:08
是我设置错了还是我移动是内网IPV4+内网IPV6的地址,电信是IP是公网的IPV4地址,流量都从IPV6走了?但是我 ...

terminal下,命令:
IP - Routes - print

路由怎么设置的?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-27 04:59

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表