问小白 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类似。虽然我图中只显示了IPv4地址,那是因为我目前并不使用IPv6(IPv6地址已被回收)。考虑到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服务器。例如,国内的域名可以通过114DNS进行解析,其他域名则通过谷歌DNS进行解析。例如,我这里将国内域名解析交给114DNS,其他域名则交给内网另一个DNS服务器,该服务器通过DOH解析海外域名,确保国内外的域名解析都正常。

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

六、访问

只要配置正确,设备就可以直接访问网络,无需更改网关设置,仍然是主路由的网关。软路由后台也可以看到对应的流量。

即使旁路由出现故障,也不会影响整个网络的稳定性。因为可以设置当检测到接口不在线时就不启用相关规则。检测接口是否在线可以通过ping检测实现,如果ping不通说明旁路由已经无法工作,此时相关规则将不会生效,从而避免对网络造成影响。

七、不支持多LAN口的情况

对于一些只能存在一个LAN口的软路由或硬路由,可以将第一步修改为建立一个WAN口,第二步也需要修改为一个LAN口和一个WAN口,以方便数据的流入和流出。但是,这样做会在软路由内部经历一次NAT转换,因此个人不太推荐这种配置方式。

八、特殊优化

建议将DNS解析单独配置策略路由,确保其直连而不是过分流。同时,建议禁止海外QUIC流量,以进一步优化网络性能。

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