I'm experiencing a strange issue, and I don't really know how to diagnose it, or how to fix it.
My problem is, that the static ipv6 assignment that used to work suddenly isn't applied any more at boot, but still does work when running ifup manually. I've checked my log files, but they show that also on boot ifupdown is being used:
Apr 16 20:57:07 [censored] ifplugd(eth0): Executing '/etc/ifplugd/ifplugd.action eth0 up'.
As ipv4 kept working, it took a while for me to realize, so sadly I can't pinpoint the exact reason.
I think that the issue is caused by the replacement of my router, which also functions as a dhcp server, which might now send more or less information than my previous router did. Another thing I changed recently is that I installed a few additional services (hdparm, sdparm, nfs-kernel-server, minidlna), what might have messed with the order in which boot scripts are being executed.
My raspbian installation is pretty old, and has been upgraded from Wheezy to Jessie, so it still uses the "old" way to configure network interfaces, /etc/network/interfaces. It doesn't have dhcpcd installed, and instead relies on dhclient for dhcp.
Here is my /etc/network/interfaces that doesn't apply an ipv6 address any more, but used to do it just fine a few days ago...
auto lo iface lo inet loopback iface eth0 inet dhcp iface eth0 inet6 static address [censored] netmask 64
As said, when I run
ifup --force eth0, it does apply the ipv6 address. However, on boot, it doesn't get applied. Funny is, that if I set a static ipv4 address as well, both are being applied:
auto lo iface lo inet loopback #iface eth0 inet dhcp iface eth0 inet static address 192.168.1.1 netmask 24 gateway 192.168.1.253 mtu 1492 ifac eth0 inet6 static address [censored] netmask 64
If you need it, here's the complete logfile.
Currently I'm using the static configuration as a workaround, but I'd really like to know what's going on.