From c6b70a0cd43b95cf95b9b6e2408aeffccb4debb7 Mon Sep 17 00:00:00 2001 From: Tom Sobczynski Date: Wed, 26 Apr 2023 20:15:01 +0000 Subject: [PATCH] Update docs/modules/ROOT/pages/administration/dnsmasq.adoc I added steps to disable the systemd-resolved stub resolver and trigger Network Manager to produce a suitable /etc/resolv.conf to make use of dnsmasq. Without these additional steps, I found that name resolution was broken at the end of dnsmasq setup on Fedora Server 37. Note that there is a related issue with a patch in Network Manager to fix a problem generating the search domain in resolv.conf: https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/1281 --- .../ROOT/pages/administration/dnsmasq.adoc | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/docs/modules/ROOT/pages/administration/dnsmasq.adoc b/docs/modules/ROOT/pages/administration/dnsmasq.adoc index 9eb01a7..fa10175 100644 --- a/docs/modules/ROOT/pages/administration/dnsmasq.adoc +++ b/docs/modules/ROOT/pages/administration/dnsmasq.adoc @@ -184,16 +184,33 @@ Allow ports for DHCP and DNS (53) service on the public interface. […]# firewall-cmd --list-all ---- -6. Restart NetworkManager to start dnsmasq +6. Disabling the systemd-resolved stub resolver ++ +Inhibit the stub resolver and remove the symlink /etc/resolv.conf so that Network Manager will generate a new resolv.conf directing queries to dnsmasq. For more info, see the man page for "systemd-resolved" under the heading "/ETC/RESOLV.CONF". + [source,] ---- + […]# find /etc/resolv.conf -printf '%p -> %l\n' + /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf + […]# rm -f /etc/resolv.conf + […]# mkdir -p /etc/systemd/resolved.conf.d + […]# echo -e "[Resolve]\nDNSStubListener=no" > /etc/systemd/resolved.conf.d/no-stub-listener.conf +---- + +7. Restart systemd-resolved and restart NetworkManager to start dnsmasq ++ +The first time we restart systemd-resolved, it will no longer be running the stub resolver. The second time, we are reloading the configuration to prompt systemd-resolved to re-assess the /etc/resolv.conf generated by NetworkManager, but systemd-resolved does not support the "reload" unit command. ++ +[source,] +---- + […]# systemctl restart systemd-resolved […]# systemctl restart NetworkManager + […]# systemctl restart systemd-resolved ---- + NetworkManager adjusts now the nameserver entries in /etc/resolv. They are replaced by 127.0.0.1 and processed via dnsmasq. -7. Test the installation +8. Test the installation a. The dnsmasp internal self test + [source,]