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

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

Want to read Linux tips and tricks, but don't have time to check our blog everyday? Subscribe to our daily email newsletter to make sure you don't miss a single tip/tricks. Subscribe to our weekly newsletter here!

{ 3 trackbacks }

S. Beatty Consulting » Blog Archive » An Ubuntu Server 7.04 Installation in VMware
11.12.07 at 3:52 am
Linux convert static IP configuration to DHCP network configuration « Vunknown’s Weblog
04.20.08 at 5:46 pm
Not A Fan at lowquality.net
12.05.08 at 12:33 pm

{ 42 comments… read them below or add one }

1 George 12.17.06 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.

2 Rafael 07.30.07 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.

3 Grady Lambert 08.17.07 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.

4 Shelly 09.10.07 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?

5 steppa 10.12.07 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.

6 Anonymous 12.08.07 at 4:07 am

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

7 Grayheart 01.30.08 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

8 G7 02.01.08 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) !!!

9 Raj 02.01.08 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

10 pankaj 03.08.08 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.

11 pankaj 03.08.08 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…..

12 polarizer 04.01.08 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

13 danny0085 04.08.08 at 7:29 pm

a litle tutorial to how to configure DHCP

dhcp

14 Tauxz 06.04.08 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.

15 Tinapa Faletiute 06.16.08 at 8:18 am

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

16 Rim 06.25.08 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.

17 Ray Malone 07.04.08 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.

18 dido 07.05.08 at 9:11 am

Excellent. Thanks.

19 Randy 07.18.08 at 2:06 am

Oh wow. Thank you so much for this tip!

20 ernest 07.28.08 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!!

21 Jason 07.30.08 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.

22 David 08.11.08 at 1:27 pm

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

23 George 08.25.08 at 9:17 am

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

24 Beyboo 11.09.08 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 :(

25 dave beall 11.18.08 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.

26 David 11.18.08 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 =\

27 Richard 12.09.08 at 3:30 pm

Excellent Info. Thanks for all your help.

28 Jackal 01.03.09 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

29 anuu 02.17.09 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

30 ian 02.20.09 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!

31 anuu 02.20.09 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

32 Ravi 02.23.09 at 5:25 pm

Nice tutorial. Thanks and Keep it up.

33 Ali Raza 03.17.09 at 4:21 am

thanx

34 Philip 04.02.09 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!

35 Cliff 04.05.09 at 2:31 pm

Thanks for the tutorial. This is excellent reference material.

36 P.C.S.V.PRASAD 04.20.09 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

37 Gagan 04.22.09 at 7:43 am

Thanks.. quick fix!

38 arasu 05.20.09 at 7:40 pm

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

39 Matey 05.28.09 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!

40 tutu 06.18.09 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.

41 Vivek Gite 06.18.09 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.

42 tutu 06.18.09 at 8:01 pm

Thank you, I got it.

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

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

Previous post: What you should (and shouldn’t) expect from 64-bit Linux?

Next post: QD#5: Linux Networx Pipes in $37M, Firefox Extending the Search Bar, Web dev in Linux tips, 8-Core Mac Pro, College rags, SSH Tips, TCP/IP Guide