Change in /etc/rc.conf:ipv6_defaultrouter

Kirk Strauser kirk at strauser.com
Sat Jun 28 17:06:38 UTC 2008


I've been using IPv6 on my FreeBSD-7 host for quite some time.  My  
IPv6 router is a different machine, so the FreeBSD server is just a  
regular host on the network.

This morning I discovered that I couldn't pass packets to hosts  
outside my LAN from FreeBSD, although an OS X host on the same LAN had  
no problems pinging www.kame.net.

I had this in my /etc/rc.conf:

     ipv6_ifconfig_fxp0="2001:470:a80a:1:2d0:b7ff:fe0e:3a4a prefixlen  
64"
     ipv6_defaultrouter="fe80::213:10ff:fe79:137a"

Whenever I'd try to ping6 my local router, I'd get:

     ping6: UDP connect: Network is unreachable

Also, the routing table seemed a bit screwy and was sending everything  
to lo0:

     $ netstat -nr -f inet6
     [...]
     default                           fe80::213:10ff:fe79:137a  
UGS        lo0

I found two workarounds:

     ipv6_defaultrouter="2001:470:a80a:1::1"

and

     ipv6_defaultrouter="fe80::213:10ff:fe79:137a%fxp0"

I'm leaning slightly toward the latter, as it still uses the  
guaranteed-configured link local addresses, but the latter works OK  
too (although it didn't when I originally configured this many months  
ago, which is why I was using link local routing in the first place).

So, I'm not too sure which is right or wrong, but I definitely know  
that something has changed recently.  Consider this a heads-up if you  
want.

-- 
Kirk Strauser


More information about the freebsd-questions mailing list