如何配置具有 2 个 NIC 和 2 个网关(第二个作为故障转移)的 ubuntu 服务器?

如何配置具有 2 个 NIC 和 2 个网关(第二个作为故障转移)的 ubuntu 服务器?

以下是我们的一台服务器的网络配置基本概述:

[Datacenter]
    [Internet Connection #1] >> [Firewall 1 (xx.xx.xx.1)] >> [Server (xx.xx.xx.10)]  
                             >> [Firewall 2 (xx.xx.xx.2)] >> [Server (xx.xx.xx.10)]  

    [Internet Connection #2] >> [Firewall 1 (xx.xx.xx.1)] >> [Server (xx.xx.xx.10)]  
                             >> [Firewall 2 (xx.xx.xx.2)] >> [Server (xx.xx.xx.10)]

服务器是一个虚拟机管理程序,而我遇到问题的 ubuntu 机器是一个虚拟机。
虚拟机有 2 个网络接口(每个网络一个),IP 地址等全部由防火墙上运行的 DHCP 配置。

我们现在的情况是这样的:

eth0
    Gets a DHCP lease and is assigned IP address: xx.xx.xx.143
eth1
    Gets a DHCP lease and is assigned IP address: xx.xx.xx.243

然而,我不确定接下来要去哪里。

问题是当我:

ping google.com

它挂起并超时,这可以通过断开 NIC 来解决。
我很确定这是路由问题。

我看过一些关于高级路由的教程,但“对我来说,这门课有点深!”
有人能给我提供一下如何配置它的详细步骤吗?

我还应该注意,ubuntu 服务器应该使用 xx.xx.xx.1 作为默认网关,默认情况下所有流量都应在 eth0 上进行,但如果防火墙出现故障,则应该使用 xx.xx.xx.2 和 eth1。

答案1

据我所知,您正在寻找问题的解决方案而不是学习经验,我个人建议您看看 NIC 绑定。

Ubuntu 上的 NIC 绑定

完全按照其名称执行。提供冗余并提高性能。

通过绑定实现链路聚合和高可用性

答案2

如果高级路由对您来说有点困难,那么我不建议采用这种方法。

问题是,默认情况下,每个 dhcp 租约都会声明默认路由,并更新 dns 服务器列表。然后是防火墙问题:如何检测防火墙何时关闭等

购买便宜且易于配置的路由器可能对您来说更有利。

答案3

在这种情况下,DHCP 会定期中断您设置的路由。实际上,您也在尝试解决两个难题:您需要主动/被动 NIC 和故障转移网关。

  1. 看一下Ubuntu wiki 上有关 NIC 绑定的信息并且您特别想要设置mode=1主动/被动选项。
  2. 您可以通过将该网关的度量设置为高于 o 来实现故障转移网关。度量值用于确定路由“成本”,并且它将始终首先使用可用的最低成本。

如果你觉得自己很专业,似乎你也可以调整故障转移所需的时间。看看http://mailman.ds9a.nl/pipermail/lartc/2002q1/002667.html举个例子。不过我自己从来没有尝试过。

相关内容