# NetworkManager dnsmasq Use NetworkManager's integrated dnsmasq. In `/etc/NetworkManager/NetworkManager.conf` enable dnsmasq by setting `dns=dnsmasq`, e.g. ``` [main] plugins=ifupdown,keyfile dns=dnsmasq ``` Disable the stub resolver of systemd-resolvd: ``` cat <<'EOF' > /etc/systemd/resolved.conf [Resolve] DNSStubListener=no EOF rm /etc/resolv.conf systemctl restart systemd-resolved.service systemctl restart NetworkManager cat /etc/resolv.conf # "Generated by NetworkManager" ``` Example config files: ``` # use local hosts file cat <<'EOF' > /etc/NetworkManager/dnsmasq.d/hosts.conf addn-hosts=/etc/hosts EOF # set localhost on port 1053 for the domain "foo" cat <<'EOF' > /etc/NetworkManager/dnsmasq.d/foo-server.conf server=/*.foo/127.0.0.1#1053 EOF systemctl reload NetworkManager ``` ## Debugging List processes listening on UDP ``` netstat -panu ``` ## Notes - systemd-resolvd symlinks `/etc/resolv.conf` to `/run/systemd/resolve/resolv.conf` - NetworkManager writes `/etc/resolv.conf` as soon as the symlink is removed