我正在尝试在FreeBSD 11服务器上设置一些 IPV6 地址,有人告诉我将此 IP 用作网关:
2001:4ba0:fffd:1:beef::1 /128
我的地址是:
2001:4ba0:fffd:0063::0 /64
我试过这个:
ipv6_activate_all_interfaces="YES"
ipv6_defaultrouter="2001:4ba0:fffd:1:beef::1"
ifconfig_bge0_ipv6="inet6 2001:4ba0:fffd:0063::1 prefixlen 64"
但我收到这条消息:
route: writing to routing socket: Network is unreachable
add net default: gateway 2001:4ba0:fffd:1:beef::1 fib 0: Network is unreachable
通过这样做,npd -a
我得到了这个:
> ndp -a
Neighbor Linklayer Address Netif Expire S Flags
2001:4ba0:fffd:63::1 2c:44:fd:9a:3f:90 bge0 permanent R
fe80::1%bge0 28:92:4a:cd:08:18 bge0 22h8m42s S R
fe80::2a92:4aff:fecd:818%bge0 28:92:4a:cd:08:18 bge0 23h27m31s S R
fe80::2e44:fdff:fe9a:3f90%bge0 2c:44:fd:9a:3f:90 bge0 permanent R
然后我尝试用作默认路由器fe80::1.
:
ipv6_activate_all_interfaces="YES"
ipv6_defaultrouter="fe80::1%bge0"
ifconfig_bge0_ipv6="inet6 2001:4ba0:fffd:0063::1 prefixlen 64"
当使用链路本地 fe80::1
地址作为网关时,IPV6 工作。
我想知道使用链接本地地址作为网关的优点/缺点是什么,以及如何使用提供的网关或使用两者都是一样的?
您获得的 IPv6 网关地址 (
2001:4ba0:fffd:1:beef::1
) 不在您获得的子网内 (2001:4ba0:fffd:0063::/64
),因此您的机器抱怨该网络无法访问是正确的。使用本地链路地址作为默认网关通常是一个很好的解决方案,只要网关的本地链路地址不变。该地址
fe80::1
看起来像一个手动配置的地址,这表明它是故意提供的,因此可能是稳定的。网关使用什么地址并不重要。该地址的唯一用途是确定网关的第 2 层 (MAC) 地址,以便可以在那里发送数据包。无论是通过查找全局地址还是使用链路本地地址来找到 MAC 地址,对于路由的实际数据包都没有任何区别。