How to Set Static IP Address and Configure Network in Linux

If you are a Linux system administrator, time will come when you will need to configure networking on your system. Unlike desktop machines where you can use dynamic IP addresses, on a server infrastructure, you will need to setup a static IP address (at least in most cases).

Read Also: How to Set or Change System Hostname in Linux</p

This article is meant to show you how to configure static IP address on most frequently used Linux distributions.

For the purpose of this tutorial, we will use the following Internet Protocol version 4 (IPv4) details:

IP address: 192.168.0.100
Netmask: 255.255.255.0
Hostname: node01.tecmint.com
Domain name: tecmint.com
Gateway: 192.168.0.1
DNS Server 1: 8.8.8.8
DNS Server 2: 4.4.4.4

Configure Static IP Address in RHEL/CentOS/Fedora:

To configure static IP address in RHEL / CentOS / Fedora, you will need to edit:

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

Where in the above "ifcfg-eth0" answers to your network interface eth0. If your interface is named “eth1" then the file that you will need to edit is "ifcfg-eth1".

Let’s start with the first file:

# vi /etc/sysconfig/network

Open that file and set:

NETWORKING=yes
HOSTNAME=node01.tecmint.com
GATEWAY=192.168.0.1
NETWORKING_IPV6=no
IPV6INIT=no

Next open:

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

Note: Make sure to open the file corresponding to your network interface. You can find your network interface name with ifconfig -a command.

In that file make the following changes:

DEVICE="eth0"
BOOTPROTO="static"
DNS1="8.8.8.8"
DNS2="4.4.4.4"
GATEWAY="192.168.0.1"
HOSTNAME="node01.tecmint.com"
HWADDR="00:19:99:A4:46:AB"
IPADDR="192.68.0.100"
NETMASK="255.255.255.0"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="8105c095-799b-4f5a-a445-c6d7c3681f07"

You will only need to edit the settings for:

  1. DNS1 and DNS2
  2. GATEWAY
  3. HOSTNAME
  4. NETMASK
  5. IPADDR

Other settings should have already been predefined.

Next edit resolve.conf file by opening it with a text editor such as nano or vi:

# vi /etc/resolv.conf
  
nameserver 8.8.8.8 # Replace with your nameserver ip
nameserver 4.4.4.4 # Replace with your nameserver ip

Once you have made your changes restart the networking with:

# /etc/init.d/network restart  [On SysVinit]
# systemctl restart network    [On SystemD]

Set Static IP Address in Debian / Ubuntu

To setup static IP address in Debian/ Ubuntu, open the following file:

# nano /etc/network/interfaces

You may see a line looking like this:

auto eth0
iface eth0 inet dhcp

Change it so it looks like this:

auto eth0
iface eth0 inet static 
  address 192.168.0.100
  netmask 255.255.255.0
  gateway 192.168.0.1
  dns-nameservers 4.4.4.4
  dns-nameservers 8.8.8.8

Save the file and then edit /etc/resolv.conf like this:

# nano /etc/resolv.conf
nameserver 8.8.8.8 # Replace with your nameserver ip
nameserver 4.4.4.4 # Replace with your nameserver ip

Restart the networking on your system with:

# /etc/init.d/network restart  [On SysVinit]
# systemctl restart network    [On SystemD]

Your static IP address has been configured.

Conclusion:

You now know how to configure a static IP address on a Linux distro. If you have any questions or comments, please do not hesitate to submit them in the comment section below.

Best Affordable Linux and WordPress Services For Your Business
Outsource Your Linux and WordPress Project and Get it Promptly Completed Remotely and Delivered Online.

If You Appreciate What We Do Here On TecMint, You Should Consider:

  1. Stay Connected to: Twitter | Facebook | Google Plus
  2. Subscribe to our email updates: Sign Up Now
  3. Get your own self-hosted blog with a Free Domain at ($3.45/month).
  4. Become a Supporter - Make a contribution via PayPal
  5. Support us by purchasing our premium books in PDF format.
  6. Support us by taking our online Linux courses

We are thankful for your never ending support.

Marin Todorov

I am a bachelor in computer science and a Linux Foundation Certified System Administrator. Currently working as a Senior Technical support in the hosting industry. In my free time I like testing new software and inline skating.

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide

You may also like...

27 Responses

  1. Rana Raheel Tariq says:

    Is it public Static IP? or can I use to access data from other networks?

  2. Ben says:
    # systemctl restart network
    

    Failed to restart network.service: Unit network.service not found.

  3. Matthew S. says:

    I’m asking a question on a fairly old thread, but just in case, is it possible to do this on a WIFI network?

    For example, when using the first command (# nano /etc/network/interfaces) in Ubuntu, the result I see is:

    "# interfaces(5) file used by ifup(8) and ifdown(8)
    auto lo
    iface lo inet loopback"
    

    There isn’t an “eth0” on my server because it is connected by WIFI only. Will it still work using another option?

    • Ravi Saive says:

      @Matthew,

      Yes it will work I think so, just change the settings in the interfaces file as explained in this article.

  4. Rashmi Ranjan says:

    Hi,

    I set the static IP in ifcfg-eth0, added HWADDR and UUID, but on reboot system does not associate the IP to eth0.

    This is VM. Any idea why its happening and steps to troubleshoot.

    Thanks

Leave a Reply to Ben Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.