Openwrt设置旁路由分流以及故障自动切换
夜之城三好学生
编辑于 2025年01月22日 00:20

研究了好久,终于搞定了旁路由分流以及故障自动切换

感谢酷友社的教程网页链接​

网页链接​

=============================

两个路由主要运行逻辑如下:

对于默认上网设备,不进行额外设置,分配为主路由。

对于特定上网设备,通过DHCP静态地址+DHCP标签,分配为浮动网关,浮动网关会优先指向旁路由,旁路由如果崩溃,浮动网关会自动指向主路由,保障这些特定设备能正常上网。

=========================

主路由与旁路由均为openwrt,主路由是WR30U,旁由是Orangepi的Docker运行openwrt,性能虽然弱鸡但能凑合用。固件都是openwrt.ai自动编译的

主路由IP为192.168.123.1

旁路由IP为192.168.123.3 DNS为192.168.123.1

浮动网关IP为192.168.123.5

==========================

下面开始设置:

0.主路由进行默认设置,无特殊改动,实现主路由的正常网络访问

1.旁路由设置如下

网络-接口-lan 常规设置里,协议改为静态地址,ip设一个你喜欢的,我这里设的是192.168.123.3,Ipv4网关设为主路由的IP;高级设置里,【使用自定义的DNS服务器】设为主路由IP。再去网络DHCP里面取消勾选“唯一授权”。到此,旁路由就可以正常使用了,验证一下旁路由网络访问是否正常。

1.1下面主路由和旁路由都需要设置

接着到软件包管理里面安装floatip和luci-app-floatip,floatip作用是:当旁路由故障或者离线时,自动把网关切换回主路由用的。如果需要分流或者去广告的话把相关包也更新一下。

之后到服务-浮动网关里面启用,配置好,【浮动网关IP】这里填一个没有被占用的IP(我这里用的是192.168.123.5)

下面找一台测试用的电脑,网关和DNS改为【浮动网关IP】填的地址就可以了。之后可以拔掉旁路由的电源模拟掉线的情况,网关会自动切换回主路由

2.设置openwrt的DHCP标签

接下来需要在主路由里,给需要走旁路由的设备手动分配IP与DHCP标签。视频可以参考网页链接​

2.1.在网络-接口-lan-DHCP服务器-高级设置-DHCP选项,添加两行,IP地址根据你的主路由IP进行改动

2.2.因为我的openwrt版本的网络-DHCP/DNS里,没法可视化添加DHCP标签(视频BV1WYiUYGEna的8:06位置),于是通过ssh手动添加。ssh连上路由器后,先备份DHCP的配置文件。

cp /etc/config/dhcp /etc/config/dhcp.bak

接着编辑并添加标签(tag)

vi /etc/config/dhcp

找到任意空的位置,添加如下内容,IP地址记得改为浮动网关地址

config tag 't_float'                      

    list dhcp_option '3,192.168.123.5'           

    list dhcp_option '6,192.168.123.5'           

    option force '1'

重启DHCP服务 /etc/init.d/dnsmasq restart

2.3 接着在主路由设置里,给需要走旁路由的上网设备分配静态IP和DHCP标签,比较简单,参考下图就行

之后这台设备的网络DHCP设置调整为自动获取,断网重连一下,该设备就会被分配为浮动网关了。

之后手动模拟一下旁路由掉线的情况,基本就大功告成