要向 EC2 实例添加额外的弹性 IP (EIP),必须先将辅助私有 IP 地址关联到该实例。
本教程是AWS控制面板分配好IP的后续工作,让Ubuntu识别这些新IP。这里介绍如何在 Ubuntu 18.04 上使用 netplan 在单个网络接口 (ENI) 上配置多个专用 IP。
注意:NetPlan 是 Ubuntu 17.10 中引入的新网络配置工具
在 EC2 Ubuntu 18.04 LTS 实例上添加第二个私有 IP
对于包含以下内容的主专用 IP 地址,应该已经有一个网络计划 DHCP 配置:/etc/netplan/50-cloud-init.yaml
# This file is generated from information provided by
# the datasource. Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
version: 2
ethernets:
eth0:
dhcp4: true
match:
macaddress: 12:36:43:cd:65:da
set-name: eth0
使用以下内容创建一个新配置:/etc/netplan/60-secondary-ip.yaml
network:
version: 2
renderer: networkd
ethernets:
eth0:
addresses:
- 172.31.51.23/20
- 172.31.51.24/20
其中,是 DHCP 获取的主私有 IP,是手动分配给 EC2 实例的辅助私有 IP(允许多个地址)。将 DHCP IP 放在辅助 IP 之前。172.31.51.23
172.31.51.24
然后应用新的网络计划配置,并自动回滚:
netplan try
如果一切正常,则按 Enter 将配置应用于正在运行的系统。
- 在此示例中,网络接口为 eth0,您可能需要根据系统网络接口命名进行更改。
- 绝对有效,不过只有一件事。奇怪的是,我的网络接口在 AWS 控制台中显示为 eth0,但在读取“/etc/netplan/50-cloud-init.yaml”时,它显示 ens5。因此,我使用 ens5 来配置“/etc/netplan/60-secondary-ip.yaml”,它就像一个魅力。