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 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
という手順でIPアドレスをenp0s25からmacvlan0に移設すればよい。
で、再起動にも自動的に同様の設定になるよう/etc/network/interfacesを
auto enp0s25
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
としようと思ったのだが、
18.04 Bionic以降では
/etc/netplan/*.yamlの方でやる必要がある。