Multiple IP addresses on Debian

Quick post. If you have multiple IP addresses (i.e. a range) assigned to you server, and you want to listen on all of them (i.e. multiple SSL sites), then rather than using the ancient eth0:1 syntax, you can hack /etc/network/interfaces to use iproute2 properly.

Assuming the IP, with the extra range of (yes these extra ranges often ignore class-boundries):

auto eth0
iface eth0 inet static
    # Extra IPs:
    post-up for last in `seq 110 118`; do ip addr add 10.5.4.$last/32 dev $IFACE; done || true
    pre-down for ip in `ip addr show dev $IFACE | sed -n ‘s@.* inet \([0-9.]*/32\) .*@\1@ p’`; do ip addr del $ip dev $IFACE; done || true

Yes, it’s ugly as shit, but I can’t think of a neater way to do it.

Update: Better solution


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.


[...] Multiple IP addresses on Debian [...]

Ubuntu (probably Debian too) r

Ubuntu (probably Debian too) runs scripts in the sub-directories

Oops... sorry... "if-pre-up.d"

Oops... sorry...
"if-pre-up.d", if-up.d", "if-down.d" and "if-post-down.d" of /etc/network. I create a script called /etc/network/if-up.d/routes for additional IP addresses and special routes, based on this template:

if [ "$IFACE" = "eth0" ]; then
# Do "ip addr add" and "ip route add" here

I have what I think is a prett

I have what I think is a prettier solution at

addresses script

This might be a better solution:

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
By submitting this form, you accept the Mollom privacy policy.