Howto: Ubuntu Linux convert DHCP network configuration to static IP configuration

by on September 13, 2006 · 79 comments· Last updated July 27, 2007

My friend wanted to know how to change or convert DHCP network configuration to static configuration. After initial installation, he wanted to change network settings. Further, his system is w/o GUI system aka X Windows. Here is quick way to accomplish the same:

Your main network configuration file is /etc/network/interfaces

Desired new sample settings:
=> Host IP address 192.168.1.100
=> Netmask: 255.255.255.0
=> Network ID: 192.168.1.0
=> Broadcast IP: 192.168.1.255
=> Gateway/Router IP: 192.168.1.254
=> DNS Server: 192.168.1.254

Open network configuration file
$ sudo vi /etc/network/interfacesOR$ sudo nano /etc/network/interfaces

Find and remove dhcp entry:
iface eth0 inet dhcp

Append new network settings:

iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.254

Save and close the file. Restart the network:
$ sudo /etc/init.d/networking restart

Task: Define new DNS servers

Open /etc/resolv.conf file
$ sudo vi /etc/resolv.conf

You need to remove old DNS server assigned by DHCP server:
search myisp.com
nameserver 192.168.1.254
nameserver 202.54.1.20
nameserver 202.54.1.30

Save and close the file.

Task: Test DNS server

$ host cyberciti.biz

Network command line cheat sheet

You can also use commands to change settings. Please note that these settings are temporary and not the permanent. Use above method to make network changes permanent or GUI tool as described below.

Task: Display network interface information

$ ifconfig

Task: Take down network interface eth0 / take a network interface down

$ sudo ifconfig eth0 downOR $ sudo ifdown eth0

Task: Bring a network interface eth0 up

$ sudo ifconfig eth0 upOR$ sudo ifup eth0

Task: Change IP address and netmask from command line

Activate network interface eth0 with a new IP (192.168.1.50) / netmask:
$ sudo ifconfig eth0 192.168.1.50 netmask 255.255.255.0 up

Task: Display the routing table

$ /sbin/route OR$ /sbin/route -n
Output:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
localnet        *               255.255.255.0   U     0      0        0 ra0
172.16.114.0    *               255.255.255.0   U     0      0        0 eth0
172.16.236.0    *               255.255.255.0   U     0      0        0 eth1
default         192.168.1.254   0.0.0.0         UG    0      0        0 ra0

Task: Add a new gateway

$ sudo route add default gw 172.16.236.0

Task: Display current active Internet connections (servers and established connection)

$ netstat -nat

Task: Display open ports

$ sudo netstat -tulpOR$ sudo netstat -tulpn

Task: Display network interfaces stats (RX/TX etc)

$ netstat -i

Task: Display output for active/established connections only

$ netstat -e
$ netstat -te
$ netstat -tue

Where,

  • -t : TCP connections
  • -u : UDP connections
  • -e : Established

Task: Test network connectivity

Send ICMP ECHO_REQUEST to network hosts, routers, servers etc with ping command. This verifies connectivity exists between local host and remote network system:
$ ping router
$ ping 192.168.1.254
$ ping cyberciti.biz

See simple Linux system monitoring with ping command and scripts for more information.

Task: Use GUI (Graphical Configuration) network Tool

If you are new, use GUI configuration tool, type the following command at terminal:
$ network-admin &

Above command is Ubuntu's GUI for configuring network connections tool.

Final tip - Learn how find out more information about commands

A man page is your best friend when you wanted to learn more about particular command or syntax. For example, read detailed information about ifconfig and netstat command:
$ man ifconfig
$ man netstat

Just get a short help with all command options by appending --help option to each command:
$ netstat --help

Find out what command is used for particular task by searching the short descriptions and manual page names for the keyword:
$ man -k 'delete directory'
$ apropos -s 1 remove

Display short descriptions of a command:
$ whatis rm
$ whatis netstat

Linux offers an excellent collection of utilities, which can be use to finding the files and executables, remember you cannot memorize all the commands and files ;)



You should follow me on twitter here or grab rss feed to keep track of new changes.

Featured Articles:

{ 75 comments… read them below or add one }

1 George December 17, 2006 at 12:17 pm

Thank you nixcraft!

You are not only teaching excellent networking specifics, but, most importantly, also making me understand how to do this on my own. Not too many guys out there are able to do this as you have done.

Reply

2 MyqNels May 16, 2012 at 10:24 pm

Well thanks for the lecture easy enough. i am a newbie to ubuntu but am catching up. thanks

Reply

3 Rafael July 30, 2007 at 5:44 am

Thank you, this made it work for me. I had the problem of needing to use static ip address, for various other lan requirements.

Although, one minor glitch creeped up .. after I had edited the /etc/network file. My gateway is set to 192.168.1.1, rather than … 1.254, and so that is what I had set in the network file. After editing this file I still had no internet connection, but I could ping the gateway. But I was able to connect after modifying the setting in the gui: System–>Admin–>Network–>eth0–>gateway address. It had a default setting of 192.168.1.254, changing it to my actual gateway fixed it.

Reply

4 Grady Lambert August 17, 2007 at 1:32 am

A very good tutorial. Thank you.
I have been struggling with networking for sometime. You have helped to clear up a lot of confusion.

Reply

5 Shelly September 10, 2007 at 8:31 am

Hi and thanks for this article.
Why do you change the 255 to 254 please?
Do I need to do that if setting a server box up within a network with other multiple OS’s?

Reply

6 reply December 15, 2010 at 8:17 am

With the netmask for that network the address 255 is the broadcast address= sends to all machines on that network. 254 addresses are available from 192.168.1. 1 254.

Reply

7 steppa October 12, 2007 at 5:31 pm

NetworkManager is fine for varying wlan configurations. This guide gives a sleek way to configure a static network. Afterwards you can

apt-get –purge remove network-manager knetworkmanager network-manager-gnome dhcdbd

to get rid of unnecessarily runnig daemons.

Reply

8 Anonymous December 8, 2007 at 4:07 am

auto eth0 should precede anything added to “interfaces” and be on its own line.

Reply

9 Grayheart January 30, 2008 at 7:43 pm

one small problem… if you edit /etc/resolv.conf directly, the next time you ifdown or ifup an interface or reboot for that matter your settings are lost. In Ubuntu the resolv.conf is generated each time you up/down an interface. So unless you removed the resolvconf package which is generally installed by default, you need to add proper dns- entries to the /etc/network/interfaces file to make changes permanent. eg:
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.254
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 192.168.1.254
dns-search myisp.com

Reply

10 ActionParsnip November 15, 2010 at 1:15 am

Not strictly. You can uninstall network-manager and it will need to be manually opulated and will not be generated at all. In a default install maybe, but there are situations which are very common where the file will not be touched

Reply

11 G7 February 1, 2008 at 7:39 am

About dns-nameservers: if you have >1 dns servers they must be in 1 line separated by spaces. But not in 2-3 lines (it will hangup network startup script at all) !!!

Reply

12 Raj February 1, 2008 at 1:54 pm

I think only dhclient updates resolv.conf, look like ubuntu has some additional scripting at /etc/rc.d/*. On a side note, you can write protect resolv.conf
sudo chattr +i /etc/resolv.conf
man chattr

Reply

13 Jeremy September 7, 2010 at 1:24 am

Thank you thank you, never seen chattr somehow. Dangerous, but awesome, especially with setuid(0) programs.

Reply

14 pankaj March 8, 2008 at 8:39 am

How can i encrypted the file from VI. And how can i connect the internet in my home and I want also connect the localarea network. And what is joe editor explane.

Reply

15 pankaj March 8, 2008 at 8:42 am

How can i configer the server connection on my one more system If i would like the 1st system is an Administrator…..

Reply

16 polarizer April 1, 2008 at 12:45 pm

This was very useful to me cause i wasn’t able to find a way to accomplish that via dpkg-reconfigure or debconf.

thx for sharing

the polarizer

Reply

17 danny0085 April 8, 2008 at 7:29 pm

a litle tutorial to how to configure DHCP

dhcp

Reply

18 Tauxz June 4, 2008 at 6:28 am

how to i restart network

i used:
sudo /etc/init.d/networking restart

/etc/init.d/networking restart

bu still nothing happening,
pls can you help me.

Reply

19 Tinapa Faletiute June 16, 2008 at 8:18 am

How to save after changing something in the terminal window for ubuntu 7.04?

Reply

20 Rim June 25, 2008 at 4:03 pm

This was incredibly helpful. I am a very experienced Windows admin but I still feel like a newbie when it comes to Linux. Not only did I complete the task I needed with your help, you also made me realize the difference between editing config files and just using ifconfig.

Bookmarking your site.

Reply

21 Ray Malone July 4, 2008 at 6:35 pm

I have just started with Linux with ubuntu server 8.94. Never used Linux before.
Just wanted to say thank you. Wanted to use Fixed Ip for the server and found your site and great instructions easily.

Just wanted to say thanks.

Reply

22 dido July 5, 2008 at 9:11 am

Excellent. Thanks.

Reply

23 Randy July 18, 2008 at 2:06 am

Oh wow. Thank you so much for this tip!

Reply

24 ernest July 28, 2008 at 3:10 am

thanks for the tip. i think it’s working with my server :).

when you have time, can you explain what these do (in resolv.conf):
search myisp.com
nameserver 192.168.1.254

thanks!!

Reply

25 Jason July 30, 2008 at 11:43 am

Thank you.

Linux newbie here but slowly & surely getting there – your guide did exactly what I needed.

Thanks.

Only odd thing for me was the instance of Ubuntu (JeOS 8.04.1 on VMWare ESX Server) only saw eth1 and not eth0 – however the process still worked.

Cheers.

Reply

26 David August 11, 2008 at 1:27 pm

This won’t work, Wlan0 does not show up in this file. Where can I edit for Wlan0?

Reply

27 George August 25, 2008 at 9:17 am

This has helped me set-up the ethernet interface for my new ubuntu installation

Reply

28 Beyboo November 9, 2008 at 6:46 am

This is really excellent stuff. No wise guy talk, plain guru speak. I have saved this page as a PDF and am gonna use it for my future references. I am a Ubuntu Gnome user and am trying out Kubuntu Ibex (and KDE) for the first time. Its really a pain to set it up :(

Reply

29 dave beall November 18, 2008 at 6:35 am

thank you for your time and this post..you helped me get this project going…
it’s people like you that are willing to help us newbies that makes the internet an invaluable tool.

Reply

30 David November 18, 2008 at 4:32 pm

and still my question goes unanswered, wlan0 does not exist in this file. Apparently wanting to help newbies is not the goal here =\

Reply

31 Richard December 9, 2008 at 3:30 pm

Excellent Info. Thanks for all your help.

Reply

32 Jackal January 3, 2009 at 1:00 pm

I am total new to ubuntu server 8.04… we are runnining a wireless network cross country and sharing one router to exit to the internet…. Our lan use an ip range of 192.168.1.0 to 192.168.255 …. Now our present intranet works fine in windows but we are considdering changing to ubuntu …. we presently use pppeoe to access the internet….my server ip address i need to setup to 192.168.1.40 …. our internet router is presently set to 192.168.1.200…. submask 255.255.255.0 ….Default gateway 192.168.1.200….My ubuntu server is now a barebone server…is there a step by step method tutorial of how to make my server work as a local intranet and international internet multiple web, email, and hosting server
Please email me

Reply

33 anuu February 17, 2009 at 11:54 am

hmn its good tutorial,
can u add litle bit explanations to:
i setup lan and Internet sharing to my sisters pc and my laptop – and that’s all, but I’m actually don’t know much about correct netmasking, ip, i mean how to choose correct those:
i mean ip: starting with 172 or 192 or 10 what differences ?
i mean netmask 255.255.0.0 or 255.255.255.0 or.. ?

thank you

Reply

34 ian February 20, 2009 at 7:19 am

Hi,
I am new to networking. Can someone help me? I have a situation where I have two NIC cards in my Blade server. I have an Ethernet cable that comes from the router plugged into one of the NIC cards (that works and provides internet access for the blade server running Ubuntu 8.04). What I want to do since my second Ethernet cable is very short, is connect one end of the short cable to the second NIC card on the Blade server, and connect the other end of the short cable to the NIC card on my Windows Server 2003 so I can access the internet from the Windows machine. How do I go about getting the Windows server to access the internet? What configurations do I need to do on the Blade server and Windows server to make everything work? Your help is greatly appreciated. Thx!

Reply

35 anuu February 20, 2009 at 8:18 pm

ian
setup ip_forward to on
echo “1″ > /proc/sys/net/ipv4/ip_forward
and setup POSTROUTING, MASQUERADE to CARD2 that will share net to win
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s CARD2IPHERE -j MASQUERADE

hm i think that’s all

Reply

36 Ravi February 23, 2009 at 5:25 pm

Nice tutorial. Thanks and Keep it up.

Reply

37 Ali Raza March 17, 2009 at 4:21 am

thanx

Reply

38 Philip April 2, 2009 at 10:23 pm

Thank you for this website.

I come from Window and this is my first time doing static IP on my LAN on a Linux. I am pretty familiar on setting it in Window.

I just have these question.

Host IP address 192.168.1.100 (This would be my static IP that I want on this machine)
=> Netmask: 255.255.255.0
=> Network ID: 192.168.1.0 (What is this?)
=> Broadcast IP: 192.168.1.255 (What is this? Never seen in Window)
=> Gateway/Router IP: 192.168.1.254 (This would my router IP)
=> DNS Server: 192.168.1.254 (I do not use DNS. Can I put my ISP DNS?)

On PC there is a alternate DNS server also. How do I include it here?

Thanks for helping!

Reply

39 Cliff April 5, 2009 at 2:31 pm

Thanks for the tutorial. This is excellent reference material.

Reply

40 P.C.S.V.PRASAD April 20, 2009 at 8:35 am

IN WinXP i configured my network as follows
IP : 172.16.4.15
Sunbet : 255.255.255.0
Gateway : 172.16.4.1
Prf DNS : 172.16.4.1
Alt DNS : 207.56.250.6
But sugest me how to configure in UBUNTU Linux GUI
I am not able to understand how it was taking Broad cast as 172.16.4.255

Thaks

Reply

41 Gagan April 22, 2009 at 7:43 am

Thanks.. quick fix!

Reply

42 arasu May 20, 2009 at 7:40 pm

excellent but i cannot save the terminal after changes. anyone can help me

Reply

43 Matey May 28, 2009 at 12:06 pm

Hello All:
How do I change my MAC (HW) Address in Ubuntu? (for eth0)
I know I can use ifconfig but the help files is full of these [[[ <>>]]] and m ore brackets and its too confusing, why couldnt they show the real command instead of all these brackets?
Any way my connection is OK but I get refused!? (so wots new) lol ;-)
I cant get on the web.so i think my MAC address has been put on the black list of some sort.!?

Thank You!

Reply

44 tutu June 18, 2009 at 3:54 pm

there’s no etc/network on my RedHat 7.0 Linux. Where should I go from here? I was able to change the IP with the ifconfig but I would like to make it permanent. Thanks.

Reply

45 Vivek Gite June 18, 2009 at 4:33 pm

This tutorial is about Debian / Ubuntu Linux. For redhat update file /etc/sysconfig/network-scripts/ifcfg-eth0. See our RedHat specific tutorial here.

Reply

46 tutu June 18, 2009 at 8:01 pm

Thank you, I got it.

Reply

47 Mehdy Mahmood July 4, 2009 at 8:03 pm

I have pppoe connection , i need to connect my pc to my local lan , so i have set up ip to my lan card . but we ever i set up the ip to my lan ,, my pppoe goes down , but lan works . so my lan and my pppoe works dont work together. please help me out . i need to work them together.

Reply

48 Amit Patel July 11, 2009 at 6:12 am

above blog was extremely helpful for me.

thanking you a lot !!

Reply

49 delzio marcos September 20, 2009 at 1:25 pm

eu configurei a placa eth2 em meu sistema e observei que deveria deixar no final da ediçao do /etc/network/interfaces uma linha com auto eth2.pra que serve esse comando auto eth2
Excelente dica voce deicou para nós pobres mortais acostumados (mal) com o Windows xp.Eu não estava acertando a configuração da placa de jeito nenhum , mas agora está funcionando as mil maravilhas, muito grato pela dica.
P.S. Eu não sabia onde colocar os dns do meu servidor o primario e o secundario, acho que só faltava para mim essa informação.

Delzio

Reply

50 delzio marcos September 20, 2009 at 1:35 pm

Sorry but my informations are writed in portuguese, Iam trying to write in english.
I had configured my card eth2 in my system and I observed that I had to mantain in the last line the command auto eth2. Please whato do this command auto eth2.
Excelent information you gave to us poor mortals now the card aquired the new static IP
and works very well.
P.S. I did not know where I must insert the two DNS from my provider (the primary and the secondary) I guess the only error I made was do not edit the resolv.conf. and know with the excelent information you gave us it was possible to have all right.
sorry for my bad english.

Delzio

Reply

51 Vivek Gite September 20, 2009 at 4:45 pm

edit /etc/resolv.conf and add nameserver as follows:
nameserver 192.168.1.254
nameserver 4.2.2.1
nameserver 4.2.2.2

Reply

52 Marcio Carneiro October 28, 2009 at 7:35 pm

And for wlan?
Can you write the files for a wireless lan?

Reply

53 Sukesh Nambiar November 3, 2009 at 6:48 am

Great job. Very handy when trying to troubleshoot network issues. Thanks a lot.

Reply

54 sumanta mishra January 18, 2010 at 6:56 am

how to change password of server

Reply

55 Bebino Quines January 19, 2010 at 3:07 am

Thanks a lot, big help for me..

Reply

56 Rahul Jawale March 11, 2010 at 5:01 am

Thanks a lot and kudos to the cheat-sheet. That helped me to setup my Home Server. :)

Reply

57 mdkhan March 29, 2010 at 10:31 am

how to configure eth0 and eth0:1 in ubuntu

allready in my system it has been created by others
in terminal
ifconfig eth0
inet address 192.168.0.104
broadcast 192.168.0.255
netmask 255.255.255.0

in eth0:1

192.168.2.1
broadcast 192.168.2.255
netmask 255.255.255.0

plz explain me how to assign the interfaces

Reply

58 MA Khan May 30, 2010 at 4:31 am

This is for second ip
@@@@@@@@@@@@@@@@@
sudo vi /etc/network/interfaces

auto eth0:1
iface eth0:1 inet static
address 192.168.2.10
netmask 255.255.255.0
gateway 192.168.2.1
After entering all the details you need to restart networking services using the following command
sudo /etc/init.d/networking restart

Reply

59 Srinivas April 16, 2010 at 11:54 am

Hi, I tried to change Static IP address in ubuntu8.4, as follows
iface eth0 inet static
address 192.168.12.12
netmask 255.255.255.0
network 192.168.1.10
After changing from DHCP to Static i am not getting internet too. Can you help me where I am missing? My Ubuntu is running under windows platform, by using VMWare.

Reply

60 Garrypb May 16, 2010 at 8:44 am

You left out the gateway. It sounds like you wanted the Ubuntu VM online, if so, the gateway would be the ip of your router (ADSL modem or similar) that connects you to the internet.
gateway 192.168.12.1 (or ip of router)
& you have a strange network address, It looks like it should be:
network 192.168.12.0

Reply

61 Otto April 24, 2010 at 10:08 am

What else should be made for a wireless connection?
The end of my interfaces file has:
wpa-driver wext
wpa-conf /etc/wpa_supplicant.conf

Reply

62 RPS June 7, 2010 at 12:25 pm

Hi,
I am able to change the IP address from DHCP to static using commands. But when I restart the machine, I do get only DHCP IP address. It seems chaging from dhcp to static is not being saved in config file. Is there any command to save the settings which I have done to change the IP? I got in some posts that “To make permanent changes to IP address you need to edit configuration file according to your Linux distribution.” but I dont want to go for that .. Is there any command to execute to save the changes ???
Thanks ..

-RPS

Reply

63 ritz September 6, 2011 at 3:35 pm

restart the service by running the command

sudo /etc /init.d /networking retart

Reply

64 Suhas June 25, 2010 at 8:28 pm

Thank you

Reply

65 arsene July 2, 2010 at 5:55 am

I have written a python script that helps configure network.
It can be downloaded at Link

Reply

66 Deepak Yadav July 14, 2010 at 8:16 am

Thank you buddy

If you have any imp commands then mail me
i am support exe. of ubuntu

Reply

67 Top News August 23, 2010 at 11:11 am

Thanks a ton. it solved my issue

Reply

68 alex September 8, 2010 at 5:32 am

Hi, I did the above, and now when I try to update or install anything onto the server, it fails to fetch or do anything. It does still allow workstations access to the samba files.

i edited both the “interface” file and the resolv.config as the kind man above instructed.

any help to determine why internet access is not working?

my resolv.conf file reads (is this right?)
192.168.1.254

Reply

69 igor October 22, 2010 at 9:01 am

use

sudo apt-get install resolvconf, and edit /etc/resolvconf/* settings

Reply

70 Name * October 28, 2010 at 6:28 pm

thnx..

Reply

71 me February 11, 2011 at 7:13 pm

tnx..

Reply

72 sachin September 14, 2012 at 1:13 pm

in my pc there is no dhcp … there is something like this ..

iface lo inet loopback

so now wat i have to do to change my IP?

Reply

73 Coldnorth February 5, 2013 at 4:42 pm

Excellent guide, thanks for putting it together. I was having trouble keeping my IP’s static and had to use WICD to set them after every reboot. 5 minutes after reading this everything works perfectly.

Reply

74 adhitya christiawan nurprasetyo April 22, 2013 at 3:53 am

dont forget to add this line below to automatically fire up the device.
auto eth0

Reply

75 udin May 17, 2013 at 3:56 pm

Thank you… Your tutorial very useful anytime.. :)
Keep posting..

Reply

Leave a Comment

You can use these HTML tags and attributes for your code and commands: <strong> <em> <ol> <li> <u> <ul> <blockquote> <pre> <a href="" title="">
What is 12 + 11 ?
Please leave these two fields as-is:
Solve the simple math so we know that you are a human and not a bot.




Tagged as: , , , , , , , , , ,

Previous post:

Next post: