#blog
#admins
#dns
It was DNS (Well, DHCP)
@distro
📆 February 19, 2024
🍿 1 min read
The Problem
Systemd creates a symlink from /run/systemd/resolve/stub-resolv.conf
to the “current” /etc/resolv.conf
. This is fine, and works as expected, but when retrieving a DHCP lease from a DHCP server, dhcpcd
by default will overwrite /etc/resolv.conf
, and by proxy, overwriting the symlinked location in /run
.
The Initial Resolution (dig +short
)
mojito@glados:~ sudo crontab -l
* */1 * * * systemctl restart systemd-resolved.service`
If you don’t know what this cron
does, it restarts the service that configures DNS on aperture
every hour. It’s like replacing your sink because you haven’t properly turned off your tap.
Not exactly a long term solution.
The Real Resolution (dig @ns1.rb.dcu.ie
)
We can tell dhcpcd
to not update resolv.conf
during it’s lease renew by adding a hook to the workflow.
On glados
, wheatley
and chell
:
$ cat /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
#!/bin/sh
make_resolv_conf(){
:
}
$ chmod +x /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
All’s well that ends well.
Cheers for joining this short blog!
~distro