主旁路由网关自动切换|主备网关

上一篇写到在dnsmasq里面增加自动两个网关地址,自动进行主备切换并未生效, 所以做了一版本的优化

我这边的设备是一台刷了梅林固件的华硕路由(192.168.50.1)和一个跑在群晖VMM上面的openwrt旁路由(192.168.50.99)

原理

华硕路由(192.168.50.1)定时探活openwrt(192.168.50.99)是否在线.并作出后面的网关/DNS切换

shell源码

#!/bin/sh
bypass=192.168.50.99
default_ip=192.168.50.1

network()
{
	#这里比较取巧的是通过判断路由器的页面能否打开判断旁路由在不在线
    local timeout=2
	#call bypass server
	local ret_code=`curl -I -s -m ${timeout} ${bypass} -w %{http_code} | tail -n1`
	if [ "x$ret_code" = "x000" ]; then
		return 1
	else
		return 0
	fi
}

changeGateway()
{
	#confirm whether default now
	local resp=`grep $1 /jffs/configs/dnsmasq.d/openwrt.conf|wc -l`
	if [ $resp -gt 0 ];then
		/usr/bin/logger "[bypass detect] gateway don't need to change"
		return 0
	else
		#need change gateway
		/usr/bin/logger "[bypass detect] change gateway from $2 to $1"
		sed -i "s/$2/$1/g" /jffs/configs/dnsmasq.d/openwrt.conf
		service restart_dnsmasq
		/usr/bin/logger "[bypass detect] change gateway to $1 success"
		return 0
	fi
}

network
if [ $? -eq 0 ];then
	changeGateway $bypass $default_ip
else
	changeGateway $default_ip $bypass
fi

效果

能够达到在旁路由下线后,在探活间隔(1分钟)和DHCP租约时长(5分钟)内,客户端切换网关和DNS

 

后记

  • 参考别人的方案中还发现有通过VIP/Keepalive等方案能够更好的做切换.但我这边不准备实现了原因是:
    1. 主路由不希望增加太多复杂功能影响稳定性
    2. 固件中还没有这些软件
  • 基于目前的软件和硬件下,其实还能增加旁路由在有计划停止服务的时候通过ssh执行远程命令的方式去更新网关/DNS配置. 但由于客户端更新网关/DNS只依赖DHCP租约过期,减少旁路由探活的时间并不会大幅改善旁路由掉线时客户端的体验.
  • 虽然我这边是DHCP服务器静态分配IP,但较短的DHCP租约是否会带来其他的问题,还需要实测确认
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
OSPF(Open Shortest Path First)是一种内部网关协议(IGP),用于在IP网络中实现动态路由选择。在一个OSPF网络中,可以设置主备路由器,以便在路由器故障时,自动切换到备份路由器,以确保网络的稳定性和可靠性。 OSPF主备网络自动切换的实现依赖于OSPF协议的机制。当路由器失效时,备份路由器要能够迅速接管路由器的功能,并继续提供网络服务。具体实现包括以下几个步骤: 1. 监测路由器状态:备份路由器需要实时监测路由器的状态,通过周期性的心跳包来检测路由器是否正常工作。一旦路由器不可用,备份路由器就会发现并触发切换过程。 2. 发送通告:备份路由器在成为路由器之前,需要向OSPF网络中的其他设备发送通告,以告知它们路由器的故障和备份路由器的接管。这样其他设备就能够更新路由表,并将流量转发到备份路由器上。 3. 计算新的路由:备份路由器接管路由器后,需要重新计算网络的拓扑结构和路由信息。它会根据OSPF协议的路由计算算法,计算出最优的路由路径,并将信息传递给其他设备。 4. 保持网络可用:一旦备份路由器接管路由器的功能,它需要始终保持网络的可用性。它会不断检测网络中其他路由器的状态,并响应任何故障或链路变化,以保持网络的稳定运行。 综上所述,OSPF主备网络自动切换是通过监测路由器状态、发送通告、计算新的路由和保持网络可用性等步骤来实现的。这种自动切换可以快速恢复网络服务,并提供高可用性和可靠性的网络环境。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值