I have on the host machine two network interfaces. One is lan and the other is a wlan. For libvirt I have created a nat network which is bound to the wlan. From the guest I can access other machines in the network host wlan is connected to. Also DNS lookup works. The problem is that there’s no connection to the internet at all, e.g. pinging something gives “Destination network unreachable”. This only happens when both network connection on the host are active. Running qemu/libvirt on OpenSuse Tumbleweed.

The nat network in question:

<network>
  <name>natToWlan</name>
  <uuid>a44c939c-e6bf-44d0-8f86-376056d418a4</uuid>
  <forward dev="wlp19s0f4u1u1" mode="nat">
    <nat>
      <port start="1024" end="65535"/>
    </nat>
    <interface dev="wlp19s0f4u1u1"/>
  </forward>
  <bridge name="virbr1" stp="on" delay="0"/>
  <mac address="52:54:00:1f:64:95"/>
  <ip address="192.168.100.1" netmask="255.255.255.0">
    <dhcp>
      <range start="192.168.100.128" end="192.168.100.254"/>
    </dhcp>
  </ip>
</network>
  • FrostyPolicyOP
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    7 months ago

    This sounds reasonable. Curiously now that I tried again with both host lan & wlan active there was no problem. I have a hunch the routing depends on which interface networkmanger starts first.

    $route
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    default         192.168.102.1   0.0.0.0         UG    600    0        0 wlp19s0f4u1u1
    default         RT-AC86U-6D60   0.0.0.0         UG    20100  0        0 enp15s0
    192.168.2.0     0.0.0.0         255.255.255.0   U     100    0        0 enp15s0
    192.168.100.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr1
    192.168.102.0   0.0.0.0         255.255.255.0   U     600    0        0 wlp19s0f4u1u1
    192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0_