问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

双路由实现IP无感分流:告别传统旁路由模式

创作时间:
作者:
@小白创作中心

双路由实现IP无感分流:告别传统旁路由模式

引用
什么值得买
1.
https://post.smzdm.com/p/apmxz9k2/

在传统的主路由+旁路由的分流模式中,设备需要配置网关为旁路由,一来要给设备单独设置网关不方便;二来如果旁路由因为各种问题导致下线或者出现故障,会导致对应的设备无法上网,破坏了网络的稳定性。所以最好实现无感分流,这样哪怕旁路由物理损坏也不会导致任何的网络波动。

在前几期的文章中,我们讨论过如何通过双路由实现无感IP分流,这种方法不仅适用于软路由,硬路由也同样适用。然而,之前的介绍主要集中在思路层面,很多读者希望获得更具体的教程。基于读者反馈,本文将详细介绍如何使用TP-Link硬路由和单网口软路由(OpenWrt)实现无感分流。

一、配置硬路由网口

为了便于区分设备,我为软路由单独分配了一个网段和IP地址。首先,在主路由下单独使用一个物理GE1网口连接到软路由。这里需要将主路由GE1接口的网关地址设置为软路由的地址。

需要注意的是,GE1口不是作为WAN口,而是作为LAN2口存在,与LAN1口处于不同的网段。如果路由器不支持划分不同的LAN口,也可以将其作为WAN口存在。

配置好物理接口后,还需要添加相应的NAT规则,以确保GE1口能够访问互联网。具体配置步骤因路由器型号而异,有些路由器需要手动配置,有些则不需要。但无论如何,这个接口不需要配置DHCP等服务,只需配置GE1口信息即可。

二、配置软路由网口

我的软路由只有一个网口,因此需要将LAN口设置为静态地址。这里的IPv4地址就是软路由的IP地址,同时也是GE1口的网关。软路由的网关则应设置为主路由GE1口的地址。

同时,软路由的DHCP服务需要关闭,因为DHCP服务由主路由的LAN1口提供。此外,软路由的防火墙需要关闭SYN-flood防御,启用FullCone NAT,并开启LAN口的IP动态伪装。

为了防止出现致命问题,建议为软路由分配一个独立的网段。例如,我将常规LAN1网段设置为.31,而为软路由分配了.21网段。因此,还需要在主路由上配置相应的NAT规则,以确保设备可以从.31网段访问到.21网段的设备。如果网络接口数量有限或布线不便,也可以利用VLAN来隔离不同网段。

如果配置无误,此时软路由已经可以访问外网,且软路由的流量可以回到内网。

三、添加主路由IP池

我们需要在主路由器上配置IP池,通常需要配置三个IP池:一个是包含中国所有IP地址的池,一个是内网IP地址池,还有一个是软路由的IP地址池。

国内的IP地址池可以参考大佬整理的列表:ispip.clang.cn。我这里只添加了内网IP池和软路由的IP,因为路由器自带了国内IP池,不需要手动添加。

有读者可能会问,IPv6呢?IPv6的配置方式与IPv4类似,但由于目前IPv6并不普及,且大多数分流服务不支持IPv6,因此建议直接禁用IPv6解析。这部分设置可以在DNS配置中完成,往期文章中有详细说明。

四、配置主路由策略路由

这里我将展示硬路由的具体规则。策略路由通常有优先级,上面的规则优先级更高,因此这里采取了一些取巧的方法。

  1. 第一条规则是让从软路由发出的数据直接通过PPPoE传输;
  2. 第二条规则是让从内网发出前往国内的流量通过PPPoE传输;
  3. 第三条规则中,由于海外流量已经被第二条规则优先分流,剩下的规则是让从内网发出前往海外IP的数据通过GE1口传输到软路由。软路由处理完数据后会重新发送给主路由,此时会触发第一条规则,流量最终通过PPPoE传输。

还可以配置更精细的分流规则,例如TCP协议分流、UDP不分流,或者DNS服务器不走分流等。这些规则可以事半功倍。

五、DNS解析

由于是依靠主路由的IP规则进行分流,因此DNS解析的准确性至关重要。强烈建议在内网部署一个可靠的DNS服务,并使用DOH/DOT等加密DNS,同时禁止IPv6解析,确保解析的IP地址准确无误。

DNS解析应该分为不同域名走不同的DNS服务器,例如国内的域名通过国内114的DNS进行解析,其他域名通过谷歌的DNS进行解析。例如,我这里将国内域名解析交给114,其他域名交给内网另一个DNS服务器,该服务器通过DOH解析海外域名,确保国内外的域名解析都正常。

不过,DNS服务的部署不属于本文的内容,可以参考往期关于ADGHome的文章,ADGHome本质上就是一个DNS服务器,非常适合在内网部署。

六、访问

只要配置正确,就可以直接访问了,网关都不用改,还是主路由的网关。软路由后台也可以看到对应的流量。

即使旁路由出现故障,也不会影响整个网络的稳定性。因为可以设置当检测到接口不在线时就不启用相关规则。检测接口是否在线可以通过ping检测实现,如果ping不通说明旁路由出现故障,相关规则也就不会生效。这样分流规则不生效自然也不会有任何影响,网络依然可以正常运行。

七、不支持多LAN口的情况

有些软路由或硬路由只能存在一个LAN口,这种情况下需要将第一步修改为建立一个WAN口,第二步也需要修改成一个LAN口和一个WAN口,以便数据流入流出。但是这样在软路由内部会经历一次NAT,我个人不太建议这样。

八、特殊优化

建议将DNS单独配置策略路由,确保是直连而不是过分流,同时禁止海外QUIC流量。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号