How to create a persistent network configuration on a Linux machine


In this article I will show you how to configure a persistent network configuration on your Linux machine. Note that you will need to edit the network adapter configuration file. If you choose to configure your server using other methods (DHCP or bash commands), the network parameters will not persist upon reboot. You can also add those commands in one of the initialization files but, I prefer editing the network adapter configuration file directly.
The location of the network configuration file may differ from one Linux distribution to another. For the following example I will be using two virtual machines running CentOS named VM2 and VM3. The network configuration file on a CentOS Server, can be found in /etc/sysconfig/network-scripts/ifcfg-eth0. If you are using a machine with multiple interfaces, there will be several confg files in the same location so make sure to edit the right file.
If you have downloaded the OS image from http://www.centos.org/, your Server will be configured to obtain it’s IP configuration from a DHCP Server this is why, the following lines would normally appear:

DEVICE=eth0 

BOOTPROTO=dhcp 
ONBOOT=no
  • DEVICE=interface_name; – physical interface name
  • BOOTPROTO=protocol; – protocol used to obtain IP configuration
            the specified protocol can be one of the following:                 none — no boot-time protocol will be used                 bootp — BOOTP protocol will be used.                  dhcp — DHCP protocol will be used.

  • ONBOOT=yes/no – will enable the interface upon reboot.
I’ve opened the ifcfg-eth0 on VM2 using a text editor. You will need to add the following lines on your CentOS machine:
DEVICE=eth0
HWADDR=00:0C:29:A2:36:CD
TYPE=Ethernet
UUID=58fd1273-f989-4cd6-bf67-8e7fec7bd1a2
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=10.10.1.10
NETMASK=255.255.255.0
NETWORK=10.10.1.0
GATEWAY=10.10.1.1
Note that the HWADDR,TYPE,UUID and NM_CONTROLLED parameters are configured automatically by the System so, you will not need to worry about those. I’ve added the IP Address, Network Mask, Gateway and Network Address parameters.
This is how your configuration file should look like:
Linux static IP configuration
Now we will make similar configurations on the second Server:
How to create persistent network configuration
The only thing left to do is to restart the network service on both Servers. To achieve this result, you must run the following command: service network restart
Linux service command
There are several ways to test the network connectivity between these two servers but, one of the most common methods is by using the ping command:
Linux ping command
Now it’s time to test our persistent configuration by rebooting both machines. Simply type reboot on each server:
Linux reboot command
For verifying your IP configuration use ifconfig or ip addr show commands. Note that you can configure a static IP address using these two commands but, these will not persist upon reboot. The ouput of these commands are as follows:
                                          ifconfig
Linux Ifconfig command
                                          ip addr show
Linux IP command
As you can see these commands have similar output so choose whatever method you desire. For verifying the default gateway, use the route command:
Linux route command
That’s it for this article folks, I hope you’ve understood how to configure a persistent IP configuration on your Linux machine. Note that I’m still in the process of learning Linux this is why there may be things that I cannot explain yet. Please feel free to post any question related on this topic and I will try to respond as soon as possible. Wish you all the best and stay tuned for the following articles from IT training day.
Advertisements

One thought on “How to create a persistent network configuration on a Linux machine

  1. Pingback: Resolv.conf gets overwritten at reboot | ITtrainingday

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s