iKuai爱快流控路由

标题: 玩儿转爱快路由器(NAT+路由)双线接入混合组网的研究 [打印本页]

作者: 9622315    时间: 2016-8-22 18:18
标题: 玩儿转爱快路由器(NAT+路由)双线接入混合组网的研究
本帖最后由 9622315 于 2016-8-22 20:53 编辑

貌似前一阵子,很多人都在讨论,爱快路由器同时接入两条线路,
一条为运营商的宽带线路,而另一条是企业内部的专网租赁线路,
并非常规的两条宽带线路。

最麻烦的是,宽带线路要做NAT转发,而企业内部的专网线路是路由转发,
爱快路由器要根据数据包的目的IP,自动判断应该转发到哪一条线路上。

大家沸沸扬扬,讨论了好几天,七嘴八舌的,貌似也没有啥最终的结果,
最近俺忙里偷闲,在家里搭建了个测试环境(实机测试,非虚拟环境),
把几种可能解决方案通通测试了一遍。

我总共想到了4套方案(如果你还有不同的欢迎补充),下面依次阐述。

网络拓扑图,图一为方案1与2,图2为方案3,图3为方案4
(, 下载次数: 46)

方案Ⅰ

网络拓扑如图1

终端配置
PC#1 IP 192.168.2.1/24 网关192.168.2.254
PC#2 IP 192.168.1.1/24 网关192.168.1.254

路由器接口配置
路由器#1(NAT模式)
WAN1 IP 10.0.1.2/24,网关 10.0.1.1
WAN2 IP 192.168.0.2/24,网关 192.168.0.254,勾选默认网关
LAN IP 192.168.2.254/24
路由器#2(路由模式)
WAN IP 10.0.1.1/24,网关 10.0.1.2
LAN IP 192.168.1.254/24

转发规则部署
路由器#1
上网模式 NAT
多线负载——自定义运营商——添加如下记录
  营商名称 企业专网
  目标地址 192.168.1.0/24
多线负载——添加转发规则
  线路 WAN1
  负载模式 实时连接数
  运营商 企业专网
  负载比例 1
  状态 启用
NAT转发,添加如下规则
  动作 过滤
  线路 WAN1
  源地址 192.168.2.1-192.168.2.254
  目的地址 192.168.1.1-192.168.1.254
  状态 启用
路由器#2
上网模式 路由

实际测试
① PC#1 ping 百度,通(通过路由器#1 WAN2口上级路由器转发)
② PC#1 ping 路由器#2 WAN,通
③ PC#1 ping PC#2,通
④ PC#2 ping 路由器#1 WAN1,通
⑤ PC#2 ping PC#1,不通
刚配好多线负载时,②③均不通,理论上多线负载的优先级,高于默认网关,
也就是说最起码②应该是能通的,但实际测试结果是不通,不知道是否为BUG,
经多方检测,发现配好多线负载后,先将PC#1的IP释放,然后再重新获取IP,
或者先禁用然后再启用PC#1的本地连接,此时②③④均可通,但⑤依然不通。

修改路由器#1转发规则
删除多线负载中的所有线路规则
添加端口分流规则,具体如下
  协议 任意
  线路 WAN1
  源地址 192.168.2.1-192.168.2.254
  目的地址 192.168.1.1-192.168.1.254
  状态 启用

实际测试
① PC#1 ping 百度,通(通过路由器#1 WAN2口上级路由器转发)
② PC#1 ping 路由器#2 WAN,通
③ PC#1 ping PC#2,通
④ PC#2 ping 路由器#1 WAN1,通
⑤ PC#2 ping PC#1,不通
从测试结果可以看出,路由器#1工作在NAT模式下,
端口分流与多线负载的效果是一样的。

上述两种转发规则,当配置生效后,分别抓包测试,
当且仅当PC#1 ping PC#2时,在PC#2上抓包,
可看到源IP地址为192.168.2.1的ICMP报文,
由此证明,转发模式为路由,NAT过滤规则生效。
==================================================
方案Ⅱ

网络拓扑图
同方案Ⅰ

终端配置
同方案Ⅰ

路由器#1 与 路由器#2 接口配置参数
同方案Ⅰ

转发规则部署
路由器#1
上网模式 路由
多线负载——自定义运营商——添加如下记录
  营商名称 企业专网
  目标地址 192.168.1.0/24
多线负载——添加转发规则
  线路 WAN1
  负载模式 实时连接数
  运营商 企业专网
  负载比例 1
  状态 启用
NAT转发,添加如下规则
  动作 转发
  线路 WAN2
  源地址 192.168.2.1-192.168.2.254
  目的地址 留空
  状态 启用
路由器#2
上网模式 路由

实际测试
① PC#1 ping 百度,通(通过路由器#1 WAN2口上级路由器转发)
② PC#1 ping 路由器#2 WAN,通
③ PC#1 ping PC#2,通
④ PC#2 ping 路由器#1 WAN1,通
⑤ PC#2 ping PC#1,不通
发生与方案Ⅰ相同的问题,即配好多线负载后,要重置PC#1的网卡,
否则线路是不通的,从测试结果看,最终效果与方案Ⅰ一模一样。

修改路由器#1转发规则
删除多线负载中的所有线路规则
添加端口分流规则,具体如下
  协议 任意
  线路 WAN1
  源地址 192.168.2.1-192.168.2.254
  目的地址 192.168.1.1-192.168.1.254
  状态 启用

实际测试
① PC#1 ping 百度,通(通过路由器#1 WAN2口上级路由器转发)
② PC#1 ping 路由器#2 WAN,通
③ PC#1 ping PC#2,通
④ PC#2 ping 路由器#1 WAN1,通
⑤ PC#2 ping PC#1,不通
从测试结果可以看出,路由器#1工作在路由模式下,
端口分流与多线负载的效果是一样的。

上述两种转发规则,当配置生效后,分别抓包测试,
当且仅当PC#1 ping PC#2时,在PC#2上抓包,
可看到源IP地址为192.168.2.1的ICMP报文,
由此证明,转发模式为路由。

但为何上述两套方案PC#2 ping PC#1均不通,具体原因,有待进一步研究。
==================================================
方案Ⅲ

网络拓扑如图2

终端配置
同方案Ⅰ

路由器接口配置
路由器#1(NAT模式)
WAN IP 192.168.0.2/24,网关 192.168.0.254,勾选默认网关
LAN1 IP 192.168.2.254/24,开启LAN互访
LAN2 IP 10.0.1.2/24,开启LAN互访
路由器#2(路由模式)
同方案Ⅰ

转发规则部署
路由器#1
上网模式 NAT
网络设置——静态路由,添加如下规则
  线路 LAN2
  目标地址 192.168.1.0
  子网掩码 255.255.255.0
  网关 10.0.1.1
  状态 启用
路由器#2
上网模式 路由

实际测试
① PC#1 ping 百度,通(通过路由器#1 WAN口上级路由器转发)
② PC#1 ping 路由器#2 WAN,通
③ PC#1 ping PC#2,通
④ PC#2 ping 路由器#1 LAN2,通
⑤ PC#2 ping PC#1,通

抓包测试
当且仅当PC#1 ping PC#2时,在PC#2上抓包,
可看到源IP地址为192.168.2.1的ICMP报文,
由此证明,转发模式为路由。
当且仅当PC#2 ping PC#1时,在PC#1上抓包,
可看到源IP地址为192.168.1.1的ICMP报文,
由此证明,转发模式为路由。
==================================================
方案Ⅳ

网络拓扑如图3

终端配置
同方案Ⅰ

路由器接口配置
路由器#1(NAT模式)
WAN IP 192.168.0.2/24,网关 192.168.0.254,勾选默认网关
LAN IP 192.168.2.254/24,扩展IP 10.0.1.2/24
路由器#2(路由模式)
同方案Ⅰ

转发规则部署
路由器#1
上网模式 NAT
网络设置——静态路由,添加如下规则
  线路 LAN1
  目标地址 192.168.1.0
  子网掩码 255.255.255.0
  网关 10.0.1.1
  状态 启用
路由器#2
上网模式 路由

实际测试
① PC#1 ping 百度,通(通过路由器#1 WAN口上级路由器转发)
② PC#1 ping 路由器#2 WAN,通
③ PC#1 ping PC#2,通
④ PC#2 ping 路由器#1 LAN2,通
⑤ PC#2 ping PC#1,通
抓包测试
当且仅当PC#1 ping PC#2时,在PC#2上抓包,
可看到源IP地址为192.168.2.1的ICMP报文,
由此证明,转发模式为路由。
当且仅当PC#2 ping PC#1时,在PC#1上抓包,
可看到源IP地址为192.168.1.1的ICMP报文,
由此证明,转发模式为路由。

总结:
方案Ⅰ与方案Ⅱ,都存在问题,具体原因不详,因为没有权限,看不到爱快的路由表,
所以,无法从理论上分析出错原因,LZ尝试过各种方法,均无法使PC#2 ping通PC#1。
具体原因,还要让官方的技术人员来查找,只有他们有权限查看系统的路由表。

测试我中还发现,不论何种转发方式,也不论何种上网模式,在PC#2 ping PC#1时,
只要断开路由器WAN2口的宽带连接(比如断开网线或解绑接口),此时立即ping通,
一旦恢复WAN2的连接,PC#2立马ping不通PC#1。一切都在路由表,可我就是看不到。

方案Ⅲ与方案Ⅳ,堪称完美,PC#1与PC#2双向均可ping通,且数据包均采用路由转发,
但事物总是没有十全十美的,LZ在测试中发现,PC#2可以通过路由器#1访问Internet,
估计这是多数情况下,偶们不愿看到的结果,好在爱快集成防火墙,加条ACL规则即可,
ACL规则如下
  协议 任意
  动作 阻断
  方向 转发
  源地址 留空
  目的地址 留空
  进接口 LAN2(方案Ⅲ)或LAN1(方案Ⅳ)
  出接口 WAN1
  周期 默认
  时间段 默认
搞定,现在PC#2只可以ping通PC#1了,ping百度不通了。

后记:
稍有经验的人,一眼就可以看出来,方案Ⅳ是两个网段的数据,跑在同一台交换机上,
且还是台傻瓜交换机,出于各种原因(比如数据安全),很多情况下这是不被允许的,
但如果路由器上没有空闲的接口,不能像方案Ⅲ那样添加第二个LAN口,那怎么办呢?
天无绝人之路——世界上有一种网络技术叫做VLAN,还有一种网设备叫做VLAN交换机,
爱快恰恰还支持VLAN技术,下面就不用我废话了吧,聪明的你肯定知道该怎么处理了。



作者: hspo    时间: 2016-8-22 19:16
9妹好厉害。。。
作者: zyg2218    时间: 2016-8-22 19:55
顶顶9哥 更健康
作者: liuhuijie    时间: 2016-8-22 22:12
提示: 作者被禁止或删除 内容自动屏蔽
作者: 9622315    时间: 2016-8-23 09:09
顶一顶,让前几天木有解决问题的人也看到。
作者: 小莫    时间: 2016-8-23 09:24
虽然完全看不懂,但是支持一下
作者: 丕子阿杰    时间: 2016-8-23 09:52
还是老九更专业,也乐于实践,虽然有很多人也许想到过,但却没有真正去实践去分析,并做到通俗易懂!
老九也可以老虑出书了
作者: 9622315    时间: 2016-8-23 09:59
小莫 发表于 2016-8-23 09:24
虽然完全看不懂,但是支持一下

静下心来,慢慢看,如果还看不懂,只能说明你的逻辑思维能力有待提升,或者说业务水平有待提升。
作者: 爱快小黑    时间: 2016-8-23 15:08
学习下,虽然看不懂
作者: 黑魂    时间: 2016-8-23 15:12
9叔还是厉害啊
作者: lingyaqiang    时间: 2016-8-23 17:19
实践出真理啊,佩服九叔
作者: 滚成一个蕃茄    时间: 2016-8-24 01:00
虽然用不上,但是九哥的干劲值得我学习和崇拜的。
作者: cwbaixyh    时间: 2016-8-24 02:06
碰到这种问题,我还是用回维盟吧,维盟有个策略路由,可以设置什么IP走什么线路
作者: 9622315    时间: 2016-8-24 08:30
本帖最后由 9622315 于 2016-8-24 08:34 编辑
cwbaixyh 发表于 2016-8-24 02:06
碰到这种问题,我还是用回维盟吧,维盟有个策略路由,可以设置什么IP走什么线路 ...

策略路由很多产品都有,但我关心的是专网线路上,跑路由模式,也就是专网线路上,要做到双向访问,在专网上你所在的子网能出路由,别的子网也应该能进路由,访问到你所在的子网内部的终端,维盟能做到吗,如果仅仅是策略NAT转发,那没有任何意义。


所以说你要看看维盟的策略路由的转发方式,到底是策略NAT转发,还是策略路由转发,如果仅仅是策略NAT转发,那么在专网线路上,几乎没有任何价值。

作者: deitx    时间: 2016-8-24 09:43
9622315 发表于 2016-8-24 08:30
策略路由很多产品都有,但我关心的是专网线路上,跑路由模式,也就是专网线路上,要做到双向访问,在专网 ...

大哥啊这个现在觉得真的没啥必要啊,毕竟ros支持这样路由的很好,你可以给外网装个爱快或者啥的流控控制下外网就算了,路由模式用ros控制,这样虽然跟超人一样内裤外穿,但是你不能要求爱快跟那些发展很多年,收费很多年的大佬比不是
作者: 9622315    时间: 2016-8-24 09:49
deitx 发表于 2016-8-24 09:43
大哥啊这个现在觉得真的没啥必要啊,毕竟ros支持这样路由的很好,你可以给外网装个爱快或者啥的流控控制 ...

你这不是还得上2台设备,我这1台就搞定了方案3与4目前看还是比较理想的,就是方案1与2有无法入港的问题,具体原因,正在查找。
作者: deitx    时间: 2016-8-24 09:51
9622315 发表于 2016-8-24 09:49
你这不是还得上2台设备,我这1台就搞定了方案3与4目前看还是比较理想的,就是方案1与2有无法入港的问题, ...

爱快的路由模式确实有问题的,更多问题你也不说我也懒得找不是
还有ros的稳定性确实要比爱快好承认不
作者: 9622315    时间: 2016-8-24 09:58
deitx 发表于 2016-8-24 09:51
爱快的路由模式确实有问题的,更多问题你也不说我也懒得找不是
还有ros的稳定性确实要比爱快好承认不 ...

承认,仅此一点,再给爱快5年,也做不到的。
作者: 闷闷    时间: 2016-8-24 10:01
这种帖子必须顶一个,关系这么铁,必须的
作者: deitx    时间: 2016-8-24 10:12
好想你路由器1是nat模式吧,nat模式你定义的wan口都是nat模式,从路由器2过来的数据包要是走wan口理论上应该是不通的,你需要单臂路由,就是从pc2过来的直接接到路由器1的lan2口上,然后写个静态路由,或者你路由器1设置成路由模式,然后做nat到外网的wan口上,当然这个在ros下是都能通的。
我以前用三层交换机做过两个网段互通,然后ros做nat上网,同时ros还是要跟三层交换机做静态路由,这样两个内网网关不同,但是两个网关因为有静态路由所以都能正确的将数据包路由到正确的网关处理,当然这个要求两个网段的机器都正确配置各自的网关,一个网关在三层交换机上,一个网关在ros的lan口上。就是说你所有的网关都必须知道正确的数据包地址送到正确的端口上,否则就是不通。
见过奇葩的内网都是二层,然后主交换机是个三层,然后这个三层当网关,要是内网有vlan三层的转发网关用三层交换机也就罢了,内网都是一个网段,还这样玩,真是秀姿势的节奏
作者: 9622315    时间: 2016-8-24 10:19
deitx 发表于 2016-8-24 10:12
好想你路由器1是nat模式吧,nat模式你定义的wan口都是nat模式,从路由器2过来的数据包要是走wan口理论上应 ...

看样子,你太不了解爱快了,方案1的基础转发模式的确是NAT,但我在WAN2上做了NAT过滤规则了,也就是在专网线路的WAN口上,实际上做的是路由转发,已经不是NAT了,并且通过抓包测试,在对端路由LAN子网可以看到源于本子网的数据包,足以证明是路由转发。
作者: deitx    时间: 2016-8-24 11:43
9622315 发表于 2016-8-24 10:19
看样子,你太不了解爱快了,方案1的基础转发模式的确是NAT,但我在WAN2上做了NAT过滤规则了,也就是在专网 ...

刚测试,爱快的nat模式居然能从上级路由器ping通爱快后边的内网啊。
看来直接就是路由+nat模式了

作者: 9622315    时间: 2016-8-24 13:32
deitx 发表于 2016-8-24 11:43
刚测试,爱快的nat模式居然能从上级路由器ping通爱快后边的内网啊。
看来直接就是路由+nat模式了
...

这问题,我在另一帖中已经说过了。

出港是NAT转发,入港是路由转发

作者: wukelin    时间: 2016-8-24 17:28

虽然完全看不懂,但是支持一下
作者: 9622315    时间: 2016-8-25 20:37
wukelin 发表于 2016-8-24 17:28
虽然完全看不懂,但是支持一下

难道我就非得把每一步配置的截屏发上来,你们才能看懂?
作者: ousuhuaihuai    时间: 2016-9-17 15:26
顶顶更健康
作者: gavinxu    时间: 2018-1-13 22:17
mark一下慢慢看




欢迎光临 iKuai爱快流控路由 (https://bbs.ikuai8.com/) Powered by Discuz! X3.3