Without this annoying dribbler thing.
- RANGE = /64
- EXT_IF = external interface
- IPV6 = Any IPv6 in RANGE
- DUID = dhcp client id. Find it in console.online.net
iface EXT_IF inet6 static
address IPV6
netmask 64
accept_ra 1
pre-up sleep 5 # because dhclient will fail if called too early
# -1 parameter to avoid infinite fail
pre-up dhclient -1 -cf /etc/dhcp/dhclient6.conf -pf /run/dhclient6.EXT_IF.pid -6 -P EXT_IF
pre-down dhclient -x -pf /run/dhclient6.EXT_IF.pid
With a timeout to avoid infinite fail:
interface "EXT_IF" {
send dhcp6.client-id DUID;
request;
timeout 10;
}
With networking restart: ifdown EXT_IF && ifup EXT_IF
Without:
sysctl net.ipv6.conf.EXT_IF.accept_ra=1
sysctl net.ipv6.conf.EXT_IF.autoconf=0
dhclient -cf /etc/dhcp/dhclient6.conf -pf /run/dhclient6.EXT_IF.pid -6 -P EXT_IF
ifconfig EXT_IF inet6 add IPV6/64
In /etc/network/interfaces, in the "iface EXT_IF inet6 static" section:
up ifconfig eth0 inet6 add ANOTHER_IPV6/64
down ifconfig eth0 inet6 del ANOTHER_IPV6/64