双路由方案
根据 DN11 的相关实践,总结一下双路由方案配置的一些经验。
提醒:请结合自己实际做方案实施。
改造前
寝室是单 OpenWrt
路由器,如果整活崩了会影响到所有人。也有被别人劫持路由的风险。
家里是单 iKuai
路由器,功能单一没法整活。
双路由方案
结合 iKuai
和 OpenWrt
的优势,实现双路由方案。
基本思路
- 主路由(
iKuai
):负责基本的网络访问能力,包括DHCP
,无线部署方案也围绕主路由展开。 - 业务路由(
OpenWrt
):负责特定的网络访问能力,比如DN11
,EasyConnect
,aTrust
等。
主路由的配置就不再重复,按照一般情况配置好上网即可。
业务路由只保留一个 LAN
口,连接到主路由的 LAN
口,并配置同网段的 IP
地址。
核心:分流
有哪些流量是需要经过业务路由的呢?
- DN11 网内流量:IP
- VPN 网络流量:IP / 域名
IP 分流
这个问题显然简单,直接配置 静态路由
即可。
考虑到正常情况下也不会有 RFC1918
和 RFC6589
的未路由网段需要出网,直接配置四条静态路由即可。
附加的,可以在 OpenWrt
上配置 unreachable
路由,防止这些网段的流量在两台路由器之间来回转圈。
对于 VPN 的 IP 流量,去客户端上把应用的 IP 段加进来就行。
域名分流
有些应用是直接写明了域名后的 IP ,那也按照 IP 分流的方式配置即可。
没写明或经常变化的情况下,可以使用 FakeDNS
插件,将域名解析到业务路由的 IP
上,转换为 IP 分流。
可以使用现成的
FakeDNS
+tproxy
等方案。域名少的话,也可以直接在主路由
上配置域名解析。
变体
下发路由
DHCP 配置 Option 121
,下发需要分流的路由表,可以省一跳。
只希望指定设备走业务路由
DHCP 分别配置不同的 DNS
和 Gateway
。
然后还可以用好业务路由的防火墙。
主路由需要私网段出网
调整静态路由细粒度。
对应场景:HDU 两网合一改造后
可用 dn-11/scripts 里的新 ROA 脚本来给 iKuai 加 DN11 路由。
不想用 FakeDNS
业务路由上使用 gost
等方案做转发。
更多
给业务路由加直连线路
核心:分表
对应场景:HDU 两网合一改造后,给 OpenWrt 加上没绑定宽带的直连线路。
- 编辑
/etc/iproute2/rt_tables
,往后添加一张表,序号要比main
大。 - OpenWrt 上接入单线后,配置这个 接口 的
覆盖 IPv4 路由表
为刚才添加的表。 - 路由 - IPv4 规则,添加规则,指定一个
fwmark
走这个表。
剩下的就是让应用程序使用指定 fwmark
即可。
类似的还有
netns
方案,会隔离的更彻底。
注意:不要忘记防火墙配置。