Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

B.7. 仮想ネットワークの デフォルト は開始されていません

現象
通常、default という名前の仮想ネットワークの設定は、libvirt パッケージの一部としてインストールされ、libvirtd の起動時に自動起動を行うように設定されます。
デフォルト のネットワーク(またはその他のローカルで作成されたネットワーク)が起動できない場合、その接続にそのネットワークを使用するように設定された仮想マシンも起動に失敗し、以下のエラーメッセージが表示されます。
Virtual network default has not been started
調査
libvirt 仮想ネットワークの起動に失敗する最も一般的な理由の 1 つは、そのネットワーク上のクライアントからの DHCP および DNS 要求に対応するために必要な dnsmasq インスタンスが起動に失敗したことです。
原因を確認するには、root シェルから virsh net-start default を実行して、デフォルト の仮想ネットワークを起動します。
このアクションで仮想ネットワークが正常に起動しない場合は、/var/log/libvirt/libvirtd.log を開き、完全なエラーログメッセージを表示します。
以下のようなメッセージが表示されると、問題は、libvirt のブリッジですでにリッスンしているシステム全体の dnsmasq インスタンスであり、libvirt の独自の dnsmasq インスタンスがこれを実行できない可能性があります。エラーメッセージで注意すべき最も重要な部分は dnsmasq で、終了ステータスは 2 です。
Could not start virtual network default: internal error
Child process (/usr/sbin/dnsmasq --strict-order --bind-interfaces
--pid-file=/var/run/libvirt/network/default.pid --conf-file=
--except-interface lo --listen-address 192.168.122.1
--dhcp-range 192.168.122.2,192.168.122.254
--dhcp-leasefile=/var/lib/libvirt/dnsmasq/default.leases
--dhcp-lease-max=253 --dhcp-no-override) status unexpected: exit status 2
解決方法
マシンが dnsmasq を使用して物理ネットワークに DHCP を提供していない場合は、dnsmasq を完全に無効にします。
物理ネットワークに DHCP を提供するために dnsmasq を実行する必要がある場合は、/etc/dnsmasq.conf ファイルを編集します。最初の行と、その行に続く 2 行のいずれかを追加またはコメント解除します。3 行すべてを追加またはコメント解除しないでください。
bind-interfaces
interface=name_of_physical_interface
listen-address=chosen_IP_address
この変更を加えてファイルを保存したら、システム全体の dnsmasq サービスを再起動します。
次に、virsh net-start default コマンドでデフォルトのネットワークを起動します。
仮想マシンを起動します。