ASRock H97 Pro4にXeon E3-1265L v3を載せたHaswellにKVM環境を構築。
![]() |
virt-managerのNIC設定より |
他のPCからLAN経由でアクセスできるようにしたいので、仮想NICの設定を物理NICの"Bridge"モードにしたところ
In most configurations, macvtap does not work for host to guest network communication.という警告が表示された。
確かにLAN内の別マシンと仮想マシンとのpingは通るものの、ホストとゲストHaswellに閉じた世界では、どちらからもpingが疎通しない。そう言えば以前も悩んだような…と記憶を辿ってみたところ、物理NICをmacvlanでブリッジして、macvlanの方にIPを付与すればいい、という対処法を思い出した。
具体的には
$ ip addr del 192.168.199.2/24 dev enp0s25という手順でIPアドレスをenp0s25からmacvlan0に移設すればよい。
$ ip link add dev macvlan0 link enp0s25 type macvlan mode bridge
$ sudo ip addr add 192.168.199.2/24 dev macvlan0
$ sudo ip link set macvlan0 up
$ ip route add default via 192.168.199.254 dev macvlan0
で、再起動にも自動的に同様の設定になるよう/etc/network/interfacesを
auto enp0s25としようと思ったのだが、18.04 Bionic以降では/etc/netplan/*.yamlの方でやる必要がある。
iface enp0s25 inet manual
gateway 192.168.199.254
dns-nameservers 192.168.199.254
post-up ip link add dev macvlan0 link enp0s25 type macvlan mode bridge
post-up ip addr add 192.168.199.2/24 broadcast 192.168.199.255 dev macvlan0
post-up ip link set macvlan0 up
pre-down ip link set macvlan0 down
pre-down ip link del dev macvlan0 link enp0s25
で、netplanのお作法を調べてみたところ、何ということでしょう!Bug #1664847 “[Wishlist] Support macvlan/macvtap interfaces”によって"netplanはmacvlanに未対応"という事情が判明。
"Wishlist"というステータスだが、"そのうち"では困るので今できる対処方法を誰か書いてないかしら…、と思いつつ読み進めていったところComment #19にnetworkdのnetworkd-dispatcherを併用すればmacvlanを生成できるらしいとわかったので、早速先達に倣って
/etc/networkd-dispatcher/routable.d/10-macvlan-interfaces.sh
#! /bin/bashと、/etc/netplan/81-macvlan-config.yaml
ip link add macvlan0 link enp0s25 type macvlan mode bridge
# network: {config: disabled}の2つを用意して、
network:
version: 2
renderer: networkd
ethernets:
macvlan0:
addresses:
- 192.168.199.2/24
- 240f:ca:5fb8:1:192:168:199:2/64
gateway4: 192.168.199.254
gateway6: 240f:ca:5fb8:1:192:168:199:254
nameservers:
addresses: [240f:ca:5fb8:1:192:168:199:1, 192.168.199.1, 8.8.8.8]
dhcp4: no
dhcp6: no
mtu: 8996
$ sudo systemctl enable systemd-networkd.serviceとやる事でうまくいった。
$ sudo systemctl enable networkd-dispatcher.service
$ sudo netplan apply
【参照】
●Qiita https://qiita.com/
┣Ubuntu 20.04 LTSで固定IPアドレスの設定 2020年7月8日
┣【Ubuntu】 /etc/netplan/50-cloud-init.yamlを編集するの止めろ 2020年9月8日
┗cloud-initを使ったLinux OSの初期設定 2021年3月19日
●Launchpad Bugs https://bugs.launchpad.net/
┗Bug #1664847 “[Wishlist] Support macvlan/macvtap interfaces” 2017年2月15日
●Netplan https://netplan.io/
●Ubuntu Manpage https://manpages.ubuntu.com/
┗systemd.network
●Wikipedia http://ja.wikipedia.org/wiki/
┣LGA1150
┣仮想化
┗Kernel-based Virtual Machine