一种轻便的旁路网关设置

现行模式

通常所说的旁路由或者旁路网关,就是把用户流量交由特定设备处理路由的设置。

常用的配置方式是想办法设定用户设备的网关设备,可以在单独设备上手动设置,也可以通过DHCP下发配置。

手动设置的的缺点:1、多设备改动麻烦,2、有的设备不支持配置。

通过主路由DHCP指定网关和DNS的方式缺点:1、有些wifi路由器配置问题。对非对称路由支持有限,导致所有流量都要经过旁路网关。2、ipv6网关只能指向DHCP服务器,导致旁路网关无法路由ipv6的流量。

将DPCH交由旁路网关设备管理的缺点:1、该方案其实是比较方便也比较完善的方式,但是该方案网络布局需要固化旁路网关,让旁路网关在整个网络中担任了太过重要的角色,有时候不是我们希望的。

尝试思路

通常我们需要用到旁路网关其实就是需要把特定域名或ip交由旁路网关处理。所以简单的代理分流任务能否更轻便设置完成,达到尽量不妨碍正常主路由网络流量,解决部分网络由旁路网关路由?

所以本文尝试的方式思路就是把判定特定域名或ip的工作直接嫁接在主路由上面,这样不用修改设备的默认网关(感觉这不就是主路由模式?也可以说是的)。而且有的主路由设备不能安装代理和分流软件,本文尝试一些最简单容易的方式来进行分流。

尝试方式

处理ip:静态路由
如果只是需要将部分ip或ip段交由旁路网关处理,则直接配置静态路由。大多数品牌路由器都有配置项。
例如:把100.98.0.0/16的远端网段交由装有tailscale的旁路网关192.168.1.2处理。

处理域名:指定dns解析
如果需要分流域名,则在openwrt主路由—网络—DHCP/DNS 中设置特定域名的dns解析。
例如:将openwrt.lan交由旁路网关处理DNS查询。

代理、分流设置

已知:

访问网络服务步骤:1、dns解析;2、将解析ip作为目标发往网关进行路由。

解决方式:

将尝试方式的两种方式组合控制达到分流。

  1. 旁路网关设置fakeip模式。
  2. 主路由创建 /etc/dnsmasq.servers,以server=/domain.com/192.168.1.2的格式定义特定域名的dns解析服务器。
# /etc/dnsmasq.servers

server=/000webhost.com/192.168.1.2#53
server=/030buy.com/192.168.1.2#53
server=/0rz.tw/192.168.1.2#53
server=/1000giri.net/192.168.1.2#53
  1. 设置fakeip的网段静态路由,网关指向旁路由网关。

另:旁路网关也可以不开启fakeip,但是开启Sniffer流量嗅探功能,就直接在主路由固定域名的解析地址,比如都固定到8.8.8.8address=/.myhome.com/8.8.8.8,将8.8.8.8/32静态路由到旁路网关,配置旁路网关对8.8.8.8进行分流,由于流量嗅探开启,会用域名替换8.8.8.8再路由到相应区域。

屏幕截图 2025-06-04 085835.png