愚蠢的错误导致了这一切,请阅读更新 5
我正在尝试使用 IPv6 设置 Linux 路由器(LXC,3.10.0-123.el7.x86_64)。
提供者是 Hetzner,我有 2 个子网,一个 /56 和一个 /64。他们已经设置了到我的 LL 地址的路由,我的默认网关是 fe80::1。
我在 sysctl.conf 中启用了 ipv6 和 ipv4 转发:
net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1
Run Code Online (Sandbox Code Playgroud)
我将 IPTables 配置为接受所有内容。
我知道这ICMPv6是用于 IPv6 中路由的主要实用程序 - 所以它不会被阻止 ;-)。我还补充道-A FORWARD -j ACCEPT。
我已将 /56 子网的第二个 (::2) ip 配置为 eth1,将 /64 的第二个 (::2) ip 配置为 eth0。
eth0 为上行接口 eth1 为 LAN 接口
所以现在是主要问题。
具有来自 /56 的 ipv6 地址的内部客户端无法 ping 外部世界,但数据包和响应被正确路由,直到我的路由器,它只是在没有任何提示的情况下丢弃数据包。
例如 ping6 ipv6.google.com 导致超时
但在路由器的上行链路上我得到:
20:43:13.350932 IP6 …Run Code Online (Sandbox Code Playgroud)