定義されているネットワークを確認する
KVM, libvirt をインストールするとデフォルトでNAT インタフェースであるvirbr0 の設定ファイルが用意されます。
/etc/libvirt/qemu/networks/default.xml
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
virsh net-edit default
or other application using the libvirt API.
-->
<network>
<name>default</name>
<uuid>92b9f84f-5363-4fe2-9df7-1b9901b3a144</uuid>
<forward mode='nat'/>
<bridge name='virbr0' stp='on' delay='0'/>
<mac address='52:54:00:xx:xx:xx'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'/>
</dhcp>
</ip>
</network>
上記インタフェースは自動的に定義されて起動するように設定されていますが、無い場合は手動で定義して起動設定をしてあげる必要があります。
virbr0 を定義して有効化する
まずvirbr0 が有効化されているか確認します。
確認するにはvirsh net-list
コマンドを実行します。
virshnet-list
# virsh net-list --all
Name State Autostart Persistent
----------------------------------------------------------
上記のように何も表示されていない場合はvirbr0 が定義されていません。
定義されていない場合は以下のようにコマンドを実行することでネットワークを設定します。
virshnet-define
# virsh net-define /etc/libvirt/qemu/networks/default.xml
Network default defined from /etc/libvirt/qemu/networks/default.xml
# virsh net-list --all
Name State Autostart Persistent
----------------------------------------------------------
default inactive no yes
# virsh net-start default
Network default started
# virsh net-autostart default
Network default marked as autostarted
# virsh net-list --all
Name State Autostart Persistent
----------------------------------------------------------
default active yes yes
以上でvirbr0
の設定は完了です。
ip a コマンドを実行してインタフェースが表示されるようになったことが確認できると思います。
# ip a
.....
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
.....