Tip of the Trade: Assign Multiple Addresses to a Network Interface

Monday Jun 16th 2008 by Carla Schroder

Still using ifconfig and route commands? Today's network environments require functionality beyond their capabilities. Consider using the ip command, which is part of the iproute2 suite of TCP/IP networking utilities, and is trying to muscle in.

The ip command is part of the iproute2 suite of TCP/IP networking utilities. It keeps trying to replace the old familiar ifconfig and route commands, which do what they do splendidly but are a bit limited for today's network environments. One thing ip can do that ifconfig cannot is assign multiple addresses to a single network interface. ifconfig can assign multiple aliases, such as eth0:0, eth0:1, and so forth, but then you must give each alias a separate configuration as though they are separate physical interfaces. ip adds addresses to a single interface like this:

# ip addr add brd + dev eth0
# ip addr add brd + dev eth0

brd + means "automatically set the broadcast address." View the results with this command:

$ ip addr show eth0
2: eth0:  mtu 1500 qdisc noop qlen 1000
link/ether 00:03:6d:00:83:cf brd ff:ff:ff:ff:ff:ff
inet brd scope global eth0
inet brd scope global eth0

If you run ifconfig to check your addresses, it will see only the first one.

This is a great way to get access to multiple subnets without having to create a herd of new configurations, or install multiple network interface cards. Another practical use for this is accessing a new server or router for the first time. Typically, these come with a default IP address. If it's on a different subnet, but on the same switch, you can quickly add a compatible address to your workstation and log in to the new device. When you're finished, remove the unwanted addresses like so:

# ip addr del dev eth0

man ip is the best and most complete reference.

Mobile Site | Full Site
Copyright 2017 © QuinStreet Inc. All Rights Reserved