本文介绍如何使用 Azure 门户在虚拟机 NIC 上为专用 IP 地址的 CIDR 块添加辅助 IP 配置。 在一个 Azure 虚拟机 (VM) 上可以附加一个或多个网络接口 (NIC)。 所有 NIC 都有一个主要 IP 配置,并分配了零个或多个辅助 IP 配置。 主要 IP 配置分配了一个专用 IP 地址,并且可以选择性地分配公共 IP 地址。 每个辅助 IP 配置可包含以下项:
- 专用 IP 地址分配和(可选)公共 IP 地址分配,或
- 专用 IP 地址的 CIDR 块(IP 地址前缀)。
所有 IP 地址都可以从可用 IP 地址范围中静态或动态分配。 有关详细信息,请参阅 Azure 中的 IP 地址。 单个 NIC 上的所有 IP 配置都必须关联到同一子网。 如果需要不同子网上的多个 IP,可以使用 VM 上的多个 NIC。 有关详细信息,请参阅使用多个 NIC 创建 VM。
分配给 NIC 的 IP 配置数目存在限制。 有关详细信息,请参阅 Azure 限制一文。
重要
向 NIC 添加专用 IP 地址前缀的功能目前为预览版。 有关 beta 版本、预览版或尚未正式发布的版本的 Azure 功能所适用的法律条款,请参阅 Azure 预览版的补充使用条款。
先决条件
具有活动订阅的 Azure 帐户。 创建账户。
现有 Azure 虚拟机。 有关创建虚拟机的详细信息,请参阅创建 Windows VM 或创建 Linux VM。
- 本文中使用的示例命名为 myVM。 将此值替换为虚拟机名称。
若要在预览期间使用此功能,必须先注册。 若要进行注册,请填写入职表单。
重要
在继续之前,请填写入门表单,以注册此预览版。
将动态专用 IP 地址前缀添加到 VM
可以通过完成以下步骤将动态专用 IP 地址前缀添加到 Azure 网络接口。
登录 Azure 门户。
在门户顶部的搜索框中,输入 虚拟机。 在搜索结果中,选择“虚拟机”。
在“虚拟机”中,选择“myVM”或你的虚拟机的名称。
在设置中选择网络连接。
选择虚拟机的网络接口的名称。
在网络接口中,在“设置”中选择“IP 配置”。
当前显示的是现有 IP 配置。 创建虚拟机时会创建此配置。 若要向虚拟机添加专用 IP 地址和公共 IP 地址,请选择+ 添加。
在“添加 IP 配置”中,输入或选择以下信息。
设置 值 名称 输入ipconfig2。 专用 IP 地址设置 专用 IP 地址类型 IP 地址前缀 分配 选择 “动态” 选择确定。
注意
选择 IP 地址前缀选项时,无法配置公共 IP 地址关联。
更改 IP 地址配置后,必须重启 VM,更改才能在 VM 中生效。
将静态专用 IP 地址前缀添加到 VM
可以通过完成以下步骤将静态专用 IP 地址前缀添加到虚拟机。
登录 Azure 门户。
在门户顶部的搜索框中,输入 虚拟机。 在搜索结果中,选择“虚拟机”。
在 “虚拟机” 中,选择 “myVM” 或你的虚拟机名称。
在设置中选择网络设置。
选择虚拟机的网络接口的名称。
在网络接口中的“设置”中,选择“IP 配置”。
现有 IP 配置将显示。 创建虚拟机时会创建此配置。 若要向虚拟机添加专用 IP 地址和公共 IP 地址,请选择 + 添加。
在“添加 IP 配置”中,输入或选择以下信息。
设置 值 名称 输入 ipconfig2。 专用 IP 地址设置 专用 IP 地址类型 IP 地址前缀 分配 选择“静态”。 IP 地址 为虚拟机输入子网中一个大小为 /28 的未使用 CIDR。
对于示例中的 10.0.0.0/14 子网,IP 为 10.0.0.0/28。选择“确定”。
注意
在添加静态 IP 地址时,必须从 NIC 连接到的子网中指定一个未使用且有效的专用 IP 地址或 CIDR 块。
更改 IP 地址配置后,必须重启 VM,更改才能在 VM 中生效。
将 IP 地址添加到 VM 操作系统
连接并登录到你创建的具有多个专用 IP 地址的 VM。 必须手动添加添加到 VM 的所有专用 IP 地址,包括主 IP 地址。 完成适用于您的 VM 操作系统的以下步骤。
Windows Server
展开
打开命令提示符或 PowerShell。
在命令行上输入
ipconfig /all。 可以看到通过 DHCP 分配的主专用 IP 地址。在命令行中输入
ncpa.cpl以打开“网络连接”配置。打开分配了新 IP 地址的网络适配器的“属性”。
双击“Internet 协议版本 4 (TCP/IPv4)”。
选择“使用下面的 IP 地址:”。 输入以下值。
设置 值 IP 地址: 输入主专用 IP 地址。 子网掩码: 根据 IP 地址输入子网掩码。
例如,如果子网为 /24 子网,则子网掩码为 255.255.255.0。默认网关: 子网中的第一个 IP 地址。
如果子网为 10.0.0.0/24,则网关 IP 地址为 10.0.0.1。选择 “使用下面的 DNS 服务器地址:”。 输入以下值。
设置 值 首选 DNS 服务器: 输入您的主 DNS 服务器。
输入 IP 地址 168.63.129.16,以使用 Azure 提供的默认 DNS。选择“高级”按钮。
选择 添加。
输入添加到 Azure 网络接口的专用 IP 地址。 输入相应的子网掩码。 选择 添加。
重复上述步骤,添加添加到 Azure 网络接口的任何更多专用 IP 地址。
重要
切勿在虚拟机的操作系统中手动配置分配给 Azure 虚拟机的公共 IP 地址。 在操作系统中手动设置该 IP 地址时,请确保它与分配给 Azure 网络接口的专用 IP 地址是同一地址。 未能正确分配地址可能会导致与虚拟机的连接丢失。 有关详细信息,请参阅更改 IP 地址设置。
有关专用 IP 地址的详细信息,请参阅专用 IP 地址。
选择“确定”以关闭辅助 IP 地址设置窗口。
选择“确定”以关闭适配器设置。 您的 RDP 连接已重新建立。
打开命令提示符或 PowerShell。
在命令行上输入
ipconfig /all。验证配置中是否存在主要和辅助专用 IP 地址。
PS C:\Users\azureuser> ipconfig /all Windows IP Configuration Host Name . . . . . . . . . . . . : myVM Primary Dns Suffix . . . . . . . : Node Type . . . . . . . . . . . . : Hybrid IP Routing Enabled. . . . . . . . : No WINS Proxy Enabled. . . . . . . . : No Ethernet adapter Ethernet: Connection-specific DNS Suffix . : Description . . . . . . . . . . . : Microsoft Hyper-V Network Adapter Physical Address. . . . . . . . . : 00-0D-3A-E6-CE-A3 DHCP Enabled. . . . . . . . . . . : No Autoconfiguration Enabled . . . . : Yes Link-local IPv6 Address . . . . . : fe80::a8d1:11d5:3ab2:6a51%5(Preferred) IPv4 Address. . . . . . . . . . . : 10.1.0.4(Preferred) Subnet Mask . . . . . . . . . . . : 255.255.255.0 IPv4 Address. . . . . . . . . . . : 10.1.0.5(Preferred) Subnet Mask . . . . . . . . . . . : 255.255.255.0 IPv4 Address. . . . . . . . . . . : 10.1.0.6(Preferred) Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 10.1.0.1 DHCPv6 IAID . . . . . . . . . . . : 100666682 DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-2A-A8-26-B1-00-0D-3A-E6-CE-A3 DNS Servers . . . . . . . . . . . : 168.63.129.16 NetBIOS over Tcpip. . . . . . . . : Enabled确保 Windows 中使用的主专用 IP 地址与 Azure VM 网络接口的主 IP 地址相同。 有关详细信息,请参阅具有多个 IP 地址的 Azure Windows VM 无法访问 Internet。
验证 (Windows Server)
若要验证通过公共 IP 从辅助 IP 配置到 internet 的连接,请使用以下命令。 将 10.1.0.5 替换为添加到 Azure VM 网络接口的辅助专用 IP 地址。
ping -S 10.1.0.5 outlook.com
注意
对于辅助 IP 配置,如果配置存在关联的公共 IP 地址,则可以 ping Internet。 对于主 IP 配置,不需公共 IP 地址也可 ping 通互联网。
SUSE Linux Enterprise 和 openSUSE
展开
基于 SUSE 的分发版使用cloud-netconfig 包中的 cloud-netconfig-azure 插件来管理 IP 配置。 管理员不需要进行任何手动操作。 平台上设置的接口的第一个 IP 地址是通过 DHCP 分配的。 然后,cloud-netconfig 插件会持续(每分钟一次)探测 Azure 实例元数据服务 API,以获取分配给接口的更多 IP 地址,并自动将其添加/删除为辅助 IP 地址。
默认情况下,应在新映像上安装并启用此插件。 可在此处找到旧工作负载的配置步骤:https://www.suse.com/c/multi-nic-cloud-netconfig-ec2-azure/。
Ubuntu 14/16
展开
我们建议你查看 Linux 分发版的最新文档。
打开终端窗口。
请确保以根用户身份操作。 如果不是,请输入以下命令:
sudo -i更新网络接口(假设为“eth0”)的配置文件。
保留 dhcp 的现有条目。 主要 IP 地址仍保持之前的配置。
使用以下命令为另一个静态 IP 地址添加配置:
cd /etc/network/interfaces.d/ ls应会看到一个 .cfg 文件。
打开文件。 您应该会在该文件的末尾看到以下几行内容:
auto eth0 iface eth0 inet dhcp在文件中现有的行后添加以下行。 将
10.1.0.5替换为私有 IP 地址和子网掩码。iface eth0 inet static address 10.1.0.5 netmask 255.255.255.0若要添加其他专用 IP 地址,请编辑该文件,并在后续行中添加新的专用 IP 地址:
iface eth0 inet static address 10.1.0.5 netmask 255.255.255.0 iface eth0 inet static address 10.1.0.6 netmask 255.255.255.0使用以下命令保存该文件:
:wq使用以下命令重置网络接口:
ifdown eth0 && ifup eth0重要
如果使用远程连接,请在同一行中同时执行 ifdown 和 ifup。
使用以下命令验证 IP 地址是否已添加到网络接口:
ip addr list eth0应会在列表中看到添加的 IP 地址。 示例:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0d:3a:04:45:16 brd ff:ff:ff:ff:ff:ff inet 10.1.0.5/24 brd 10.1.0.255 scope global eth0 valid_lft forever preferred_lft forever inet 10.1.0.6/24 brd 10.1.0.255 scope global secondary eth0 valid_lft forever preferred_lft forever inet 10.1.0.4/24 brd 10.1.0.255 scope global secondary eth0 valid_lft forever preferred_lft forever inet6 fe80::20d:3aff:fe04:4516/64 scope link valid_lft forever preferred_lft forever
验证 (Ubuntu 14/16)
若要确保能够从辅助 IP 配置通过与之关联的公共 IP 连接到 Internet,请使用以下命令:
ping -I 10.1.0.5 outlook.com
注意
对于辅助 IP 配置,仅当该配置存在关联的公共 IP 地址的情况下,才能 ping Internet。 对于主 IP 配置,不需公共 IP 地址也可 ping 通 Internet。
对于 Linux VM,在尝试验证通过辅助 NIC 的出站连接时,可能需要添加适当的路由。 请参阅针对 Linux 发行版的相应文档。 实现此目标的以下方法:
echo 150 custom >> /etc/iproute2/rt_tables
ip rule add from 10.1.0.5 lookup custom
ip route add default via 10.1.0.1 dev eth2 table custom
请务必替换:
将具有与之关联的公共 IP 地址的专用 IP 地址替换为 10.1.0.5
10.1.0.1 到您的默认网关
将 eth2 添加到辅助 NIC 的名称后
Ubuntu 18.04+
展开
从 18.04 开始, netplan Ubuntu 中用于网络管理。 我们建议你查看 Linux 分发版的最新文档。
打开终端窗口。
请确保以根用户身份操作。 否则,请输入以下命令:
sudo -i为第二个接口创建一个文件,并在文本编辑器打开该文件:
vi /etc/netplan/60-static.yaml将以下行添加到文件中,并将
10.1.0.5/24替换为 IP 和子网掩码:network: version: 2 ethernets: eth0: addresses: - 10.1.0.5/24若要添加专用 IP 地址,请编辑该文件,并在后续行中添加新的专用 IP 地址:
network: version: 2 ethernets: eth0: addresses: - 10.1.0.5/24 - 10.1.0.6/24使用以下命令保存该文件:
:wq使用
netplan try测试这些更改,以确认语法是否正确:netplan try注意
netplan try将暂时应用更改,并在 120 秒后回退更改。 如果连接丢失,请等待 2 分钟,然后重新连接。 到那时,这些更改将已被回退。假设
netplan try没有问题,请应用配置更改:netplan apply使用以下命令验证 IP 地址是否已添加到网络接口:
ip addr list eth0应会在列表中看到添加的 IP 地址。 示例:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0d:3a:04:45:16 brd ff:ff:ff:ff:ff:ff inet 10.1.0.5/24 brd 10.1.0.255 scope global eth0 valid_lft forever preferred_lft forever inet 10.1.0.6/24 brd 10.1.0.255 scope global secondary eth0 valid_lft forever preferred_lft forever inet 10.1.0.4/24 brd 10.1.0.255 scope global secondary eth0 valid_lft forever preferred_lft forever inet6 fe80::20d:3aff:fe04:4516/64 scope link valid_lft forever preferred_lft forever
验证 (Ubuntu 18.04+)
若要确保能够从辅助 IP 配置通过与之关联的公共 IP 连接到 Internet,请使用以下命令:
ping -I 10.1.0.5 outlook.com
注意
对于辅助 IP 配置,仅当该配置存在关联的公共 IP 地址的情况下,才能 ping Internet。 对于主 IP 配置,不需公共 IP 地址也可 ping 到 Internet。
对于 Linux VM,在尝试验证通过辅助 NIC 的出站连接时,可能需要添加适当的路由。 请遵循您所用 Linux 发行版的相关文档进行操作。 以下方法是实现此目标的一种方法:
echo 150 custom >> /etc/iproute2/rt_tables
ip rule add from 10.1.0.5 lookup custom
ip route add default via 10.1.0.1 dev eth2 table custom
请确保替换以下内容:
使用与公共 IP 地址关联的专用 IP 地址 10.1.0.5
10.1.0.1 到您的默认网关
将 eth2 添加到辅助 NIC 的名称中
Red Hat Enterprise Linux 及其他
展开
注意
若要在 RHEL10.x 中配置额外的 IP 地址,只需重启 NetworkManager systemctl restart NetworkManger.service 或者重新启动系统。 无需执行其他步骤。
打开终端窗口。
请确保以根用户身份操作。 否则,请输入以下命令:
sudo -i输入密码,根据提示的说明操作。 成为 root 用户后,使用以下命令转到网络脚本文件夹:
cd /etc/sysconfig/network-scripts使用以下命令列出相关的 ifcfg 文件:
ls ifcfg-*应会看到 ifcfg-eth0 是这些文件中的一个。
为添加到系统的每个 IP 创建新的配置文件。
touch ifcfg-eth0:0使用以下命令打开 ifcfg-eth0:0 文件:
vi ifcfg-eth0:0使用以下命令将内容添加到该文件(这种情况下为 eth0:0)。 将
10.1.0.5替换为新的专用 IP 地址和子网掩码。DEVICE=eth0:0 BOOTPROTO=static ONBOOT=yes IPADDR=10.1.0.5 NETMASK=255.255.255.0使用以下命令保存该文件:
:wq为每个 IP 地址创建配置文件,以添加相应的值:
touch ifcfg-eth0:1vi ifcfg-eth0:1DEVICE=eth0:1 BOOTPROTO=static ONBOOT=yes IPADDR=10.1.0.6 NETMASK=255.255.255.0:wq运行以下命令重新启动网络服务,确保更改成功:
systemctl restart NetworkManager.service ifconfig应会在返回的列表中看到添加的 IP 地址。
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.1.0.4 netmask 255.255.255.0 broadcast 10.1.0.255 inet6 fe80::6245:bdff:fe7d:704a prefixlen 64 scopeid 0x20<link> ether 60:45:bd:7d:70:4a txqueuelen 1000 (Ethernet) RX packets 858 bytes 244215 (238.4 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1021 bytes 262077 (255.9 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eth0:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.1.0.5 netmask 255.255.255.0 broadcast 10.1.0.255 ether 60:45:bd:7d:70:4a txqueuelen 1000 (Ethernet) eth0:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.1.0.6 netmask 255.255.255.0 broadcast 10.1.0.255 ether 60:45:bd:7d:70:4a txqueuelen 1000 (Ethernet)
验证(Red Hat 和其他)
若要确保能够从辅助 IP 配置通过与之关联的公共 IP 连接到 Internet,请使用以下命令:
ping -I 10.0.0.5 outlook.com
注意
对于辅助 IP 配置,仅当该配置存在关联的公共 IP 地址的情况下,才能 ping Internet。 对于主 IP 配置,不需公共 IP 地址也可 ping 到 Internet。
对于 Linux VM,在尝试验证通过辅助 NIC 的出站连接时,可能需要添加适当的路由。 请参阅适用于 Linux 分发版的相应文档。 实现此目标的以下方法:
echo 150 custom >> /etc/iproute2/rt_tables
ip rule add from 10.1.0.5 lookup custom
ip route add default via 10.1.0.1 dev eth2 table custom
请务必替换:
10.0.0.5 具有与之关联的公共 IP 地址的专用 IP 地址
10.0.0.1 到您的默认网关
eth2 到您的辅助 NIC 的名称
Debian GNU/Linux
展开
我们建议你查看 Linux 分发版的最新文档。
打开终端窗口。
请确保以根用户身份操作。 否则,请输入以下命令:
sudo -i更新网络接口(假设为“eth0”)的配置文件。
保留 dhcp 的现有行项。 主要 IP 地址仍保持之前的配置。
使用以下命令为每个静态 IP 地址添加配置:
cd /etc/network/interfaces.d/ ls应会看到一个 .cfg 文件。
打开文件。 该文件的末尾应会显示以下命令行:
auto eth0 iface eth0 inet dhcp在文件中现有的行之后添加以下行。 将
10.1.0.5替换为你的私有 IP 地址和子网掩码。iface eth0 inet static address 10.1.0.5 netmask 255.255.255.0在配置文件中添加新的 IP 地址信息:
iface eth0 inet static address 10.1.0.5 netmask 255.255.255.0 iface eth0 inet static address 10.1.0.6 netmask 255.255.255.0使用以下命令保存该文件:
:wq重启网络服务以使更改生效。 对于 Debian 8 及更高版本,请使用:
systemctl restart networking对于早期版本的 Debian,可以使用以下命令:
service networking restart使用以下命令验证 IP 地址是否已添加到网络接口:
ip addr list eth0应会在列表中看到添加的 IP 地址。 示例:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0d:3a:04:45:16 brd ff:ff:ff:ff:ff:ff inet 10.1.0.5/24 brd 10.1.0.255 scope global eth0 valid_lft forever preferred_lft forever inet 10.1.0.6/24 brd 10.1.0.255 scope global secondary eth0 valid_lft forever preferred_lft forever inet 10.1.0.4/24 brd 10.1.0.255 scope global secondary eth0 valid_lft forever preferred_lft forever inet6 fe80::20d:3aff:fe04:4516/64 scope link valid_lft forever preferred_lft forever
验证 (Debian GNU/Linux)
若要确保能够从辅助 IP 配置通过与之关联的公共 IP 连接到 Internet,请使用以下命令:
ping -I 10.1.0.5 outlook.com
注意
对于辅助 IP 配置,仅当该配置存在关联的公共 IP 地址的情况下,才能 ping Internet。 对于主 IP 配置,不需公共 IP 地址也可 ping 到 Internet。
对于 Linux VM,在尝试验证通过辅助 NIC 的出站连接时,可能需要添加适当的路由。 请参阅适用于您的 Linux 发行版的相应文档。 实现此目标的以下方法:
echo 150 custom >> /etc/iproute2/rt_tables
ip rule add from 10.1.0.5 lookup custom
ip route add default via 10.1.0.1 dev eth2 table custom
请务必替换:
用具有与之关联的公共 IP 地址的专用 IP 地址替换 10.1.0.5
10.1.0.1 到您的默认网关
eth2 为辅助 NIC 的名称
后续步骤
- 详细了解 Azure 中的公共 IP 地址。
- 详细了解 Azure 中的专用 IP 地址。
- 了解如何为 Azure 网络接口配置 IP 地址。