libvirtが作成したプライマリネットワークに接続されているDebian 12ホストにKVMシステムを設定しようとしています。しかし、ネットワークがアクティブで利用可能ですが192.168.122.1/24
...
# ip addr show virbr0
55: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 52:54:00:16:d4:1a 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
...割り当てられたIPアドレスがありません。VM
(つまり、出力は空virsh net-dhcp-leases
です)。
切り捨てられた出力virsh dumpxml vm0
は次のとおりです。
<domain type='kvm' id='5'>
...
<interface type='network'>
<mac address='52:54:00:ab:71:69'/>
<source network='default' portid='8ff73a58-1d26-460a-81e9-94f3143e9006' bridge='virbr0'/>
<target dev='vnet4'/>
<model type='virtio'/>
<alias name='net0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</interface>
...
</domain>
ネットワークダンプのXMLはdefault
次のとおりです。
<network connections='1'>
<name>default</name>
<uuid>e9f0c964-b736-4c6f-826f-0845a952f8ec</uuid>
<forward mode='nat'>
<nat>
<port start='1024' end='65535'/>
</nat>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
<mac address='52:54:00:16:d4:1a'/>
<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>
を使用して問題を追跡しようとしましたが、journalctl
成功しませんでした。
答え1
ネットワーク接続テスト
固定アドレスを割り当てるときに仮想マシンに接続があるかどうかをテストします。仮想マシンコンソールにログインし、インターフェイスにアドレスを割り当てます(名前があると仮定しますeth0
が、他の場合は適切なアドレスに置き換えます)。
ip addr add 192.168.122.100/24 dev eth0
ip link set eth0 up
使用しているアドレスがすでに他の仮想マシンで使用されていないことを確認してください。
これを行うには、明らかに仮想マシンコンソールにログインできる必要があります。これまでに実行できるパスワードを設定していない場合は、利用可能な解決策がたくさんありますguestfish
(virt-customize
。
これで、ブリッジにpingを送信できることを確認してください。
ping 192.168.122.1
大丈夫ですか?
ネットワークが正常であることを確認してください。
接続されているネットワークが動作していることを確認してください。default
の出力にネットワークが見えますかvirsh net-list
?
dnsmasqが実行されていることを確認してください。
libvirt ネットワークを起動すると、libvirtd はdnsmasq
ネットワークへのアドレス割り当てを管理するためにインスタンスを起動します。ネットワークの場合、default
出力には次のような内容が表示されますps -fe
。
dnsmasq 252591 1 0 Mar29 ? 00:00:00 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
dnsmaq
機能しない場合は、ネットワークをリセットしてみてください。
- 仮想マシンを終了します。
- 走る
virsh net-destroy default
- 走る
virsh net-start default
- 仮想マシンの起動
その後、状況が変わっていることを確認してください。