IP Aliasing : Assigning multiple IP addresses to single NIC

Last updated on March 12th, 2018 at 08:24 pm

Hello Linux-fanatics, in this tutorial we are going to learn to assign multiple IP addresses to a single NIC (Network Interface Card) . This process of assigning multiple addresses to single network interface is called IP aliasing.

Main advantage of using IP aliasing is that we don’t need multiple NICs to configure multiple IPs, hence saving us cost & configuration time. IP aliasing is most useful when using Apache IP based virtual hosting.

For this tutorial, we are going to use RHEL/CentOS 7 but same process can also be used older versions of RHEL/CentOS, the only change being the name of the network interfaces other than that process is same.

Network interfaces files in RHEL/CentOS 7(on older versions as well) are located at ‘/etc/sysconfig/network-scripts’ & name of the interfaces are usually ‘ifcfg-ethX’, where ‘X’ is the number of the interface. In my case, its ‘ifcfg-eth0’. So we will be using same for the purpose of this tutorial.

Configuration

We will assign two different IPs in addition to the one we have already assigned to our interface  ‘ifcfg-eth0’. To create IP alias, we are going to use our default network interface file & then will create two copies of the file with names ‘ifcfg-eth0:1‘ & ‘ifcfg-eth0:2’

$  cd /etc/sysconfig/network-scripts
$ cp ifcfg-eth0 ifcfg-eth0:1
$ cp ifcfg-eth0 ifcfg-eth0:2

 

Now, let’s open primary network interface i.e. eth0, & see its content

$ vi ifcfg-eth0

DEVICE=”eth0″
BOOTPROTO=static
ONBOOT=yes
TYPE=”Ethernet”
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
HWADDR=32:0A:21:54:ND:6D

 

We will now configure our other network interfaces, we only need to make changes for ‘DEVICE’ & ‘IPADDR’  for aliasing

$ vi ifcfg-eth0:1

DEVICE=”eth0:1″
BOOTPROTO=static
ONBOOT=yes
TYPE=”Ethernet”
IPADDR=192.168.1.110
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
HWADDR=32:0A:21:54:ND:6D

 

& same is to be done for ‘ifcfg:eth0:2’

$ vi ifcfg-eth0:2

DEVICE=”eth0:2″
BOOTPROTO=static
ONBOOT=yes
TYPE=”Ethernet”
IPADDR=192.168.1.120
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
HWADDR=32:0A:21:54:ND:6D

 

Save both files & restart the network service for changes to take effect.

$ systemctl restart network

 

To check IP addresses have bee assigned or not, run ‘ifconfig’

$ ifconfig

 

ip aliasing

This completes our tutorial, if you are having any issues/comments, please do mention them in the comment box below.

 

If you think we have helped you or just want to support us, please consider these :-

Connect to us: Facebook | Twitter | Google Plus

Become a Supporter – Donate us some of you hard earned money:

Linux TechLab is thankful for your continued support.

Shusain

Passionate about Linux & open source. Loves to learn, read & write about Linux as well as new technologies.

You may also like...

Leave a Reply