33
sudo apt-get update 
sudo apt-get upgrade
  1. ifconfig

  2. sudo nano /etc/network/interfaces

    auto eth0
    iface eth0 inet static
    address 192.168.1.150
    netmask 255.255.255.0
    network 192.168.2.0
    broadcast 192.168.1.255
    gateway 192.168.2.1
    safe
    
  3. sudo nano /etc/resolv.conf

    Do not edit this file by hand --your changes will be overwritten
    # I add this 
    nameserver 8.8.8.8
    nameserver 8.8.4.4
    
  4. sudo apt-get remove dhcp-client

  5. sudo /etc/init.d/networking restart

    *Running /etc/init.d/networking restart is deprecated because it may 
    not enable again some interfaces
    *Reconfiguring network interfaces...
    ssh stop/waiting
    ssh start/running,process 1438
    

Where is the mistake? I'm not lazy. I Googled it for 3 days but without results. I tried everything.

After reboot the /etc/resolv.conf file is flashing to the original state.

2
  • Hmm any idea why you don't just do everything within the /etc/network/interfaces configuration folder like here: draalin.com/setting-up-a-static-ip-address-in-ubuntu Or does it make more sense to actually split things up like you did within the resolv.conf and interfaces configuration folder?
    – user153286
    Apr 28, 2013 at 14:33
  • I did it by directly going to the networks tab and editing it manually
    – poorva
    Jan 6, 2014 at 14:30

3 Answers 3

16

This has two independent questions:

resolv.conf entries getting reset after a reboot

The way /etc/resolv.conf working has been changed in Ubuntu 12.04. This is because of implementation of foundations-p-dns-resolving as described here https://blueprints.launchpad.net/ubuntu/+spec/foundations-p-dns-resolving to overcome some limitations of static resolv.conf.

Here you can get more details: http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/

You can override the new feature by removing the symbolic link /etc/resolv.conf and create a file named /etc/resolv.conf there. But before doing that refer the link I given above and see why it is strongly discouraged.

IP Address Vs Network and Gateway Conflict (Setting up a static IP) Also, As pgschk pointed out, your IP address is not matching gateway and network entries. But that is not causing the /etc/resolv.conf to go to original state, but the reason I mentioned above.

4
  • pardon me error when writing I have 2 servers ,detail as possible removing the symbolic link /etc/resolv.conf and create a file named /etc/resolv.conf there. I've never done this before.PLEASE
    – bemonolit
    Aug 27, 2012 at 15:09
  • I would suggest to review if any other work around listed in stgraber.org link other than removing symbolic link works for you first. But if you still like to remove the link, you can use, usual commands like 'mv /etc/resolv.conf /etc/resolv.conf.ori' or 'rm /etc/resolv.conf' and then create a new /etc/resolv.conf using your favourite text editor(like vi or nano).
    – Jamess
    Aug 29, 2012 at 9:28
  • I hope you intended /etc/resolv.conf, not /etc/resolv.config in the above question
    – Jamess
    Aug 29, 2012 at 9:30
  • I'm online,it's just a bug.thank you,and about remove the link>resolvconfig :Error /etc/resolv.conf isn't a symlink,not doing anything.
    – bemonolit
    Aug 29, 2012 at 17:05
6

Your gateway address is in a different subnet than your local IP address:

address 192.168.1.150 gateway 192.168.2.1

Also, the network address was specified in the .2 subnet also:

network 192.168.2.0

Do you use the 192.168.1/24 or the 192.168.2/24 subnet?

Edit: About your resolv.conf: This file is mainly updated by different packages (depending on your setup). Try specifying the nameservers in your /etc/network/interfaces file:

dns-nameservers 8.8.8.8 8.8.4.4

3
  • sudo nano /etc/network/interfaces # The primary network interface auto eth0 address 192.168.1.13 netmask 255.255.255.255 gateway 192.168.1.1 network 192.168.1.0 broadcast 192.168.1.225 dns-nameservers 8.8.8.8 8.8.4.4 dns-search mydomaine google.com
    – bemonolit
    Aug 27, 2012 at 14:39
  • same problem *Running /etc/init.d/networking resrtart is deprecated because it may not enable again some interfaces *Reconfiguring network interfaces...
    – bemonolit
    Aug 27, 2012 at 14:56
  • *Running /etc/init.d/networking resrtart is deprecated because it may not enable again some interfaces *Reconfiguring network interfaces...
    – bemonolit
    Aug 27, 2012 at 15:00
1

You can try this option :

  • Remove the /etc/resolv.conf and then creat a new resolv.conf.

  • sudo nano /etc/resolv.conf after that add the flag:

  • sudo chattr +i /etc/resolv.conf - with this +i flag, even root can't touch this file. But if you want to change the nameserver, change the flag to be:

  • sudo chattr -i /etc/resolv.conf then add your new nameserver.

Then try to reboot and see what happens :).

I hope this solves your problem.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .