I want to add a second IP address to my elastic network interface that's attached to my Amazon Elastic Compute Cloud (Amazon EC2) instance that's running Red Hat Enterprise Linux (RHEL). I want the secondary IP address to persist during bootup.
Short description
To make the second Elastic IP address persist during the reboot, you must create an alias interface configuration file, for example /etc/sysconfig/network-scripts/ifcfg-eth0:1. The ifcfg-if-name:alias-value naming scheme is used to bind multiple addresses to a single interface in the alias interface configuration files, for example ifcfg-eth0:1.
Resolution
To create the alias interface configuration file for the secondary IP address and bind the IP address to eth0of, complete the following steps:
-
Attach a secondary IPv4 address to the network interface.
-
Use SSH to connect to the Linux instance.
-
To check if an alias configuration file already exists, run the following command:
"ls /etc/sysconfig/network-scripts/ifcfg-eth0\:*"
-
If the alias configuration file doesn't exist, then run the following command to create one:
sudo cat << EOF > /etc/sysconfig/network-scripts/ifcfg-eth0:1
DEVICE=eth0:1
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.1.10
NETMASK=255.255.255.0
ONBOOT=yes
USERCTL=yes
NM_CONTROLLED=no
EOF
-
To activate the alias on the network interface based on the interface definitions in the alias configuration file, run the following command:
sudo ifup eth0:1
The following is an example output:
Determining if ip address 192.168.1.10 is already in use for device eth0...
-
To confirm that the IP address is bound to the network interface, run the following command:
ip a
The following is an example output:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP qlen 1000
link/ether 0a:ff:f2:5a:69:e7 brd ff:ff:ff:ff:ff:ff
inet 172.31.18.200/20 brd 192.168.1.10 scope global eth0
inet 192.168.1.10/24 brd 10.0.1.255 scope global eth0:1
inet6 fe80::8ff:f2ff:fe5a:69e7/64 scope link
valid_lft forever preferred_lft forever
-
To confirm that the IP address is assigned, reboot the instance.