중요 업데이트:

중요 업데이트:

virt-manager의 모든 기본 설정 및 네트워크 유형 NAT로 생성된 Ubuntu QEMU/KVM 게스트는 해당 네트워크를 활성화할 수 없습니다. 내 호스트는 Fedora 35입니다. 다음은 게스트의 NetworkManager 로그 스크린샷입니다.

게스트 VM 네트워크 관리자 로그

다음은 장치 설정에 있는 virt-manager의 NIC 탭에 있는 XML 구성입니다.

<interface type="network">
  <mac address="redacted but present"/>
  <source network="default" portid="redacted but present" bridge="virbr0"/>
  <target dev="vnet2"/>
  <model type="virtio"/>
  <alias name="net0"/>
  <address type="pci" domain="0x0000" bus="0x01" slot="0x00" function="0x0"/>
</interface>

virt-manager의 가상 네트워크 XML은 다음과 같습니다.

<network connections="2">
  <name>default</name>
  <uuid>redacted but present</uuid>
  <forward mode="nat">
    <nat>
      <port start="1024" end="65535"/>
    </nat>
  </forward>
  <bridge name="virbr0" stp="on" delay="0"/>
  <mac address="redacted but present"/>
  <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>

virsh 네트워크 목록--모두

 Name      State    Autostart   Persistent
--------------------------------------------
 default   active   yes         yes

brctl표시

bridge name bridge id       STP enabled interfaces
virbr0      redacted    yes     

ip -br 링크 표시

lo               UNKNOWN        00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP>
enp34s0          UP             redacted <BROADCAST,MULTICAST,UP,LOWER_UP>
virbr0           DOWN           redacted <NO-CARRIER,BROADCAST,MULTICAST,UP>
wg-mullvad       UNKNOWN        <POINTOPOINT,UP,LOWER_UP>

nmcli 연결 표시 --active

NAME                UUID                                  TYPE       DEVICE
Wired connection 1  redacted  ethernet   enp34s0
virbr0              redacted  bridge     virbr0
wg-mullvad          redacted  wireguard  wg-mullvad

systemctl 상태 libvirtd

○ libvirtd.service - Virtualization daemon
     Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; disabled; vendor preset: disabled)
     Active: inactive (dead) since Mon 2022-04-04 05:13:01; 1min 40s ago
TriggeredBy: ○ libvirtd-tls.socket
             ● libvirtd-admin.socket
             ○ libvirtd-tcp.socket
             ● libvirtd.socket
             ● libvirtd-ro.socket
       Docs: man:libvirtd(8)
             https://libvirt.org
    Process: 36276 ExecStart=/usr/sbin/libvirtd $LIBVIRTD_ARGS (code=exited, status=0/SUCCESS)
   Main PID: 36276 (code=exited, status=0/SUCCESS)
        CPU: 439ms

Apr 04 05:12:49 host systemd[1]: Starting Virtualization daemon...
Apr 04 05:12:49 host systemd[1]: Started Virtualization daemon.
Apr 04 05:13:01 host systemd[1]: Stopping Virtualization daemon...
Apr 04 05:13:01 host systemd[1]: libvirtd.service: Deactivated successfully.
Apr 04 05:13:01 host systemd[1]: Stopped Virtualization daemon.
[user@host ~]$ sudo systemctl status libvirtd
○ libvirtd.service - Virtualization daemon
     Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; disabled; vendor preset: disabled)
     Active: inactive (dead) since Mon 2022-04-04 05:13:01; 2min 1s ago
TriggeredBy: ○ libvirtd-tls.socket
             ● libvirtd-admin.socket
             ○ libvirtd-tcp.socket
             ● libvirtd.socket
             ● libvirtd-ro.socket
       Docs: man:libvirtd(8)
             https://libvirt.org
    Process: 36276 ExecStart=/usr/sbin/libvirtd $LIBVIRTD_ARGS (code=exited, status=0/SUCCESS)
   Main PID: 36276 (code=exited, status=0/SUCCESS)
        CPU: 439ms

Apr 04 05:12:49 host systemd[1]: Starting Virtualization daemon...
Apr 04 05:12:49 host systemd[1]: Started Virtualization daemon.
Apr 04 05:13:01 host systemd[1]: Stopping Virtualization daemon...
Apr 04 05:13:01 host systemd[1]: libvirtd.service: Deactivated successfully.
Apr 04 05:13:01 host systemd[1]: Stopped Virtualization daemon

systemctl --실패

  UNIT                  LOAD   ACTIVE SUB    DESCRIPTION
● nvidia-powerd.service loaded failed failed nvidia-powerd service

지금까지 시도한 것:

  • 다음 패키지가 설치되어 있는지 확인했습니다. qemu dhclient netcat virt-viewer libvirt dnsmasq dmidecode ebtables virt-install virt-managerbridge-utils
  • virsh에서 네트워크 "default"가 시작되었는지 확인하십시오.
  • 방화벽이 설치되어 실행 중인지 확인하세요.
  • Firewall-cmd get-active-zones를 사용하여 virbr0이 libvirt 영역에 있는지 확인하세요.

중요 업데이트:

추가 문제 해결을 통해 제가 사용하고 있던 VPN이 문제를 일으키는 것으로 나타났습니다. VPN이 비활성화된 상태에서 가상 머신을 시작하면 네트워크와 인터넷에 연결할 수 있습니다. 내 VPN 애플리케이션은 Mulvad라고 하며 Wireguard 프로토콜을 사용합니다. 가상 머신이 VPN을 통해 인터넷에 연결되도록 하려면 어떻게 해야 합니까?

답변1

문제는 VPN을 사용할 때 "로컬 네트워크 공유 허용" 설정이 활성화되지 않는다는 것입니다. 활성화하면 됩니다.

답변2

전달 활성화

sysctl net.ipv4.ip_forward=1

도움이 될 수도 있습니다.

관련 정보