Linux Basics - Set A Static IP On Ubuntu

This tutorial explains how to set a static IP on an Ubuntu system from the command line.

 

Step 1: Configure the network interface

In this step you will manually configure your network interface by editing the following files using your preferred text editor(nano gedit vi). For the purpose of this example I am using the "nano" editor. You can edit the appropriate file by entering the following command into the terminal:

You can copy and paste directly from this line.

sudo nano /etc/network/interfaces

Enter your root password, once your prefered editor opens the file you can see...

auto lo eth0
iface lo inet loopback
iface eth0 inet dynamic

If you have more than one network card, please be sure to make changes to the correct network interface.

Statically configured network cards will have a section like:

auto lo eth0
iface lo inet loopback
iface eth0 inet static
        address xxx.xxx.xxx.xxx(enter your ip here)
        netmask xxx.xxx.xxx.xxx
        gateway xxx.xxx.xxx.xxx(enter gateway ip here,usually the address of the router)

If you use "nano" editor, type Ctrl+x to save changes.

Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ?

<---Type "y"

File Name to Write: interfaces

<---ENTER

Here is an example:

auto lo eth0
iface lo inet loopback
iface eth0 inet static
	address 192.168.1.101
	netmask 255.255.255.0
	gateway 192.168.1.1

 

Step 2: Configure the DNS servers

Changes in /etc/resolv.conf are required only on Systems with Ubuntu < 14.04, for newer Ubuntu versions the nameservers get configured in the /etc/network/interfaces file.

a) Ubuntu versions < 14.04

In this step you will manually configure your dns configuration file.

sudo nano /etc/resolv.conf

Once your editor opens the file you want to enter the following information...

nameserver xxx.xxx.xxx.xxx(enter your dns server ip)
nameserver xxx.xxx.xxx.xxx(enter your alt dns server ip)

If you use "nano" editor, type Ctrl+x to save changes.

Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ?

<---Type "y"

File Name to Write: resolv.conf

<---ENTER

Here is an example:

nameserver 8.8.8.8
nameserver 8.8.4.4

b) Ubuntu versions > 14.04

Open the /etc/network/interfaces file again and add a line dns-nameservers 8.8.8.8 right after the gateway line.

sudo nano /etc/network/interfaces

auto lo eth0
iface lo inet loopback
iface eth0 inet static
        address xxx.xxx.xxx.xxx(enter your ip here)
        netmask xxx.xxx.xxx.xxx
        gateway xxx.xxx.xxx.xxx(enter gateway ip here,usually the address of the router)
        dns-nameservers 8.8.8.8

The nameservers 8.8.8.8 and 8.8.4.4 are provided by Google for public use, so you can use them in your network configuration.

If you use "nano" editor, type Ctrl+x to save changes.

Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ?

<---Type "y"

File Name to Write: interfaces

<---ENTER

Step 3: Restart networking

Manually restart your network interface with the new settings.

For Ubuntu < 14.04 use the networking init script:

sudo /etc/init.d/networking restart

This should return a result that looks like the following:

*Reconfiguring network interfaces… [OK]

For Ubuntu versions > 14.04 use systemctl instead:

systemctl restart ifup@eth0

At this point you can check if the settings are correct:

ifconfig

If everything is correct you will get this result.

eth0      Link encap:Ethernet  direcciónHW 00:33:27:46:2v:34
          Direc. inet:192.168.1.101  Difus.:0.0.0.0  Másc:255.255.255.0
 ...

See you...

Share this page:

10 Comment(s)

Add comment

Comments

From: Pilgrim at: 2012-04-16 10:16:51

This command is deprecated on new debian and ubuntu:

/etc/init.d/networking restart

solution is a use command:

ifdown eth0 && ifup eth0

See #565187 netbase: Command deprecated and not explained

From: Anonymous at: 2013-12-10 04:52:06

Bless you.  I saw that error and was noticing I had to completely restart to get the command to take.  I was not liking that and once I scrolled down to see if someone saw the same, I found your post.  Thank you so much!

From: Katz at: 2012-04-16 15:18:18

What´s the ubuntu version, 11.10 or 12.04?

From: Freaki at: 2012-09-15 02:22:27

I dunno about you but I don't like using the resolv.conf, I prefer to set the the nameserver to read my routers, and typically I'll use google's 8.8.8.8 or 8.8.4.4

 Heres a small guide I found if anyone is interested.

 http://ubuntuserverhelp.com/setting-up-a-static-ip/

From: Ranting at: 2012-10-09 20:06:21

I used to use the command line method before Ubuntu 12.04 but now prefer the network manager method of setting a static IP.

This is only because after using this method then opening the connection manager to check what was showing (I know I could have checked on cli but dont like to be limited!) all the settings were reset to dhcp and my modifications were reset!

I didn't really fancy removing the network manager. Anybody else feel like they are being forced to use graphical methods more and more with newer Ubuntu releases?

From: Ranting at: 2013-11-26 22:46:29

These instructions are slightly dated now and a lot of other instructions I'm seeing fail to address Network Manager managing the connection.
 
This article about setting a static IP in Ubuntu the proper way was very useful for me.
 
It's useful to note that the instructions on many sites and askubuntu answers do not apply to wireless devices!
 

 

 

From: Anonymous at: 2013-04-28 14:34:35

Hmm any idea why you don't just do everything within the /etc/network/interfaces configuration folder like here: http://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?

From: brubakes at: 2013-10-19 14:27:37

Just what I needed.  Thanks!

From: Chad at: 2015-08-13 14:23:27

Hey this is not working on 14.04 Server Edition.

 

auto eth0iface eth0 inet static        address 173.244.42.82        netmask 255.255.255.240        gateway 173.244.42.81        # dns-* options are implemented by the resolvconf package, if installed        dns-nameservers 8.8.8.8

 

 

resolv.conf

 

nameserver 8.8.8.8nameserver 8.8.4.4

ifconfig

 

eth0      Link encap:Ethernet  HWaddr 00:25:90:3a:c2:36            inet addr:173.244.42.82  Bcast:173.244.42.95  Mask:255.255.255.240          inet6 addr: fe80::225:90ff:fe3a:c236/64 Scope:Link          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1          RX packets:406 errors:0 dropped:174 overruns:0 frame:0          TX packets:182 errors:0 dropped:0 overruns:0 carrier:0          collisions:0 txqueuelen:1000           RX bytes:40001 (40.0 KB)  TX bytes:28133 (28.1 KB)          Interrupt:16 Memory:fb5e0000-fb600000

From: till at: 2015-08-13 14:26:00

It is working fine fro me on Ubuntu 14.04 server. Your ifconfig output shows that the IP settings got applied correctly. If you have problems with your IP setup, then please post in the forum to get help.