How do I update my /etc/network/interfaces file so the box comes up with ONLY IPv6 self-assigned address?
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.
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.
You really don't want to be doing your bond configuration by hand... instead, use the bonding-specific config parameters available:
iface bond0 inet6 manual
slaves eth0 eth1
bond_mode active_backup
bond_miimon 100
bond_primary eth0
The manual
on the iface
line means that no explicit configuration of the IP/IPv6-level attributes of the interface will be configured.