Wednesday, March 11, 2009

FreeBSD IP Alias: Setup 2 or More IP address on One NIC

FreeBSD IP Alias: Setup 2 or More IP address on One NIC
by nixcraft

IP aliasing is the process of assigning more than one IP address to a network interface. This is useful for Apache web server virtual hosting or other network servers such as ftp server.

This tutorial explains how to assign one or more IP address to a single network interface under FreeBSD operating system.

It is possible to create network alias or assign 2 ip address to a single NIC under FreeBSD operating system.

Our Sample Setup
Interface name: lnc0 - IP :
Interface name: lnc0 alias - IP :
Netmask must be different otherwise you will get an error ifconfig: ioctl (SIOCAIFADDR): File exists.

Set ip alias using ifconfig command line utility
Login as the root user.

Now, use ifconfig command as follows to set alias:
# ifconfig lnc0 netmask alias

Persistent IP Alias Configuration
Edit file /etc/rc.conf to setup persistent ip aliasing option by appending following configuration, so that next time FreeBSD comes up (after restart/shutdown) it will create alias for you:
ifconfig_lnc0_alias0=" netmask"
Finally, Restart FreeBSD network service using network restart script:
# /etc/rc.d/netif restart && /etc/rc.d/routing restart

Display alias and real ip using ifconfig lnc0 command:
# ifconfig lnc0

Sample output:

lnc0: flags=8843 mtu 1500
inet6 fe80::20c:29ff:fe01:ddbd%lnc0 prefixlen 64 scopeid 0x1
inet netmask 0xffffff00 broadcast
inet netmask 0xffffSample /etc/rc.conf file with IP aliasing

Here is my /etc/rc.conf file with em0 and em1 interface with 5 aliases:

# default vsnl router interface
# Force 10Mbps for both public and private LAN interace
ifconfig_em0="inet netmask media 10baseT/UTP mediaopt full-duplex"
ifconfig_em1="inet netmask media 10baseT/UTP mediaopt full-duplex"
ifconfig_em0_alias0="inet netmask"
ifconfig_em0_alias1="inet netmask"
ifconfig_em0_alias2="inet netmask"
ifconfig_em0_alias3="inet netmask"
ifconfig_em0_alias4="inet netmask"
# static routing configuration

No comments: