我在 Debian Lenny 上运行 OpenVPN,在 OSX 上运行 Tunnelblick。我的目标是拥有一个支持 IPv6 的完全路由的 VPN。OpenVPN 服务器有一个功能正常的 6to4 设备,所以现在我的目标是让客户端通过 VPN 路由他们的 IPv6 流量。
OpenVPN 启动后,它会运行以下命令来配置其 tap0 设备以支持 IPv6:
ifconfig $dev up
ifconfig $dev add 2001:470:e910:1000::1/64
到目前为止,我一直在手动执行 OSX 方面的工作。我已经到了这里:
ifconfig tap0 inet6 2001:470:e910:1000::2
route add -inet6 default 2001:470:e910:1000::1
route add -inet6 2000:: -prefixlen 3 2001:470:e910:1000::1
使用这些命令,我可以 ping client.tap0、server.tap0 和 server.6to4,但无法获得 6to4 设备之外的任何流量。如果没有两条路由,则根本没有流量到达服务器。我没有做太多路由或 IPv6,所以我很难过。
确保您启用了 IPv6 转发 (
net.ipv6.conf.*.forwarding
sysctls),并且您不会意外地将流量隔离。此外,您是否考虑过 IPv6 无状态自动配置而不是手动配置客户端?基本上,您需要
radvd
在服务器上安装并让它在 tap0 设备上宣传您的前缀(子网)和网关。