When you set up a Linux system's network, you
typically assign one IP address per network interface card (NIC).
This serves as the primary address for the NIC. For example, a
firewall may have one Ethernet interface (e.g., eth0) assigned an
external ISP-supplied IP, whereas the other interface (e.g., eth1)
would have a local IP used on the local LAN.

But in a situation that requires multiple IP
addresses on a machine (all of which connect to the same network),
you don't need one NIC per IP address. Linux is capable of mapping
multiple IP addresses to a single NIC by using IP aliasing.

To set up an IP alias, execute the
following:

# ifconfig eth0:0 192.168.5.12 netmask
255.255.255.0 up

This assigns the IP address 192.168.5.12 to
eth0 as the first alias (noted as eth0:0) on eth0. If you look at
the output of ifconfig,
you'll see the distinct IP address for eth0 and another for
eth0:0.

If you need to add another IP address, just run
the same command as root, and increment the alias number. In this
example, the next alias number would be eth0:1.

On Mandrakelinux, Red Hat, and similar systems,
you can make aliases automatic by creating files in
/etc/sysconfig/network-scripts/. In this directory, create a new
file called ifcfg-eth0:0 that contains the following contents:

IPADDR="192.168.5.12"
NETMASK="255.255.255.0"

On systems that don't use these network
scripts, just add the call to ifconfig directly in your
startup script (usually /etc/rc.d/rc.local).