仮想マシンに routed NIC を追加するには¶
インスタンスに routed NIC デバイス を追加する際、link-local ゲートウェイ IP をデフォルトルートとして使用するようにインスタンスを設定する必要があります。
コンテナでは、これは自動的に設定されます。
仮想マシンでは、ゲートウェイは手動あるいは cloud-init のような仕組みで設定する必要があります。
cloud-init でゲートウェイを設定するには、まずインスタンスを初期化します:
incus init images:debian/12 bookworm --vm
次に routed NIC デバイスを追加します:
incus config device add bookworm 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 bookworm 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 設定は必要な スタティックな link-local next-hop アドレス(169.254.0.1 と fe80::1)を追加します。
これらのルートはそれぞれ on-link を true に設定します。するとルートがインターフェースに直接接続されるよう指定されます。
また routed NIC デバイス内でのアドレスも追加します。
netplan の詳細は ドキュメント を参照してください。
注釈
この netplan 設定はネームサーバーを含んでいません。
インスタンス内で DNS を使うには、有効な DNS の IP アドレスを設定する必要があります。
ホストに incusbr0 ネットワークがあれば、ネームサーバーは代わりにその IP を指定できます。
これでネットワークを開始できます:
incus start bookworm
注釈
インスタンスを輝度する前に、 proxy ARP/NDP を有効にするように 親のネットワークを設定した ことを確認してください。