Running Ubuntu 12.04.1 LTS.
On the local ethernet is a DSL modem/router which acts as a DHCP server and DNS server. It recently worked just fine. I somewhat frequently update the Ubuntu packages, but I may have also switched some setting on the modem a while back. The modem IP is 192.168.1.1, on a 192.168.1.* network.
When I boot up the Ubuntu box, the ethernet interface appears to be properly configured:
But the resolvconf DNS information is bad:
$ ifconfig eth0
inet addr:192.168.1.47 Bcast:192.168.1.255 Mask:255.255.255.0
Using lo as a DNS server doesn't work at all. I ought to be using the modem 192.168.1.1 instead.
$ ls -l /etc/resolv.conf
lrwxrwxrwx 1 root root 29 Sep 7 22:17 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
(I've been able to work around this one boot at a time by manually running "cat bettersettings > sudo resolvconf -a NetworkManager".)
I tried adding "supersede domain-name-servers 192.168.1.1;" in /etc/dhcp/dhclient.conf , but after reboot there was no apparent effect and I'm still getting only "nameserver 127.0.0.1".
Somebody on irc.freenode.net #ubuntu suggested putting a nameserver line in /etc/resolvconf/resolv.conf.d/base (which was previously empty). So I tried that, but again no apparent effect.
Any other ideas? If nothing else, I could try to add a local upstart step that fiddles resolvconf right after eth0 comes up, but I'm hoping for something simpler that makes more sense.