You are not logged in.
My Arch install is nearly 15yo and I don't recall what I did, but my system does not get DNS ip from the router it connects to, it can only use hard-defined IPs in cat /etc/resolvconf.conf which is annoying because I can either hard-code my local PiHole IP in there AND not have the DNS work anywhere outside the house, or I can hard-code a public IP DNS which will never use my Pi Hole IP distributed by DHCP.
# cat /etc/resolv.conf
# Generated by resolvconf
search tail1a75c.ts.net xxxxxx.beta.tailscale.net
nameserver 208.67.222.222
nameserver 100.100.100.100
# cat /etc/resolvconf.conf
# Configuration for resolvconf(8)
# See resolvconf.conf(5) for details
resolv_conf=/etc/resolv.conf
# If you run a local name server, you should uncomment the below line and
# configure your subscribers configuration files below.
#name_servers=127.0.0.1
# Use the local name server
#name_servers=127.0.0.1
#name_servers="1.1.1.1 208.67.222.222 8.8.8.8"
name_servers=208.67.222.222
#name_servers=192.168.7.1
# Write out dnsmasq extended configuration and resolv files
dnsmasq_conf=/etc/dnsmasq-conf.conf
dnsmasq_resolv=/etc/dnsmasq-resolv.conf
How can I fix it?
Last edited by Lockheed (2024-04-15 06:44:01)
Offline
That depends on how you manage your network.
find /etc/systemd -type l -exec test -f {} \; -print | awk -F'/' '{ printf ("%-45s | %s\n", $(NF-0), $(NF-1)) }' | sort -f
Added after TO's post extension:
Why resolveconf (openresolv or systemd-resolveconf)?
Why dnsmasq?
Last edited by -thc (2024-04-14 13:32:11)
Offline
That depends on how you manage your network.
Network Manager in KDE.
find /etc/systemd -type l -exec test -f {} \; -print | awk -F'/' '{ printf ("%-45s | %s\n", $(NF-0), $(NF-1)) }' | sort -f
acpid.service | multi-user.target.wants
asd-resync.service | default.target.wants
autofs.service | multi-user.target.wants
avahi-daemon.service | multi-user.target.wants
avahi-daemon.socket | sockets.target.wants
bluetooth.service | bluetooth.target.wants
cpupower.service | multi-user.target.wants
cups.path | multi-user.target.wants
cups.socket | sockets.target.wants
dbus-org.bluez.service | system
dbus-org.freedesktop.Avahi.service | system
dbus-org.freedesktop.NetworkManager.service | system
dbus-org.freedesktop.nm-dispatcher.service | system
dbus-org.freedesktop.thermald.service | system
dbus-org.freedesktop.timesync1.service | system
dbus-uk.org.thekelleys.dnsmasq | system
dcron.service | multi-user.target.wants
default.target | system
display-manager.service | system
gcr-ssh-agent.socket | sockets.target.wants
haveged.service | multi-user.target.wants
intel-undervolt.service | hibernate.target.wants
intel-undervolt.service | hybrid-sleep.target.wants
intel-undervolt.service | multi-user.target.wants
intel-undervolt.service | suspend.target.wants
lm_sensors.service | multi-user.target.wants
NetworkManager.service | multi-user.target.wants
NetworkManager-wait-online.service | network-online.target.wants
nfs-client.target | multi-user.target.wants
nfs-client.target | remote-fs.target.wants
nmrestart.service | suspend.target.wants
p11-kit-server.socket | sockets.target.wants
pipewire-pulse.socket | sockets.target.wants
pipewire-session-manager.service | user
pipewire.socket | sockets.target.wants
remote-fs.target | multi-user.target.wants
resume_powercheck.service | suspend.target.wants_OLD
root-resume.service | suspend.target.wants_OLD
rpcbind.socket | sockets.target.wants
systemd-swap.service | local-fs.target.wants
systemd-timesyncd.service | sysinit.target.wants
tailscaled.service | multi-user.target.wants
thermald.service | multi-user.target.wants
tlp.service | multi-user.target.wants
upower.service | graphical.target.wants
wireplumber.service | pipewire.service.wants
xdg-user-dirs-update.service | default.target.wants
zfs-import-cache.service | zfs-mount.service.wants
zfs-import-cache.service | zfs.target.wants
zfs-mount.service | zfs-share.service.wants
zfs-mount.service | zfs.target.wants
zfs.target | multi-user.target.wants
Why resolveconf (openresolv or systemd-resolveconf)?
Why dnsmasq?
No idea. It was years ago and I don't need it anymore. I just want to get back to default basic auto-DNS setup.
Offline
Okie. Make sure that the connection's IPv4 method is not "Automatic (DHCP) addresses only".
Please post the outputs of
pacman -Q | grep resolv
cat /etc/NetworkManager/NetworkManager.conf # should only contain two comment lines
and - if there are drop-in files in "/etc/NetworkManager/conf.d" - their contents,
Offline
It's just "Automatic DHCP"
~> pacman -Q | grep resolv
openresolv 3.13.2-2
python-resolvelib 1.0.1-1
~> cat /etc/NetworkManager/NetworkManager.conf
# Configuration file for NetworkManager.
# See "man 5 NetworkManager.conf" for details.
Offline
NetworkManager does not automatically use openresolv - there must be drop-in files in "/etc/NetworkManager/conf.d".
Offline
Only one:
/etc/NetworkManager/conf.d/wifi_rand_mac.conf
> cat /etc/NetworkManager/conf.d/wifi_rand_mac.conf
[device]
wifi.scan-rand-mac-address=no
Offline
That's strange - since NetworkManager "doesn't know" about openresolv it should ignore it.
Try this: Remove openresolv (since you are certain you no longer need it).
sudo pacman -Rsn openresolv
and delete (or rename) "/etc/resolv.conf".
sudo rm /etc/resolv.conf
After a restart of NetworkManager (or reboot) "/etc/resolv.conf" should exist again - created by NetworkManager.
sudo systemctl restart NetworkManager.service
Offline
Ha! It worked.
~> cat /etc/resolv.conf
# Generated by NetworkManager
search lan
nameserver 192.168.7.4
Thank you!
Last edited by Lockheed (2024-04-15 06:43:39)
Offline