Linux Static IP Address Configuration

by on April 23, 2011 · 17 comments· LAST UPDATED April 23, 2011

in , ,

How do I configure the Internet Protocol version 4 (IPv4) properties of a network connection with a static IP address for servers running Linux operating systems? How do I configure static IP address under Debian Linux or Redhat / RHEL / Fedora / Redhat Enterprise Linux server?

You need to update and/or edit the network configuration files. This tutorial provides procedures to configure a static IP address on a computer running the following operating systems:

  1. RHEL / Red hat / Fedora / CentOS Linux eth0 config file - /etc/sysconfig/network-scripts/ifcfg-eth0
  2. RHEL / Red hat / Fedora / CentOS Linux eth1 config file - /etc/sysconfig/network-scripts/ifcfg-eth1
  3. Debian / Ubuntu Linux - /etc/network/interfaces

Sample Setup: Linux Static TCP/IP Settings

In this example you will use the following Internet Protocol Version 4 (TCP/IPv4) Properties including IP, default gateway, and preferred DNS servers:

  • IP address: 192.168.1.10
  • Netmask: 255.255.255.0
  • Hostname: server1.cyberciti.biz
  • Domain name: cyberciti.biz
  • Gateway IP: 192.168.1.254
  • DNS Server IP # 1: 192.168.1.254
  • DNS Server IP # 2: 8.8.8.8
  • DNS Server IP # 3: 202.54.2.5

RHEL / Red hat / Fedora / CentOS Linux Static IP Configuration

For static IP configuration you need to edit the following files using a text editor such as vi. Edit /etc/sysconfig/network as follows, enter:
# cat /etc/sysconfig/network
Sample static ip configuration:

 
NETWORKING=yes
HOSTNAME=server1.cyberciti.biz
GATEWAY=192.168.1.254
 

Edit /etc/sysconfig/network-scripts/ifcfg-eth0, enter:
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
Sample static ip configuration:

 
# Intel Corporation 82573E Gigabit Ethernet Controller (Copper)
DEVICE=eth0
BOOTPROTO=static
DHCPCLASS=
HWADDR=00:30:48:56:A6:2E
IPADDR=192.168.1.10
NETMASK=255.255.255.0
ONBOOT=yes
 

Edit /etc/resolv.conf and setup DNS servers, enter:
# cat /etc/resolv.conf
Sample static IP configurations:

 
search cyberciti.biz
nameserver 192.168.1.254
nameserver 8.8.8.8
nameserver 202.54.2.5
 

Finally, you need to restart the networking service, enter:
# /etc/init.d/network restart
To verify new static ip configuration for eth0, enter:
# ifconfig eth0
# route -n
# ping 192.168.1.254
# ping google.com

Debian / Ubuntu Linux Static IP Configuration

Edit /etc/hostname, enter:
# cat /etc/hostname
Sample ip config:

 
server1.cyberciti.biz
 

Edit /etc/network/interfaces, enter:
# cat /etc/network/interfaces
Sample static ip config:

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

Edit /etc/resolv.conf and setup DNS servers, enter:
# cat /etc/resolv.conf
Sample dns static IP configurations:

 
search cyberciti.biz
nameserver 192.168.1.254
nameserver 8.8.8.8
nameserver 202.54.2.5
 

Finally, you need to restart the networking service under Debian / Ubuntu Linux, enter:
# /etc/init.d/networking restart
Type the following commands to verify your new setup, enter:
# ifconfig eth0
# route -n
# ping google.com

See also:

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 17 comments… read them below or add one }

1 tasuke December 5, 2011 at 2:49 pm

Very helpful…thanks alot

Reply

2 John December 9, 2011 at 5:02 am

YAY, easy as pie, thanks.

Reply

3 Mingpeng March 1, 2012 at 3:33 am

very clever

Reply

4 Mohamed January 21, 2012 at 11:11 am

i am facing problem her in Ubuntu server i made static IP and it worked as ping from it and to it . after 5 min i can not ping to ubuntu but i used ifconfig i found my ip as it is and ping from ubunto to any pc is fine, i made ifdown then ifup it works again but after about time stopped ping from outside…???

Reply

5 Ricky March 29, 2012 at 3:34 am

Sounds like you have another machine useing the ip address,

try doing ifdown and then ping from another machine to your ip address if you get reply, change your static ip to one that gets no respose do a ping first to check if the ip is in use, this way you can ensure you have a unique address, if using a dhcp make sure you add a reservation into it else it could happen again where the server is not getting a lease so the dhcp will assign on request to a machine, good idea is to set your dhcp range to something like xxx.xxx.xxx.100 – 200 and then you know you can freely use any ip up to xxx.xxx.xxx.99 and not have to add it in the reservations because the dhcp wont assign below 100

Reply

6 Shekhar Raut June 12, 2012 at 4:29 am

But if I have two NIC cards and I have to give different hostnames for evry ip.
Is this possible?

example
NIC 1 : 192.168.1.1
HOSTNAME : server1.abcd.com
NIC 2 : 192.168.2.1
HOSTNAME : server2.xyzf.com

So is this possible on one system??
In DNS server I have made this entry.
How can I resolve this ip/hostname from the machine itself.

I am new in this field. Please advise me.

( I guess I can do this entries in /etc/hosts. Is this right??)

Reply

7 KR-Tech November 6, 2012 at 10:08 am

Awesome, helped me out using Raspberry Pi Debian.

Reply

8 A J November 19, 2012 at 5:45 pm

Thanks, I was able to resolve my ip addressing problem…now it’s not resolving dns and yes I added the dns ip’s to resolv.conf. What a nose bleed!
Is it just me or or is just beyond stupid Centos has problems connecting to the net out of the box??!? Reallllly?

Reply

9 Yogesh December 19, 2012 at 8:42 am

I don’t want DHCP to push DNS info in my resolv.conf. How do I achieve that?

What I tried and didn’t help:-
1.Disable dns in /etc/nsswitch.conf
2.Disable dns in /etc/resolv.conf
3.Service network restart (obtain IP from DHCP)
4.Check resolv.conf to discover that dns ip is written in resolv.conf again!

Reply

10 Yogesh December 19, 2012 at 8:47 am

Dear Vivek

Please delete my comment :-)
I found the solution here:
http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-dhcp-configuring-client.html

PEERDNS=, where is one of the following:

yes — Modify /etc/resolv.conf with information from the server. If using DHCP, then yes is the default.

no — Do not modify /etc/resolv.conf.

Reply

11 Vimal January 8, 2013 at 2:41 pm

Cyberciti, whenever I come here, I am done with my solution. Thank you so much.
Keep it up :)
-Vimal

Reply

12 Ace April 29, 2013 at 10:19 pm

on HREL/CentOS it didn’t work.

After restarting it connected, (pinged google ok) but pinging the IP I set returned unknown host

:(

Reply

13 null May 9, 2013 at 2:04 am

dont forget “auto eth0″

Reply

14 shufil June 5, 2013 at 11:07 am

For set Centos Static IP Address Configuration need this configuration

vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=none
HWADDR=e0:66:90:03:98:5b
IPADDR=192.168.2.3
NETMASK=255.255.255.0
ONBOOT=yes
GATEWAY=192.168.2.1
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=yes

Reply

15 Johny June 10, 2013 at 4:23 pm

Hi i have this strange problem that on centOS running inside VirtualBox i set the IP Address and after sometime the configurations are lost and the interface has no IP Address. I have no clue why this is happeneing?

Can someone please help. Its like i setup everything restart, fine i have ip there but after like a min or 40+ seconds configurations are lost. i set again with ifconfig, they stay for sometime and then reset again, what should i do?

Please help

Reply

16 akram February 17, 2014 at 3:03 pm

thanks a lot it’s perfect explain
I was suffering from IP problem between VMware and local computer there isn’t connection when I was using Putty to do connect to linux on VMware.

once again thanks million *_^

Reply

17 Mustafa March 3, 2014 at 1:59 am

Good useful information. It was very helpful

Reply

Leave a Comment

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

Previous Faq:

Next Faq: