Debian – How to update the /etc/network/interfaces file so the box comes up with ONLY IPv6 self-assigned address

debianinterfaceipv6

I apologize for this blatantly newbie-ish question, but I'd like to do this "the right way" and not just muck about until it seems to work, and the documentation I have doesn't seem to address this case.

Currently, a Debian Linux box that I am working with has the following /etc/network/interfaces file:

auto lo
iface lo inet loopback
auto bond0
iface bond0 inet dhcp
pre-up modprobe bonding mode=active-backup miimon=100 primary=eth0
pre-up ip link set bond0 up
pre-up /sbin/ifenslave bond0 eth0
pre-up /sbin/ifenslave bond0 eth1

The above works fine, and mostly does what I want — on boot, the box comes up and the two Ethernet jacks are used for failover/redundancy (i.e. the box uses the first jack for communications if it is working, otherwise it uses the second jack).

However, for my purposes I don't want to use IPv4 or DHCP. I'd like the box to come up with bond0 using ONLY the box's IPv6 self-assigned address (i.e. fe80::whatever:it:is) and no other IP addresses (well… loopback is okay). What's the proper way to specify this? Should I change "iface bond0 inet dhcp" to "iface bond0 inet6" ? Remove that line completely? Something else? Ideally I'd like to be able to use the exact same file on multiple boxes without modifying it for each one, btw.

Best Answer

I don't have experience with your particular bonding device, but I tried out the following test in a VM on Debian Lenny with a single NIC (eth0). In /etc/network/interfaces:

auto eth0
iface eth0 inet manual
    up /sbin/ifconfig eth0 0.0.0.0

After bringing up eth0, here's what I get from /sbin/ifconfig eth0:

eth0       Link encap:Ethernet  HWaddr 08:00:27:15:8e:d7
           inet6 addr: fe80::a00:27ff:fe15:8ed7/64 Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           ...

So I have an IPv6 Link-local address (derived from the MAC address), and no IPv4 address. I am able to ping6 another machine on my local network by its Link-local address, and vice versa, so the interface appears to work.

So, to sum up: Try setting the iface line for your bond0 interface to:

iface bond0 inet manual

and add this line to the end of its configuration stanza:

up /sbin/ifconfig bond0 0.0.0.0

I have no idea whether this is "the right way" to do it, but it works for my simplified case.