我的 ISP 目前不支持 IPv6,我正在尝试为家里的所有计算机设置一个公共 IPv6 地址范围。
我一直在关注指导在设置 wireguard 后,我能够设置 IPv4 VPN。但是出于某种原因,我无法弄清楚如何为对等点分配公共 IPv6 范围。
这是我的服务器的 wg.conf。我不太擅长使用 iptables,但我注释掉了 ip6tables 命令,因为我不想转换地址:
[interface]
ListenPort = 1194
PrivateKey = AMUT1f04Ej4gBquVz9xw/r0jdUFBVDBFCsdNxO0pFXY=
# PostUp = iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE; ip6tables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
PostUp = iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
# PostDown = iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE; ip6tables -t nat -D POSTROUTING -o ens3 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE
[Peer]
PublicKey = YNOhDK0kllJEuGIScYpKbvKVBhRiHdo23UB4ydrk7wg=
AllowedIPs = 10.66.66.3/32,<Public IPv6>::56/128
这是我的客户的 wg.conf:
[Interface]
PrivateKey = KJITzQmb8xdQNMw1FLEzAXrEee4khKNssgGlgVN1CmY=
Address = 10.66.66.3/24,<Public IPv6>::56/128
[Peer]
PublicKey = nXWR6FfgzIh7HfNaQE/91X6rSlQLLrfYvvzgE4grvwA=
Endpoint = <Public IPv4>:1194
AllowedIPs = 0.0.0.0/0,::/0
以下是我的 VPS 的 ifconfig 输出:
# ifconfig
ens3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet <Public IPv4> netmask 255.255.255.255 broadcast 0.0.0.0
inet6 fe80::f816:3eff:feb1:1c0 prefixlen 64 scopeid 0x20<link>
inet6 <Public IPv6>::55 prefixlen 64 scopeid 0x0<global>
ether fa:16:3e:b1:01:c0 txqueuelen 1000 (Ethernet)
RX packets 76989 bytes 14208737 (14.2 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 69678 bytes 13847183 (13.8 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
通过上述配置,我的 IPv4 流量可以顺利通过隧道传输,但 IPv6 上却无法通过隧道传输
我尝试过其他解决方案,但并不完全符合我的需要:
- IPv6 隧道代理:激活时会降低我的网速。
- VPN:每个设备只分配一个 IPv6 地址,我需要一个范围。
谢谢!