追記
netplan.ioのバージョン 0.40.1~18.04.3 で修正されたとのことです。
0.40.1~18.04.4 で実際にブリッジが有効化出来ることを確認しました。
バージョンは[ dpkg -l |grep netplan.io ]で確認できます。
KVMで仮想マシンを繋ぐ場合などにIPアドレスのないブリッジを作成することがある。
しかし、記事編集時点でUbuntu18.04とnetplanの組み合わせではそのようなブリッジが手動でないと有効化(UP)しないバグがある。
(参考) netplan does not bring up anonymous bridge on boot
参考元に回避方法についても言及しているコメントが有り、忘れないようにメモしておく。
事象の例
netplanを以下のように設定したとする。
/etc/netplan/01-netcfg.yaml
network:
version: 2
renderer: networkd
ethernets:
ens3:
dhcp4: yes
dhcp6: no
vlans:
vlan.10:
id: 10
link: ens3
dhcp4: no
dhcp6: no
vlan.20:
id: 20
link: ens3
dhcp4: no
dhcp6: no
bridges:
br.10:
interfaces: [vlan.10]
dhcp4: no
dhcp6: no
br.20:
interfaces: [vlan.20]
dhcp4: no
dhcp6: no
[netplan apply]や再起動をした場合に以下の様になり、br.10/br.20がDOWNのままとなる。
test@test:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 52:54:00:af:42:25 brd ff:ff:ff:ff:ff:ff
inet 192.168.40.103/24 brd 192.168.40.255 scope global dynamic ens3
valid_lft 259170sec preferred_lft 259170sec
3: br.20: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 16:80:32:d9:a0:9d brd ff:ff:ff:ff:ff:ff
4: br.10: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether d2:c0:53:11:b5:10 brd ff:ff:ff:ff:ff:ff
5: vlan.10@ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br.10 state UP group default qlen 1000
link/ether 52:54:00:af:42:25 brd ff:ff:ff:ff:ff:ff
6: vlan.20@ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br.20 state UP group default qlen 1000
link/ether 52:54:00:af:42:25 brd ff:ff:ff:ff:ff:ff
手動でbr.10を有効化する
sudo ip link set br.10 up
問題なくbr.10が有効化される
test@test:~$ ip a
---略---
3: br.20: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 16:80:32:d9:a0:9d brd ff:ff:ff:ff:ff:ff
4: br.10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether d2:c0:53:11:b5:10 brd ff:ff:ff:ff:ff:ff
---略---
回避方法
systemdに以下のようなnetworkの設定ファイルを作成
「Name」行をブリッジ名に合わせて作成、ワイルドカードも使えるらしいので今後も増える場合は命名規則を決めてそちらで指定したほうがいいかも。
cat <<'EOF' | sudo tee -a /etc/systemd/network/10-netplan-brUp.network
[Match]
Name=br.10
Name=br.20
[Network]
LinkLocalAddressing=no
ConfigureWithoutCarrier=true
EOF
この状態で設定を適用してみる
sudo netplan apply
ブリッジが有効化される
test@test:~$ ip a
---略---
3: br.20: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 16:80:32:d9:a0:9d brd ff:ff:ff:ff:ff:ff
4: br.10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether d2:c0:53:11:b5:10 brd ff:ff:ff:ff:ff:ff
---略---
コメント