Ubuntu – How to add an additional IPv6 address to /etc/network/interfaces


this question How do I add an additional IP address to /etc/network/interfaces? mostly asks what i want except that i want to add more IPv6 addresses in the same interface eth0 without incrementing to eth0.1 and so on. the ifconfig command does IPv6 like ifconfig eth0 add ... so … how can i add more IPv6 addresses to eth0?

Best Answer

In the question you reference, the second answer shows the equivalent solution for IPv4. In the case of IPv6, the /etc/network/interfaces file should contain something like this:

iface eth0 inet6 static
  address 2001:db8:1:2::2
  netmask 64
  # Add additional IPv6 addresses when $IFACE goes up
  up ip -6 addr add 2001:db8:1:2::3/64 dev $IFACE
  up ip -6 addr add 2001:db8:1:2::4/64 dev $IFACE
  # Remove them when $IFACE goes down
  down ip -6 addr del 2001:db8:1:2::3/64 dev $IFACE
  down ip -6 addr del 2001:db8:1:2::4/64 dev $IFACE

You will need the iproute2 package installed, but you should use ip instead of ifconfig anyway.

For adding a whole /64 to an interface: There are some Q&As in serverfault.se, like "Adding a whole IPv6 /64 block to an network interface on debian" or "Can I bind a (large) block of addresses to an interface?". Maybe they can help you.