我在 Debian 上创建一个基本路由器时遇到了极大的困难,该路由器连接到两个 ISP,而 ISP 的 IP 地址是动态的。我不需要绑定,我只需要某种方法来检测 WAN1 何时关闭并自动故障转移到 WAN2(或反向)
我已经看到很多关于如何在具有静态 IP/网关时执行此操作的文档,但如果 IP/网关是通过 DHCP 设置的,则没有介绍。
我实际上没有任何代码可以展示,但一般来说它会以这样的内容开始,我假设:
/etc/网络/接口
#loopback,etc
#LAN
auto eth0
iface eth0 inet static
address 192.168.1.1
netmast 255.255.255.0
network 192.168.1.255
#WAN1 / ISP1
auto eth3
iface eth3 inet dhcp
up #add iptables/nat/routing?
down #??
#WAN2 / ISP2
auto eth4
iface eth4 inet dhcp
up #add iptables/nat/routing?
down #???
谢谢您的任何帮助或指点!
答案1
一个解决方案是编写一个执行以下操作的脚本:
- 获取 WAN 接口的网络详细信息。
- 通过将探测器绑定到适当的接口(Linux ping 命令上的 -I 标志)来测试它们与 ICMP 探测器的连接性
- 根据连接状态采取相应措施(如果主链路中断,则切换到辅助链路)
以上操作可以通过一个简单的 shell 脚本来完成。