11

I have been trying to set up a Windows 10 VM in my current Arch Linux (5.13.12-arch1-1) host system. I set up the VM using libvirt and KVM/QEMU using virt-manager as GUI.

The NIC card has been setup with "Virtual Network 'Default' NAT" and using "virtio" settings. However even after updating the drivers on Windows, it is not able to connect to the internet and shows "Unidentified Network- No Internet Access".

Output of ipconfig /all in Windows 10 output

Output of ip link in Arch

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000
    link/ether aa:aa:aa:aa:aa:aa brd ff:ff:ff:ff:ff:ff
    altname wlp0s20f3
10: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether bb:bb:bb:bb:bb:bb brd ff:ff:ff:ff:ff:ff
11: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master virbr0 state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether cc:cc:cc:cc:cc:cc brd ff:ff:ff:ff:ff:ff

Output of virsh net-dumpxml default in Arch

<network connections='1'>
  <name>default</name>
  <uuid>a145acdf-7624-40c5-af1f-b88bfc33bcc6</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='dd:dd:dd:dd:dd:dd'/>
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254'/>
      <host name='Windows10' ip='192.168.122.2'/>
    </dhcp>
  </ip>
</network>

Already done-

sudo pacman -S iptables-nft nftables dhclient
sudo systemctl enable/start libvirt.service
sudo systemctl enable/start dnsmasq.service
virsh net-autostart default
virsh net-start default

virsh net-dhcp-leases default shows that no ip has been allocated to the VM. As of now, I am clueless on how to fix this.

*MAC addresses have been changed

Sam
  • 223

4 Answers4

12

Same problem here, appears to be a driver problem. This fixed it for me:

  1. If you haven't done yet, download Windows VirtIO Driver ISO ('Stable virtio-win ISO' worked for me) and attach to guest CD drive: https://github.com/virtio-win/virtio-win-pkg-scripts/blob/master/README.md

  2. In Win 10 guest, open Device Manager and look for a network adapter with a yellow triangle. If it appears as 'Ethernet Controller', skip to step 3. Otherwise, if it's recognized as 'Red Hat VirtIO Ethernet Adapter' with a yellow triangle: right-click -> Remove Device and check 'delete drivers'. Refresh Device Manager. Now it should appear as just "Ethernet Controller", probably at the top.

  3. Still in Device Manager, right-click "Ethernet Controller" -> Update Update Driver -> Search my computer. When asked for a path, navigate to your CD drive -> NetKVM -> w10 -> whatever architecture you may have (in my case the full path was D:\NetKVM\w10\amd64).

Should now install the correct driver for virtio network adapter and give you internet access. For reference, see: https://access.redhat.com/articles/2470791

Thodor
  • 136
2

Aparently libvirt does not handle nftables well [1].

You need to use the legacy backend [2]. These are the necessary packages

iptables ebtables dnsmasq firewalld

I had to also enable firewalld to get the network working.

  1. https://blog.zentria.company/posts/its-2021-nftables-still-does-not-integrate/
  2. libvirt: "Failed to initialize a valid firewall backend"
atree
  • 21
2

I know its old and solved but I had the same issue and none of the above solutions solved this issue for me but I found the answer at Arch Linux Forums:

You need to set firewall_backend = "iptables" in /etc/libvirt/network.conf

As a precaution, restart the service:

$ sudo systemctl restart libvirtd
Daniel
  • 208
1

In virt-manager make sure virbr0 is active and autostart on boot is selected

enter image description here

For more info check this out VirtualNetworking

Madhubala
  • 2,008