一、背景
家里路由器环境是 ROS+openwrt,其中 ROS 做主路由,openwrt 做旁路由(默认网关)负责科学上网。本人经常折腾旁路由导致家里间隙性断网,所以经过一番探索实现了默认网关的故障转移
二、实现方案
分别在 ROS 和 openwrt 上配置 VRRP,通过配置会得到一个虚拟 IP,然后将默认网关改为该 IP 即可。
1 、ROS 配置
在 interfaces 菜单添加 vrrp,配置截图如下:
2 、openwrt 配置
使用 keepalived 实现 vrrp,配置文件如下:
keepalived.conf:
global_defs {
router_id VRRP_OPENWRT0218
}
vrrp_instance VI_1 {
state MASTER
interface br-lan
virtual_router_id 51 #必须与 ROS 一致
priority 120 #优先级,openwrt 做主节点,要配置比 ROS 大
advert_int 1
virtual_ipaddress {
192.168.6.8/32 #虚拟 IP 必须与 ROS 配置的保持一致
}
实际使用下来效果非常好,发生故障一两秒即可完成切换。主要分享方案,以上仅是粗略的配置过程。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/755647
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.