无法从自己的 ipv6 子网访问 Web 服务器,但可以从外部访问

无法从自己的 ipv6 子网访问 Web 服务器,但可以从外部访问

我对家庭局域网中实际的 ipv6 设置感到非常困惑。我从 ISP 获得一个 ipv6 /54 前缀。该前缀通过 ISP 提供的 DHCPv6 分配给路由器的 WAN 接口。然后,路由器的 wlan0 接口应通过 radvd 将此前缀通告到我的局域网中,以便主机可以执行 SLAAC。配置如下:

interface wlan0 {
    AdvSendAdvert on;
    MaxRtrAdvInterval 9;
    AdvReachableTime 2000; 
    prefix ::/64 {
        AdvAutonomous on; 
        DeprecatePrefix on; 
    };
    route ::/0 {
    };
};

从现在起,一切都运行正常。我的 LAN 中的所有主机都获得了 ipv6 地址,而 whatismyip.com 等网站显示主机的 ipv6 连接工作正常。此外,我可以 ping ipv6 站点,例如 ipv6.google.com。

但是。我的 LAN 上的路由/广告 PC 运行 apache2 网络服务器。此服务器已启动并运行,并分配给路由器端口 80 上的 WAN 接口 IP。现在我可以使用以下方法测试互联网的可达性:ipv6proxy.net。一切正常!但是当我想从 LAN 中的主机 ping 此 IP 时,我收到了一条Destination unreachable: Address unreachable消息...

这是路由问题吗?还有什么可能?

答案1

我终于找到了问题所在。事实上,这是一个路由问题。默认情况下,Linux 内核不接受来自 ICMPv6 消息的路由信息​​,所以我把

echo 128 > /proc/sys/net/ipv6/conf/all/accept_ra_rt_info_max_plen

或者,我可以使用以下方法通过 wlan-interface 手动设置路由:

route -6 add <prefix of WAN interface>/64 gw <address of wlan0 interface>

在位于 LAN 中的客户端上

相关内容