Should I be using ipv6_activate_all_interfaces or ip6addrctl_policy="ipv6_prefer"

Jonathan Price freebsd at jonathanprice.org
Wed Aug 27 06:31:25 UTC 2014


On 2014-08-27 01:40, Peter Wemm wrote:
> On Tuesday 26 August 2014 10:40:27 freebsd at jonathanprice.org wrote:
>> Hello,
>>
>> I am configuring a server with IPv4 and IPv6 addresses and have noticed that
>> FreeBSD seems to be preferring IPv4, such as when establishing SSH
>> connections.
>>
>> After reading through /etc/defaults/rc.conf, and later /etc/rc.d/ip6addrctl
>> I have come to the conclusion that I have two ways to tell FreeBSD to
>> prefer IPv6:
>>
>> 1) Add ipv6_activate_all_interfaces to /etc/rc.conf
>> 2) Add ip6addrctl_policy="ipv6_prefer" to /etc/rc.conf
>>
>> Could anybody with a little more knowledge on the matter explain to me which
>> of the two options is more preferential?
>
> They both do different things.
>
> The activate knob is to enable ipv6 on an interface.  To oversimplify it, if
> you configure an address on an interface, it is "enabled".  However, this
> switch enables this on all the rest of the interfaces, even the ones you
> didn't configure.
>
> ip6addrctl* affects things like hostname lookups to sort the addresses returned
> to the caller.
>
> They are different things entirely.  I think you are expecting the behavior
> that ip6_prefer policy gives you.  That's what we use in the freebsd.org
> cluster to have it use ipv6 where possible.
>

Hi, and thanks for the response.

Would it be possible to go into a little detail as to what 
ipv6_activate_all_interfaces="YES" does to interfaces which don't 
explicitly have an address configured? I can't appear to find much 
information on this option.

However, it does sound like for my purposes it would make more sense to 
use ip6addrctl_policy="ipv6_prefer" as that is more explicitly the 
feature I want, rather than getting it inadvertently through the other knob.

As to Kevin's question, I have working IPv6 connectivity both with and 
without the knobs in mention, it's just that certain applications which 
can use both IPv4 and IPv6 (such as SSH), won't use IPv6 unless 
explicitly told to (with -6 in this example), or one of the above 
tunables is used.



More information about the freebsd-net mailing list