stable/9 preferring IPv4 over IPv6, what changed?
Ulrich Spörlein
uqs at spoerlein.net
Mon Dec 12 18:58:32 UTC 2011
On Sun, 2011-12-11 at 23:52:33 +0100, Dimitry Andric wrote:
> On 2011-12-11 23:33, Ulrich Spörlein wrote:
> > long story short: telnet foo on stable/8 will first try connecting via
> > IPv6, then via IPv4 (foo has A and AAAA records). On stable/9 it's the
> > other way round.
> >
> > This trips up my setup, where a bunch of hosts (some behind NAT) can all
> > talk to each other over their IPv6 addresses (some are tunneled), but
> > cannot do so via IPv4.
> >
> > Is this due to changes in bind or the resolver?
>
> Most likely due to changes in the IPv6 startup scripts and rc.conf
> settings. The behaviour seems to be determined by multiple settings in
> rc.conf, first of all:
>
> ip6addrctl_policy={ipv4_prefer|ipv6_prefer|AUTO}
>
> where the default value is AUTO. Values of ipv4_prefer and ipv6_prefer
> do what you expect them to.
>
> In case of AUTO, and if you don't have /etc/ip6addrctl.conf with
> explicit settings, /etc/rc.d/ip6addrctl checks the value of
> ipv6_activate_all_interfaces. If it is YES, IPv6 is preferred, if it is
> NO or unset, IPv4 is preferred.
>
> What are your IPv6-related settings in rc.conf?
Well, I had ipv6_enable set from the stable/8 days. The warnings and the
code make me believe it should behave as if ipv6_activate_all_interfaces
was set, somehow that's not the case, though.
I've now set ip6addrctl_policy and everything is back working again.
Thanks!
Uli
More information about the freebsd-stable
mailing list