By default, your machine might have a single eth0 ip address.
Run command ifconfig
and you will something like below.
eth0 Link encap:Ethernet HWaddr e0:3f:49:e6:35:e7 inet addr:192.99.15.227 Bcast:192.99.15.255 Mask:255.255.255.0 inet6 addr: 2607:5300:60:40e3::1/64 Scope:Global inet6 addr: fe80::e23f:49ff:fee6:35e7/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:131715052 errors:0 dropped:0 overruns:0 frame:0 TX packets:70136866 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:187451050876 (187.4 GB) TX bytes:14950325660 (14.9 GB) Interrupt:16 Memory:df200000-df220000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:2981670 errors:0 dropped:0 overruns:0 frame:0 TX packets:2981670 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:2238241247 (2.2 GB) TX bytes:2238241247 (2.2 GB)
Now you want to create network aliases for eth0 so you can use multiple IP addresses on this server.
We often do this when we need to assign SSL for multiple domains and/or host virtual machines with dedicated IP addresses.
There are 2 ways to do this:
ifconfig command – Quick and Temporary Way
Quickest way is to do this is using ifconfig
command only.
For IP address 198.27.86.40, run command like below:
sudo ifconfig eth0:0 198.27.86.40 up
You can execute commands like above for any number of IP addresses by replacing inference (eth0:0) and IP address.
This will get lost on server reboot or when networking service restarts. So if you want to create permanent aliases, use method in next section.
/etc/network/interfaces – Permanent Changes
Open /etc/network/interfaces
interfaces in text editor.
You will see something like:
auto eth0 iface eth0 inet static address 192.99.15.227 netmask 255.255.255.0 network 192.99.15.0 broadcast 192.99.15.255 gateway 192.99.15.254
Add something like below to this file. Make sure you change IP addresses and number of blocks as per your need.
#virtual aliases auto eth0:0 iface eth0:0 inet static address 198.27.86.40 netmask 255.255.255.0 auto eth0:1 iface eth0:1 inet static address 198.27.127.177 netmask 255.255.255.0
Then save changes and restart networking service using command:
service networking restart
Test
Just run ifconfig
again and you will see something like below:
eth0 Link encap:Ethernet HWaddr e0:3f:49:e6:35:e7 inet addr:192.99.15.227 Bcast:192.99.15.255 Mask:255.255.255.0 inet6 addr: 2607:5300:60:40e3::1/64 Scope:Global inet6 addr: fe80::e23f:49ff:fee6:35e7/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:131797195 errors:0 dropped:0 overruns:0 frame:0 TX packets:70226470 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:187498184999 (187.4 GB) TX bytes:15073209871 (15.0 GB) Interrupt:16 Memory:df200000-df220000 eth0:0 Link encap:Ethernet HWaddr e0:3f:49:e6:35:e7 inet addr:198.27.86.40 Bcast:198.27.86.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:16 Memory:df200000-df220000 eth0:1 Link encap:Ethernet HWaddr e0:3f:49:e6:35:e7 inet addr:198.27.127.177 Bcast:198.27.127.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:16 Memory:df200000-df220000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:2984510 errors:0 dropped:0 overruns:0 frame:0 TX packets:2984510 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:2239435897 (2.2 GB) TX bytes:2239435897 (2.2 GB)