如何在虚拟机中添加路由 NIC 设备¶
在向实例添加 路由 NIC 设备 时,必须将实例配置为使用链接本地网关 IP 作为默认路由。对于容器,此配置会自动为您完成。对于虚拟机,必须手动配置网关,或者通过 cloud-init
等机制配置。
要使用 cloud-init
配置网关,首先初始化一个实例
incus init images:ubuntu/22.04 jammy --vm
然后添加路由 NIC 设备
incus config device add jammy eth0 nic nictype=routed parent=my-parent-network ipv4.address=192.0.2.2 ipv6.address=2001:db8::2
在此命令中,my-parent-network
是您的父网络,IPv4 和 IPv6 地址位于父网络的子网中。
接下来,我们将使用 cloud-init.network-config
配置键将一些 netplan
配置添加到实例
cat <<EOF | incus config set jammy cloud-init.network-config -
network:
version: 2
ethernets:
enp5s0:
routes:
- to: default
via: 169.254.0.1
on-link: true
- to: default
via: fe80::1
on-link: true
addresses:
- 192.0.2.2/32
- 2001:db8::2/128
EOF
此 netplan
配置添加了所需的 静态链接本地下一跳地址(169.254.0.1
和 fe80::1
)。对于这些路由中的每一个,我们都将 on-link
设置为 true
,它指定路由直接连接到接口。我们还添加了在路由 NIC 设备中配置的地址。有关 netplan
的更多信息,请参阅 其文档。
注意
此 netplan
配置不包含名称服务器。要在实例中启用 DNS,您必须设置有效的 DNS IP 地址。如果主机上存在 incusbr0
网络,则可以将名称服务器设置为该 IP。
然后,您可以使用以下命令启动您的实例
incus start jammy
注意
在启动实例之前,请确保您已 配置了父网络 以启用代理 ARP/NDP。