小编Ikk*_*kke的帖子

通过 openvpn 隧道路由公共 ipv6 流量

我想要做的是通过 vpn 隧道路由 IPv6 流量。这样,我应该能够在不支持 IPv6 的网络中使用 IPv6。

我有一个分配了 IPv6 块的 VPS。这个块的一部分我想用于 openvpn 客户端。我想到的范围是2001:db8::111:800:0/112(前缀是匿名的),因为 openvpn 只支持 /64 和 /112 作为子网。

通过隧道的 IPv6 已经在工作,从客户端,我可以 ping 服务器 ( 2001:db8::111:800:1),也可以连接服务器上的接口 (2001:db8::111:100:1002001:db8:216:3dfa:f1d4:81c0)。

但是,当尝试从客户端 ping google.com 时,我没有收到任何响应(ping 超时)。为了调试这个问题,我使用 tcpdump 来捕获服务器上的流量,我可以看到 ping 数据包出去,但没有回复回来。向 ip6tables 添加日志规则显示相同,数据包出去,但没有进入。

我使用了一个在线跟踪路由工具,它从我的服务器获取超时。我也试过直接在接口上设置ip,确实导致ip( 2001:db8::111:800:1001)可达,所以我认为这是路由问题。

我已经通过/proc/sys/net/ipv6/conf/all/forwarding. ip6tables 对所有链都有策略允许。

我的问题是,Linux 到底需要什么才能接受未分配给接口的 ip 的数据包并进一步路由它?仅仅存在一条路线似乎还不够。

这是我的客户端和服务器的设置。如果需要更多信息,请告知。

客户

# ip -6 addresses
10: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qlen 100
    inet6 2001:db8::111:800:1001/112 scope global 
       valid_lft forever preferred_lft forever …
Run Code Online (Sandbox Code Playgroud)

routing ipv6 openvpn

13
推荐指数
1
解决办法
2万
查看次数

标签 统计

ipv6 ×1

openvpn ×1

routing ×1