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

by Vivek Gite on September 13, 2006 · 74 comments

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 ;)

Featured Articles:

Share this with other sys admins!
Facebook it - Tweet it - Print it -

We're here to help you make the most of sysadmin work. So, subscribe!

{ 70 comments… read them below or add one }

1 George December 17, 2006

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 Rafael July 30, 2007

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

3 Grady Lambert August 17, 2007

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

4 Shelly September 10, 2007

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

5 reply December 15, 2010

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

6 steppa October 12, 2007

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

7 Anonymous December 8, 2007

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

Reply

8 Grayheart January 30, 2008

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

9 ActionParsnip November 15, 2010

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

10 G7 February 1, 2008

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

11 Raj February 1, 2008

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

12 Jeremy September 7, 2010

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

Reply

13 pankaj March 8, 2008

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

14 pankaj March 8, 2008

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

Reply

15 polarizer April 1, 2008

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

16 danny0085 April 8, 2008

a litle tutorial to how to configure DHCP

dhcp

Reply

17 Tauxz June 4, 2008

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

18 Tinapa Faletiute June 16, 2008

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

Reply

19 Rim June 25, 2008

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

20 Ray Malone July 4, 2008

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

21 dido July 5, 2008

Excellent. Thanks.

Reply

22 Randy July 18, 2008

Oh wow. Thank you so much for this tip!

Reply

23 ernest July 28, 2008

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

24 Jason July 30, 2008

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

25 David August 11, 2008

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

Reply

26 George August 25, 2008

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

Reply

27 Beyboo November 9, 2008

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

28 dave beall November 18, 2008

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

29 David November 18, 2008

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

Reply

30 Richard December 9, 2008

Excellent Info. Thanks for all your help.

Reply

31 Jackal January 3, 2009

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

32 anuu February 17, 2009

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

33 ian February 20, 2009

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

34 anuu February 20, 2009

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

35 Ravi February 23, 2009

Nice tutorial. Thanks and Keep it up.

Reply

36 Ali Raza March 17, 2009

thanx

Reply

37 Philip April 2, 2009

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

38 Cliff April 5, 2009

Thanks for the tutorial. This is excellent reference material.

Reply

39 P.C.S.V.PRASAD April 20, 2009

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

40 Gagan April 22, 2009

Thanks.. quick fix!

Reply

41 arasu May 20, 2009

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

Reply

42 Matey May 28, 2009

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

43 tutu June 18, 2009

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

44 Vivek Gite June 18, 2009

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

Reply

45 tutu June 18, 2009

Thank you, I got it.

Reply

46 Mehdy Mahmood July 4, 2009

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

47 Amit Patel July 11, 2009

above blog was extremely helpful for me.

thanking you a lot !!

Reply

48 delzio marcos September 20, 2009

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

49 delzio marcos September 20, 2009

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

50 Vivek Gite September 20, 2009

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

51 Marcio Carneiro October 28, 2009

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

Reply

52 Sukesh Nambiar November 3, 2009

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

Reply

53 sumanta mishra January 18, 2010

how to change password of server

Reply

54 Bebino Quines January 19, 2010

Thanks a lot, big help for me..

Reply

55 Rahul Jawale March 11, 2010

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

Reply

56 mdkhan March 29, 2010

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

57 MA Khan May 30, 2010

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

58 Srinivas April 16, 2010

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

59 Garrypb May 16, 2010

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

60 Otto April 24, 2010

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

61 RPS June 7, 2010

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

62 ritz September 6, 2011

restart the service by running the command

sudo /etc /init.d /networking retart

Reply

63 Suhas June 25, 2010

Thank you

Reply

64 arsene July 2, 2010

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

Reply

65 Deepak Yadav July 14, 2010

Thank you buddy

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

Reply

66 Top News August 23, 2010

Thanks a ton. it solved my issue

Reply

67 alex September 8, 2010

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

68 igor October 22, 2010

use

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

Reply

69 Name * October 28, 2010

thnx..

Reply

70 me February 11, 2011

tnx..

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 2 + 12 ?
Please leave these two fields as-is:
Are you a human being? Solve the simple math so we know that you are a human and not a bot.




Previous post:

Next post: