(VLAN100 untag) eno1 ─ br0 ─ vnet0/vnet1 (VM) <- 作成済み (VLAN1 tagged) eno1.1 ─ br1 ─ (LXD/docker の veth) <- これから作る
一般的には vlan1 が untag なことが多いのでちょっと混乱しますけど、意図的です、すみません
RockyLinux9.7で確認
ブリッジ作ってVMやコンテナを刺すつもり
# 1) 既存の設定があれば削除
# br1-port-vlan1は以降出てきませんが、気にしないで下さい
nmcli connection delete br1 vlan1 br1-port-vlan1 br1-slave-vlan1 2>/dev/null || true
# 2) ブリッジ br1 の作成 (Static IP)
# 作成と同時に設定を流し込むことで、DHCPの割り込みを防ぎます
nmcli connection add type bridge con-name br1 ifname br1 \
ipv4.method manual \
ipv4.addresses 192.168.10.158/24 \
ipv4.gateway 192.168.10.1 \
ipv4.dns 192.168.10.1 \
ipv4.never-default no \
ipv6.method ignore
# 3) vlan1 (eno1.1) を「br1のスレーブ」として作成
# ここで master br1 を指定し、ipv4.method disabled にすることで L2 透過に専念させます
nmcli connection add type vlan con-name br1-slave-vlan1 ifname eno1.1 \
dev eno1 id 1 master br1 \
ipv4.method disabled \
ipv6.method ignore
# 4) br0 側のデフォルトルート優先度を下げる(必要に応じて)
# br0が既に存在することを前提としています
nmcli connection modify br0 ipv4.never-default yes
# 5) 設定の反映
nmcli connection up br1-slave-vlan1
nmcli connection up br1
# 1) VLAN1 サブインターフェース作成
ip link add link eno1 name eno1.1 type vlan id 1
ip link set eno1.1 up
# 2) br1 作成
ip link add br1 type bridge
ip link set br1 up
# 3) eno1.1 を br1 に接続
ip link set eno1.1 master br1
# 4) IP を br1 に付与
ip addr add 192.168.10.158/24 dev br1
# 5) default route を VLAN1 側へ
ip route replace default via 192.168.10.1 dev br1