我有一台 Linux 机器,它有两个以太网接口,其中一个通过转换器连接到 VDSL。PPPoE 连接工作正常,但路由不起作用。我已设置了正确的内核配置参数:
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.ppp0.accept_ra = 2
我可以通过 IPv4 甚至 IPv6 从路由器 ping 到 Internet 上的任何主机。但是,从其他主机 ping 只能通过 IPv4 进行。然后我发现了一些可能很重要的东西,我想:
root@router$ ip -6 route show
...
default via fe80::427c:7dff:fee6:7f03 dev ppp0 metric 1024 pref medium
PPPoE 连接使用链路本地地址配置默认路由。这会干扰路由吗?是将链路本地地址替换为完整的 IPv6 地址下一跳 (最近的提供商的)路由器?
或者我是否需要明确转发 IPv6 需要的一些广告或请求?
答案1
有趣的是,将数据包发送到网络上的默认网关并不需要网关的 IP 地址。源地址将是您的机器的地址,而目标地址是最终目的地的地址。通过默认网关发送数据包发生在第 2 层:以太网上的 MAC 地址,或者在通过点对点链接(如 PPP)发送数据包时仅发送到连接的另一端。
因此,只要您的下一跳解析为正确的 MAC 地址或点对点接口,一切就都好了。在数据包中,网关的 IPv4/IPv6 地址永远不会被使用。