ipv6 routing

Dan Langille dan at langille.org
Fri Oct 1 04:18:47 UTC 2010


On 9/30/2010 11:36 PM, Dan Langille wrote:
> On 9/30/2010 11:06 PM, Dan Langille wrote:
>> Hi folks,
>>
>> I'm setting up IPv6 at home. On the gateway, I can ping6 just fine. But
>> not from within the LAN.
>>
>> I have:
>>
>> Routed /48: 2001:470:8a86::/48
>> Routed /64: 2001:470:1f07:b80::/64
>>
>> On the gateway, I have this:
>>
>> # cat /etc/rtadvd.conf
>> fxp1:\
>> :addrs#1:addr="2001:470:1f07:b80::":prefixlen#64:tc=ether:
>>
>> Where: fxp1 is on my internal LAN which has 2001:470:1f07:b80::1 as an
>> IP address. (you should be able to ping6 that).
>>
>> Starting rtadvd I get:
>>
>> # /usr/sbin/rtadvd -dDf -c /etc/rtadvd.conf fxp1
>> rtadvd[33958]: <getconfig> fxp1 isn't defined in the configuration file
>> or the configuration file doesn't exist. Treat it as default
>>
>> So why that message? And is it the cause of the 'no route to host'
>> message below?
>>
>> rtadvd[33958]: <ra_timer_update> RA timer on fxp1 is set to 16:0
>> rtadvd[33958]: <main> set timer to 15:998571. waiting for inputs or
>> timeout
>> rtadvd[33958]: <main> set timer to 0:4276. waiting for inputs or timeout
>> rtadvd[33958]: <ra_timeout> RA timer on fxp1 is expired
>> rtadvd[33958]: <ra_output> send RA on fxp1, # of waitings = 0
>> rtadvd[33958]: <ra_timer_update> RA timer on fxp1 is set to 16:0
>> rtadvd[33958]: <main> set timer to 16:0. waiting for inputs or timeout
>> rtadvd[33958]: <ra_input> RA received from 2001:470:1f07:b80::1 on fxp1
>> rtadvd[33958]: <main> set timer to 15:994315. waiting for inputs or
>> timeout
>>
>> From a client on the LAN, I try this:
>>
>> $ ping6 ipv6.google.com
>> ping6: UDP connect: No route to host
>>
>> From the same client (where em0 is the nic)
>>
>> $ netstat -nr -f inet6 | grep em0
>> fe80::%em0/64 link#1 U em0
>> fe80::21b:21ff:fe51:ab2d%em0 link#1 UHS lo0
>> ff01:1::/32 fe80::21b:21ff:fe51:ab2d%em0 U em0
>> ff02::%em0/32 fe80::21b:21ff:fe51:ab2d%em0 U em0
>>
>> Can you see something I'm doing wrong?
>
> I am now convinced the problem is rtadvd. Gateway and internal box are
> both FreeBSd 8.1-stable.
>
> After I issued this command on the server:
>
> # route -n add -inet6 2001:470:1f07:b80::/64 -interface fxp1
> add net 2001:470:1f07:b80::/64: gateway fxp1
>
> And this one on the internal box:
>
> $ sudo route add -inet6 default 2001:470:1f07:b80::1
> Password:
> add net default: gateway 2001:470:1f07:b80::1
>
> ... things started working:
>
> $ ping6 ipv6.google.com
> PING6(56=40+8+8 bytes) 2001:470:1f07:b80::2 --> 2001:4860:800f::63
> 16 bytes from 2001:4860:800f::63, icmp_seq=0 hlim=57 time=23.466 ms
> 16 bytes from 2001:4860:800f::63, icmp_seq=1 hlim=57 time=23.221 ms
> ^C
> --- ipv6.l.google.com ping6 statistics ---
> 2 packets transmitted, 2 packets received, 0.0% packet loss
> round-trip min/avg/max/std-dev = 23.221/23.343/23.466/0.123 ms
>
> Would you agree that rtadvd may be the issue?

changing the conf file to this helps with the startup messages:

# cat /etc/rtadvd.conf
fxp1:\
     :addr="2001:470:1f07:b80::":prefixlen#64:


In this regard, the handbook may require updating.

However, clients on my LAN are unable to get any IPv6 routing 
information despite having ipv6_enable="YES" in /etc/rc.conf.

Running rtsol on the client doesn't get it an IPv6 address.  However, we 
can see that rtadvd is processing the requests;

  # /usr/sbin/rtadvd -dDf -c /etc/rtadvd.conf fxp1
rtadvd[40477]: <ra_timer_update> RA timer on fxp1 is set to 16:0
rtadvd[40477]: <main> set timer to 15:998900. waiting for inputs or timeout
rtadvd[40477]: <main> set timer to 0:4953. waiting for inputs or timeout
rtadvd[40477]: <ra_timeout> RA timer on fxp1 is expired
rtadvd[40477]: <ra_output> send RA on fxp1, # of waitings = 0
rtadvd[40477]: <ra_timer_update> RA timer on fxp1 is set to 16:0
rtadvd[40477]: <main> set timer to 16:0. waiting for inputs or timeout
rtadvd[40477]: <ra_input> RA received from 2001:470:1f07:b80::1 on fxp1
rtadvd[40477]: <main> set timer to 15:994797. waiting for inputs or timeout
rtadvd[40477]: <main> set timer to 0:4517. waiting for inputs or timeout
rtadvd[40477]: <ra_timeout> RA timer on fxp1 is expired
rtadvd[40477]: <ra_output> send RA on fxp1, # of waitings = 0
rtadvd[40477]: <ra_timer_update> RA timer on fxp1 is set to 16:0
rtadvd[40477]: <main> set timer to 16:0. waiting for inputs or timeout
rtadvd[40477]: <ra_input> RA received from 2001:470:1f07:b80::1 on fxp1
rtadvd[40477]: <main> set timer to 15:994119. waiting for inputs or timeout
rtadvd[40477]: <rs_input> RS received from fe80::21b:21ff:fe51:ab2d on fxp1
rtadvd[40477]: <main> set timer to 0:490712. waiting for inputs or timeout
rtadvd[40477]: <ra_timeout> RA timer on fxp1 is expired
rtadvd[40477]: <ra_output> send RA on fxp1, # of waitings = 1
rtadvd[40477]: <ra_timer_update> RA timer on fxp1 is set to 518:0
rtadvd[40477]: <main> set timer to 518:0. waiting for inputs or timeout
rtadvd[40477]: <ra_input> RA received from 2001:470:1f07:b80::1 on fxp1
rtadvd[40477]: <main> set timer to 517:994623. waiting for inputs or timeout
rtadvd[40477]: <rs_input> RS received from fe80::21b:21ff:fe51:ab2d on fxp1
rtadvd[40477]: <main> set timer to 0:426786. waiting for inputs or timeout
rtadvd[40477]: <ra_timeout> RA timer on fxp1 is expired
rtadvd[40477]: <ra_output> send RA on fxp1, # of waitings = 1
rtadvd[40477]: <ra_timer_update> RA timer on fxp1 is set to 239:0


-- 
Dan Langille - http://langille.org/


More information about the freebsd-net mailing list