Virsh는 가상 머신에 동적 IP 주소를 할당하지 않습니다.

Virsh는 가상 머신에 동적 IP 주소를 할당하지 않습니다.

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작동하지 않으면 네트워크를 재설정해 볼 수 있습니다 .

  1. 가상 머신을 종료합니다.
  2. 달리기virsh net-destroy default
  3. 달리기virsh net-start default
  4. 가상 머신 시작

그런 다음 상황이 바뀌는지 확인하십시오.

관련 정보