Sys-firewall cannot resolve DNS

My sys-net has working internet. I can curl ‘https://www.google.com’ in sys-net, but in sys-firewall I cannot resolve the DNS. I’ve had this happen before and with a few restarts it works, does anyone know the solution to this problem? FYI no firewall restrictions, all firewalls set to allow all connections, and Debian disposable template for the sys-qubes.

Thanks!

This is a problem with the virtual DNS nameserver. I’m troubleshooting now.

Issue created. Temp fix is to use the new autorestart once the template has been updated.

Whenever I have had problems with DNS resolution upstream of sys-net I have found that just adding a public DNS server entry into NetworkManager in sys-net fixed the problem. Something to try at least.

Thanks, it’s not upstream of sys-net, but downstream.

The work around is just timing the manual restart properly until the virtual DNS kicks in. The bug issue is linked above.

Although this post is quite old, I’d like to share something that happened to me recently.
I started to experiment with CPU pinning and reducing the number of cores available for dom0. At some point, when I restarted my laptop, DNS resolution did not work from sys-firewall and all AppVMs, whereas it worked within sys-net. I checked via nft command the ruleset and it turned out that DNS propagation was not correctly configured throughout the VMs. It seems to me that depending on the available resources and the number of VMs being started on boot there can be cases where the start order changes/takes longer and the DNS setup fails. I was not able to restore the DNS resolution “manually” but only via restarting the complete machine.
From my point of view this issue exists but might not show on most installations because the resources for dom0 are “enough”.

1 Like

Thank you for pointing this out. I’ve been struggling with virtual DNS failure after restarting sys-net & sys-firewall qubes after updates. work around has been to manually add public DNS nameserver to /etc/resolv.conf in each qube, which is a hassle needless to say.

I did notice that when I did a complete reboot of the computer, the issue went away.

You might also try running the following command in net-sys to restore virtual DNS resolution. I’ve had success with this after authenticating to captive portals.

sudo systemctl restart qubes-network.service