Static vs SLAAC - Static expected to be preferred?

Bjørn Mork bjorn at
Wed May 4 10:44:13 CEST 2011

Mikael Abrahamsson <swmike at> writes:

> On Thu, 28 Apr 2011, Benedikt Stockebrand wrote:
>> Ok, once more:
>> I've just checked.  Disabling Autoconf can be done with
>> Debian Sarge:
>>  In /etc/sysctl.conf
>>    net.ipv6.conf.{default|all|<ifname>}.accept_ra=0
>>      disables all autoconfiguration
>>    net.ipv6.conf.default.autoconf=0
>>      disables address autoconfiguration but not default router
>>      cconfiguration
> It still works. it should be noted though that I had to:
> net.ipv6.conf.default.accept_ra=0
> net.ipv6.conf.eth0.accept_ra=0
> net.ipv6.conf.eth1.accept_ra=0
> net.ipv6.conf.eth2.accept_ra=0
> net.ipv6.conf.eth3.accept_ra=0
> net.ipv6.conf.eth4.accept_ra=0
> because sysctl.conf seems to be run after the interface comes up so
> usually my box comes up with a EUI64 address anyway (in addition to my
> static one), that I have to remove (manually since I'm too lazy to
> script it and I reboot seldom).

Yes, the order of the procps (running "sysctl -p /etc/sysctl.conf") and
networking (running "ifup -a") init scripts aren't guaranteed. There's
no dependency defined between them.  A quick test on a few Debian
squeeze systems with dependency based boot shows that they often end
up with the same boot priority, making the networking script run first
due to "n" < "p".

You can verify this by looking at the priorities:

  ls -l /etc/rcS.d/*{procps,networking}

The safest bet is still to put 


in /etc/sysctl.conf and 

  pre-up sysctl -w net.ipv6.conf.$IFACE.accept_ra=0

in any auto interface stanza in /etc/network/interfaces 

Also note that enabling IPv6 forwarding will change the default
router/host behaviour of all IPv6 interfaces.  


More information about the ipv6-ops mailing list