如何将第二个 IPv4 公共 IP 添加到亚马逊 Linux EC2 实例

如何将第二个 IPv4 公共 IP 添加到亚马逊 Linux EC2 实例

我有 EC2 实例(Linux 操作系统),并向其添加了第二个网络接口。我获得了公共弹性IP并分配给网络接口。然后我将网络接口分配给 EC2 实例。

当我在 EC2 实例上运行时

ifconfig

我获得 eth0 和 eth1 信息,并正确分配了专用 IP 地址。当我为 AWS 上的 EC2 实例选择“管理 IP 地址”时,我得到: 在此输入图像描述

两个网络接口位于同一子网和安全组中。我可以 ping 通 eth0 的公共 IP,但无法 ping 通 eth1 的公共 IP。

我缺少什么?

更新:我注意到第二个(IP 52.27.xx)的公共 DNS 与第一个 IP 34.212.xx 完全相同

答案1

除非您使用 Windows 或 AWS Linux,否则您将需要手动配置界面。

启动具有多个网络接口的 Amazon Linux 或 Windows Server 实例会自动在实例的操作系统上配置接口、私有 IPv4 地址和路由表。

本节中还有一个Best Practices关于同一子网上有两个(或更多)接口的潜在问题的警告。

如果您将同一子网中的两个或多个网络接口连接到一个实例,您可能会遇到非对称路由等网络问题。如果可能,请改用主网络接口上的辅助私有 IPv4 地址。有关详细信息,请参阅分配辅助私有 IPv4 地址。

警告以下步骤是下面列出的第二个参考文献 ymmv 的解析版本。

我创建辅助界面所遵循的步骤是:

  1. 使用以下内容创建 /etc/sysconfig/network-scripts/ifcfg-eth1 文件:

    DEVICE=eth1
    NAME=eth1
    HWADDR=<value of link/ether from "ip a" command>
    BOOTPROTO=dhcp
    ONBOOT=yes
    TYPE=Ethernet
    USERCTL=no
    NM_CONTROLLED=no
    
  2. 编辑 /etc/sysconfig/network 并添加:

    GATEWAYDEV=eth0
    
  3. 防止 cloud-init 覆盖您的更改编辑 /etc/cloud/cloud.cfg 并添加:

    network:
     ; config: disabled
    
  4. 重新启动网络

    systemctl restart network
    
  5. 创建辅助路由表

    ip route add default via <default route ip from "ip route" output> dev eth1 table <new table number>
    
  6. 将路由添加到新表中

    ip route add <secondary private ip> dev eth1 table <new table number from above>
    
  7. 在策略数据库中设置规则

    ip rule add from <secondary private ip> lookup 1000
    
  8. 创建静态路由文件 /etc/sysconfig/network-scripts/route-eth1 并添加:

    default via <default route IP> dev eth1 table 1000
    <private ip> dev eth1 table 1000
    
  9. 为rule-eth1创建规则文件/etc/sysconfig/network-scripts/rule-eth1:

    from <secondary private ip> lookup <new table number>
    

笔记

在步骤 4 中,重新启动网络时可能会出现错误。如果这样做,请移动/重命名该ifcfg-eth0文件,然后pkill dhclient.然后,我必须将 ifcfg-eth0 文件放回去,以便在重新启动时拾取它。

参考

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html

https://aws.amazon.com/premiumsupport/knowledge-center/ec2-centos-rhel-secondary-interface/

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/MultipleIP.html#ManageMultipleIP

相关内容