答案1
除非您使用 Windows 或 AWS Linux,否则您将需要手动配置界面。
启动具有多个网络接口的 Amazon Linux 或 Windows Server 实例会自动在实例的操作系统上配置接口、私有 IPv4 地址和路由表。
本节中还有一个Best Practices
关于同一子网上有两个(或更多)接口的潜在问题的警告。
如果您将同一子网中的两个或多个网络接口连接到一个实例,您可能会遇到非对称路由等网络问题。如果可能,请改用主网络接口上的辅助私有 IPv4 地址。有关详细信息,请参阅分配辅助私有 IPv4 地址。
警告以下步骤是下面列出的第二个参考文献 ymmv 的解析版本。
我创建辅助界面所遵循的步骤是:
使用以下内容创建 /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
编辑 /etc/sysconfig/network 并添加:
GATEWAYDEV=eth0
防止 cloud-init 覆盖您的更改编辑 /etc/cloud/cloud.cfg 并添加:
network: ; config: disabled
重新启动网络
systemctl restart network
创建辅助路由表
ip route add default via <default route ip from "ip route" output> dev eth1 table <new table number>
将路由添加到新表中
ip route add <secondary private ip> dev eth1 table <new table number from above>
在策略数据库中设置规则
ip rule add from <secondary private ip> lookup 1000
创建静态路由文件 /etc/sysconfig/network-scripts/route-eth1 并添加:
default via <default route IP> dev eth1 table 1000 <private ip> dev eth1 table 1000
为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