Wireguard 上的 IPv6 转发

问题描述

过去几天,我一直试图在 Scaleway 的 DediBox 上设置 Wireguard VPN,但收效甚微。首先,IPv4 正在运行,所以至少我没有绝望地迷失。目前,我的同行正在使用私有 IPv4 地址与服务器通信,然后服务器使用 iptables 将它们定位到自己的公共 IP 上。效果很好。现在我也想设置 IPv6,但不使用 nat。我想使用 ip6tables 转发分配给我的对等方的公共 IPv6 地址,并使用这些地址通过互联网,而不是像 IPv4 一样使用 Masquerade 选项。

到目前为止,我在该领域取得的成功有限。我在 GNS3 中设置了一个小测试环境,如果没有 Wireguard,绝对可以使用 ip6tables 路由 IPv6 地址(只是为了找出要制定的规则,我对 iptables 有点陌生)。现在我尝试在我的配备了wireguard 的服务器上做同样的事情,但无济于事。我的 PostUp 和 PostDown 目前如下(审查我的 IPv6 地址):

PostUp:
iptables -A FORWARD -o wg0 -j ACCEPT
iptables -t nat -A POSTROUTING -o enp0s20 -j MASQUERADE
ip6tables -t filter -I INPUT 1 -s 2001:db8:abcd:100::/56 -j ACCEPT 
ip6tables -t filter -I INPUT 2 -s 2001:db8:abcd:101::/64 -j ACCEPT
ip6tables -t filter -I FORWARD 1 -o wg0 -j ACCEPT
ip6tables -t filter -I FORWARD 2 -i wg0 -j ACCEPT

PostDown:
iptables -D FORWARD -o wg0 -j ACCEPT
iptables -t nat -D POSTROUTING -o enp0s20 -j MASQUERADE
ip6tables -t filter -D INPUT -s 2001:db8:abcd:100::/56 -j ACCEPT
ip6tables -t filter -D INPUT -s 2001:db8:abcd:101::/64 -j ACCEPT
ip6tables -t filter -D FORWARD -o wg0 -j ACCEPT
ip6tables -t filter -D FORWARD -i wg0 -j ACCEPT

分配给我的主接口 (enp0s20) 的公共 IPv6 范围是 2001:db8:abcd:100::/56,而我想将 2001:db8:abcd:101::/64 用于我的 Wireguard 对等点。

另一件奇怪的事情是,由于某种原因,我似乎可以在这个网络上的对等点之间进行 ping 操作,但这可能是侥幸,不能完全确定。我目前在这个网络上有我的工作站和智能手机,并且在我的工作站和智能手机之间使用以下命令在 Windows 上运行正常:
ping -6 -S 2001:db8:abcd:101::2 2001:db8:abcd:101::3
我的工作站以 2 结尾,我的智能手机以 3 结尾。

我完全不知所措,谁能帮我解决这个问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)