How can I set /etc/network/interfaces to just autoconfigure ipv6?

I have a machine that I just want to run ipv6 on, no ipv4.

I want to use an autoconfigured ipv6 address - I have radvd running on my network and it is working fine.

However there is no config in /etc/network/interfaces that I can set to do that. It supports static ipv6, or if I create an ipv4 address on the interface it will set ipv6, but I dont want to.

Currently reduced to bringing up the interface manually in /etc/rc.local but its messy.

Just want to be able to add "iface eth0 inet6 auto" to /etc/network/interfaces" really.


Solution 1:

The magical /etc/network/interfaces keyword when you don't want any configuration is manual. If I understand your question correctly, you will want to define eth0 the following way.

auto eth0
iface eth0 inet manual
iface eth0 inet6 auto

Solution 2:

Ubuntu 11.10 (Oneiric) was the first release to support the auto method on IPv6 interfaces (compare the 11.10 interfaces manpage to the 11.04 interfaces manpage). If you aren't running 11.10 or later and can't upgrade, your rc.local hack is probably the simplest way, although I seem to recall the DHCP method working on IPv6 interface definitions. This requires a DHCPv6 server, of course.