在我的 Linux 服务器中,我有三张网卡。eth0 卡连接到 ISP1,eth1 卡连接到 LAN,eth3 卡连接到 ISP2。
我想要做的是,当 eth0 连接失败时,自动使用 eth3 作为 Internet 连接。该怎么做?
另一个问题是,我的防火墙指的是 eth0,因为服务器正在为客户端执行 NAT,如果使用 eth3,这种情况就会发生。如何解决这个问题?
答案1
答案2
要在 Linux 中实现故障转移网络,您需要将两个 NIC 绑定在主动备份(或高可用性)模式下。请参阅Linux 绑定驱动程序文档如果需要的话,可以了解更多详细信息。
基本上,要与 2.6 内核形成绑定,你需要
- 安装包ifenslave-2.6:(
apt-get install ifenslave-2.6
) - 编辑 /etc/network/interfaces 以形成绑定(根据需要替换值):
iface bond0 inet 静态 地址 10.1.1.5 网络掩码 255.255.255.0 网络 10.1.1.0 网关 10.1.1.254 启动 /sbin/ifenslave bond0 eth0 启动 /sbin/ifenslave bond0 eth3
- 添加以下几行以
/etc/modprobe.d/arch/i386
选择正确的模式:
别名 bond0 绑定 选项绑定模式=active-backup miimon=100 downdelay=200 updelay=200
您还应确保 NIC 的内核模块已自动加载。
关于防火墙规则,因为我不知道您有什么样的规则,也许使用bond0
就eth0
足够了?