我从SixXS获得了一个IPv6隧道,我想在本地的FreeBSD 9.0上使用它。 我已经用sixxs-aiccubuild立了Aiccu隧道,rtadvd已经在工作了。
只要我使用gif0通道接口,我有v6连接。 但是在re0和gif0之间似乎存在路由问题。
$ ping6 example.com [...] 16 bytes from 2001:500:88:200::10, icmp_seq=0 hlim=53 time=156.963 ms $ ping6 -I re0 example.com ping6: sendmsg: No route to host ping6: wrote example.com 16 chars, ret=-1
netstat -rn给我
2001:6f8:900:xxx::/64 link#6 U re0 2001:6f8:900:xxx::1 2001:6f8:900:xxx::2 UH gif0 2001:6f8:900:xxx::2 link#13 UHS lo0 2001:6f8:900:xxx::3 link#6 UHS lo0
在这一点上,变得非常清楚,我必须在:: 3(这是机器的静态v6地址)和:: 2(这是我的隧道的末端)之间build立某种路由。
我如何设置缺失的链接?
编辑正如Michael所说的,我在rc.conf和rtadvd中select了错误的范围。 我现在已经将它们更改为正确的子网2001:6f8:900:yxxx ::。 但是我仍然有同样的问题。 我的rc.conf如下所示:
ipv6_enable="YES" ipv6_interfaces="auto" ipv6_activate_all_interfaces="YES" ipv6_gateway_enable="YES" ipv6_defaultrouter="2001:6f8:900:xxx::2" ipv6_ifconfig_re0="2001:6f8:900:yxxx::1 prefixlen 64" sixxs_aiccu_enable="YES" rtadvd_enable="YES" rtadvd_interfaces="re0" ip6addrctl_enable="YES" ip6addrctl_policy="ipv6_prefer" gateway_enable="YES
我究竟做错了什么?
你这样做是错的。
您的点对点隧道仅使用两个地址:/ 64,2001 2001:db8:900:32::1即SixXS的结尾)和2001:db8:900:32::2 ,这是您的最终目的。 该/ 64中不应该使用其他地址。
您应该使用分配的单独的/ 64或/ 48子网(例如2001:db8:900:8032::/64 )来configuration本地networking(和rtadvd)。
(还要确保你在/etc/rc.conf有gateway_enable="YES" 。)
看来你也明确地发送你的ping到错误的接口。 我不知道为什么你会期望这个工作。 没有路由到您的路由器通过re0 2001:500:88:200 :: 10; 该地址只能通过gif0访问。 除非你有没有提到的第二个路由器…