resolv.conf doesn't get set on reboot when networking is configured for static ip
I'm experiencing what appears to be a name resolution issue in Ubuntu 12.04 Server edition when configuring my computer to use static ip.
In /etc/network/interfaces:
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1
Running $ sudo apt-get upgrade
, results in a 'Failed to fetch...':
. . . W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/precise-backports/universe/i18n/Translation-en_US Something wicked happened resolving 'us.archive.ubuntu.com:http' (-5 - No address associated with hostname)
[...]
When I change my /etc/network/interfaces to:
auto eth0
iface eth0 inet dhcp
Everything works fine.
Looking into /etc/resolv.conf provides some more hints.
In cases where I was getting the resolving issue, resolv.conf was empty; no nameservers were specified. Then I changed to DHCP from static and restarted networking; /etc/resolv.conf got changed to: 'nameserver 192.168.1.1'.
Switching back from DHCP to static and restarting doesn't remove the nameserver entry. But when I restarted the system with static set, resolv.conf was empty. When I restart the system with DHCP set, resolv.conf has nameserver 192.168.1.1. So, it appears that the issue is that resolve.conf is not getting written to correctly? Which package/code is responsible for writing to resolv.conf? Is there a particular package that I can take a look at open issues?
UPDATE: istream posted a good article discussing changes to resolve.conf in 12.04. http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/
As per the resolvconf man page (example provided in man page), add the following to your /etc/network/interfaces under your static configuration:
dns-nameservers [IP address(es) of your DNS]
dns-search [your dns-search strings (optional)]
Are you sure that you provided 192.168.1.1
as the value for the DNS when you set up the static IP?
I don't know how to do this from the command line, but using the System Settings -> Network
GUI should work too, no? All I'm thinking is that you want something like the screen capture below? Or am I not understanding what you are trying to do?
Note: Ignore the values in the left-hand window. Those are just my values from DHCP. I didn't bother to save the static config since I was just trying to illustrate what I was thinking.
By the way, I used 192.168.1.1
because that's what you were using. But you could also use the IPs for any valid DNS servers. For example, 8.8.8.8
and/or 208.67.222.222
should also work.