我有一台 Ubuntu EC2 服务器,但不确定我的问题是否与 Ubuntu 或 AWS 有关。
基本上,我有一个运行 HAProxy 的 EC2 服务器,我将其用作负载均衡器,但我尝试通过使用具有自己的弹性 IP(我的 DB 群集的主要远程 IP)的弹性网络接口来设置第二个冗余服务器,这样,如果一个服务器发生故障,我可以在发生故障时将网络接口从一个实例移动到另一个实例。
现在一切都运行良好,问题在于我的 Ubuntu 实例似乎看不到或响应使用第二个网络接口的 IP 地址发出的任何请求。从主地址一切正常,但我无法从第二个地址获得任何类型的响应。
我的 AWS 配置中是否缺少某个步骤?或者我需要修改 Ubuntu 方面的某些内容才能使其适用于这两个接口?
另外,我刚刚测试了一下,我无法从网络上的另一台服务器 ping 两个私有 IP。我可以 ping 第一个私有 IP,但不能 ping 第二个。
答案1
好吧,问题肯定出在 Ubuntu 方面,但我已经弄清楚了。
您可以使用它在主网络接口上启用 IP 地址别名,从而允许您在单个网卡上使用两个 IP 地址(ens3
网络接口,通常称为eth0
,但由于某种原因,AWS 设备被称为此)
ip address add 172.31.0.0/24 dev ens3
然后,如果你想在重启时保留这些设置,你需要将以下内容添加到nano /etc/network/interfaces
auto ens3:1
iface ens3:1 inet static
address 172.31.0.0 #your secondary private IP
gateway 172.31.48.1 #your gateway, get with `ip route`, after "default via "
netmask 255.255.240.0 #get the "Mask" with `ipconfig` from your nic
然后重新启动,一切就绪了!