EC2 Redhat - 多个 IP

EC2 Redhat - 多个 IP

我有一个带有两个子网(子网 A 和子网 B)的 VPC。
我的团队希望将多个 IP 分配给实例,每个 IP 来自一个子网。当我启动实例时,
该实例已经有一个私有 IP(来自主要实例),然后我通过控制台选项SubnetA附加了另一个私有 IP 。 我可以在控制台的选项下看到这两个 IP 。 我重新启动了实例,我希望在重新启动时看到两个 IP ,但我只能看到主 IP。SubnetBAttach network Interface
Managed IP Address
ifconfig

为了交叉检查私有 IP 是否确实连接到实例,我使用以下命令查询实例元数据:

  • curl -s http://169.254.169.254/latest/meta-data/network/interfaces/macs/02:14:46:91:bc:34/local-ipv4s
  • curl -s http://169.254.169.254/latest/meta-data/network/interfaces/macs/02:1d:2a:75:ax:04/local-ipv4s

我可以分别在上述两个命令的输出中看到两个 IP。

我检查了 NETWORKMANAGER 的状态systemctl status NetworkManager 它已停止

我使用以下命令启动了服务并在启动时自动启用 NetworkManager:
systemctl start NetworkManager
systemctl enable NetworkManager

然后我检查了输出ifconfig

这次它向我显示了两个 MAC 地址,唯一的区别是第二个我看不到 IP 地址。所以基本上接口已经启动了,所以底层设备也找到了。没有与此接口关联的 IP 地址。

所以我尝试了两个关联IP的选项:

手动分配 IP 地址:
sudo ifconfig ens6 w.x.y.z

或者联系 DHCP 服务器(如果存在),并让它为接口提供 IP 地址:
sudo dhclient -v ens6

它们都有效,我可以看到 下的两个 IP inet

最后一个问题是我每次重新启动实例时都必须执行此操作。所以我尝试使用以下命令添加永久路由:

sudo /sbin/route add default gw 1xx.xx.2xx.193
这里的 IP 是来自 的第二个 IP SubnetB,但我收到错误: SIOCADDRT: Network is unreachable

为了解决上述问题,我所做的是,我已经有了一个包含
/etc/sysconfig/network-scripts/ifcfg-ens5主要 IP 详细信息的文件,我又添加了一个
/etc/sysconfig/network-scripts/ifcfg-ens6包含辅助 IP 必要详细信息的文件

这是我提到的。

重新启动并且它正在工作。

但我无法 ping 通辅助 IP。我想我必须Gateway从第二个子网再添加一个,但对此不确定。

还需要做什么才能使用辅助 IP 路由流量、ping、ssh。

请参考我的VPC子网CIDRS:

子网 A:1.7.2.128/26 子网 B:1.7.2.192/26

输出ip route在此输入图像描述

更新:

今天,当我启动服务器时,我能够从我的测试实例之一 ping 到辅助 IP (200),但无法 ping 到主 IP (136)。此外,也是ssh使用主 IP 完成的。

答案1

ip route add default via 1XX.XX.XXX.X9X dev ens6 table 2000;
ip route add 1XX.7X.2XX.X9X dev ens6 table 2000;
ip rule add from 1XX.7X.2XX.1XX lookup 2000;

上面的命令帮助我解决了这个问题,并且我能够 ping 通我的辅助 IP。为了使此配置在重新启动后仍然存在,我已将相同的命令添加到rc.local

第一行中的IP是网关IP(子网范围中的第二个IP)命令中第二行和第三行中提到的IP是我的服务器的实际辅助IP。

相关内容