Q. I would like to create alias for my network card (NIC). How do I setup 2 IP address on One NIC? How do I add alias under Centos / Fedora / Debian / Ubuntu Linux?
A. Linux allows you to add additional network address using alias feature. Please note that all additional network IP address must be in same subnet. For example if your eth0 using 192.168.1.5 IP address then alias must be setup using 192.168.1.0/24 subnet.
ifconfig command line
You can use ifconfig command to configure a network interface and alias. For example:
- eth0 NIC IP 192.168.1.5
- eth0:0 first NIC alias: 192.168.1.6
To setup eth0:0 alias type the following command as the root user:
# ifconfig eth0:0 192.168.1.6 up
Verify alias is up and running using following command:
# ifconfig -a
# ping 192.168.1.6
However, if you reboot the system you will lost all your alias. To make it permanent you need to add it network configuration file.
Debian / Ubuntu Linux Instructions
You can configure the additional IP addresses automatically at boot with another iface statement in /etc/network/interfaces:
# vi /etc/network/interfaces
Append text as follows:
auto eth0:1 iface eth0:1 inet static name Ethernet alias LAN card address 192.168.1.7 netmask 255.255.255.0 broadcast 192.168.1.255 network 192.168.1.0
Save and close the file. Restart the network:
# /etc/init.d/networking restart
Red Hat / RHEL / CentOS / Fedora Linux Instructions
Copy etc/sysconfig/network-scripts/ifcfg-eth0 file as /etc/sysconfig/network-scripts/ifcfg-eth0:0
# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:0
Open file /etc/sysconfig/network-scripts/ifcfg-eth0:0 using vi text editor:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0:0
Find entry that read as follows:
DEVICE=eth0
Replace with:
DEVICE=eth0:0
Find entry that read as follows:
IPADDR=xxx.xxx.xxx.xxx
Replace it with your actual IP address:
IPADDR=192.168.1.7
At the end your file should like as follows:
DEVICE=eth0:0 IPADDR=192.168.1.7 NETMASK=255.255.255.0 NETWORK=192.168.1.0 ONBOOT=yes NAME=eth0:0
Open file /etc/sysconfig/network-scripts/ifcfg-eth0 and make sure file does not have a GATEWAY= entry:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
Find the entry that read as follows:
GATEWAY=your-ip
Remove or comment it out by prefixing # (hash) :
# GATEWAY=192.168.1.254
Save the file. Add the GATEWAY= to your /etc/sysconfig/network:
# vi /etc/sysconfig/network
Append or modify GATEWAY entry:
GATEWAY=192.168.1.254
Save the file. Reboot the system or run the following command:
# ifup eth0:0
OR
# service network restart
Red Hat / CentOS / Fedora Multiple IP address range
You can assign multiple ip address range as follows to eth0:
vi /etc/sysconfig/network-scripts/ifcfg-eth0-range0
Append following code from 202.54.112.120 to 202.54.112.140:
IPADDR_START=202.54.112.120 IPADDR_END=202.54.112.140 CLONENUM_START=0 NETMASK=255.255.255.0
Save and close the file.
See also:
🐧 21 comments so far... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
Hello there
I am using Linux enterprise 4 on my Toshipa Laptop but it didn’t recognizing my NIC so I had to ask for the NIC installation file so I get and this is the name of the file install_8_37[1].tar but I dont know what to do after that ,so i need any help to do this but just please make simple and much details as much as you can because I am not quite expert.
This blog explains how to create an aliased interface using a C program.
Link
Might be useful for some of you I guess.
Hello, I am very new to Linux. Currently using Ubuntu and was wondering what the following line means.
“name Ethernet alias LAN card”
Any help on this would be great thanks!
thanks !..will try to ad failover ip’s on my ovh box :)
Hi sir
If I have several additional IPs, will creating eth0:1, eth0:2 and so on.
work’s ?
thanks :D
According to the documentation in /usr/share/doc/initscripts-*/sysconfig.txt, the file defining the eth0:0 device on RedHat/RHEL/CentOS/Fedora systems should only contain the information that is different from the parent eth0 device.
I agree with Michael Leahy.
/usr/share/doc/initscripts-*/sysconfig.txt says that the alias interfaces should not duplicate the information contained in the parent device.
From /usr/share/doc/initscripts-*/sysconfig.txt
Since when does an alias have to be on the same subnet? I use aliases all the time at work to create private “dev” VLANS with servers I SSH to directly (with a simple switch in between).
The ONBOOT parameter is not appropriate for a Virtual IP / IP Alias – you need to use the ONPARENT param instead.
HTH,
Steve Harper
Thanks I just managed to add a new network alias to my server. :) I also followed Steve’s advice about the onboot parameter.
For my centos5 this information was not sufficient. I’ve added a IP alias eth1:1 on a different subnet than eth1 with this ifcfg-eth1:1 file:
GATEWAY=194.xxx.xxx.xxx
TYPE=Ethernet
DEVICE=eth1:1
BOOTPROTO=none
NETMASK=255.255.255.0
IPADDR=194.xxx.xxx.xxx
USERCTL=no
IPV6INIT=no
ONPARENT=yes
PEERDNS=yes
This works fine with a:
service network restart
how many ip alias I can create in rhel 5, till now i have 64 alias of eth0 interface. I’m able to ping till 63th alias but not on 64 why’s that. I have found that in ubuntu we can create till 254 alias from one particular interface card.
any idea all the configuration are perfect and from sitting on the machine i’m able to ping myself on 64 alias.
but not from other machine which is in netwrok
thanks this help to my configure my network
Is there any limit for network aliases?
can i configure i.e. 512 ip addreses to one network card?
Stop taking all the ipv4 addresses for no reason!
idiot
IP address alias is simple option for adding multiple public IP address.
check # ip address help
Add IP Alias: ip addr add 122.122.122.122 dev eth1
Delete IP Alias: ip addr del 122.122.122.122/32 dev eth1
List IP Alias: ip addr show dev eth1
I like this short way
show status: ip a s eth0
add ip alias: ip a a 192.168.1.1 dev eth0
delete ip alias: ip a d 192.168.1.1 dev eth0
add default route: ip r a 0.0.0.0/0 via 192.168.1.254
……
Hello Sir.
Thank you so much and i have found a lot, but finally your website helped me , and i was using Vmware layer with RHEL 6 and trying to do IP alias but totally fail and after running this command
#ifconfig eth0:0 192.168.*.* it works for me and sir how can i make these alias permanently after reboot ?????
in linux mint 17.2 there is nothing to do …just add another series of ip or another ip what ever require manually at network configuration n reboot pc everything works fine
thanx
1. Create an alias call eth0:1 that uses an IP address of 10.254.254.X. Replace X with the address provided by the instructor.
2. Make sure this alias is configured to start at boot.
How can i do this problem? Do I have to download a server-based Linux system?