我在 Ubuntu 14.04 VPS 上安装了具有 IPv6 访问权限的 OpenVPN。我希望有一个正确的双堆栈配置工作。我可以连接到我的 OpenVPN 服务器的公共 IPv4 地址:获取分配给我的私有 IPv4 和公共 IPv6,并通过 VPN 实现完整的 IPv4 和 IPv6 连接(通过检查测试ipv6.com)。
问题是,如果我连接到服务器的 IPv6 地址(我的 ISP 连接上有 IPv6),我能够成功连接到它并获得分配的 IPv4 和 IPv6 地址,但无法进行任何类型的连接,甚至无法 ping 通任何内部或外部 IP 或主机,包括隧道中服务器的私有 IPv4 地址。我已在 /etc/sysctl.conf 中启用 IPv4 和 IPv6 转发。
我不确定发生了什么事。非常感谢您的帮助。
谢谢。
IP信息(屏蔽):
- VPS IPv4 地址(设备:eth0):107.xxx.xxx.xxx
- VPS IPv6 子网(设备:he-ipv6):2001:xxx:xxxx::/48
- OpenVPN IPv4 子网:10.8.0.0/24
- OpenVPN IPv4 私有地址:10.8.0.1
- OpenVPN IPv4 客户端地址:10.8.0.2、10.8.0.3、[...]
- OpenVPN IPv6 子网:2001:xxx:xxxx:xxx::/64
- OpenVPN IPv6 服务器地址:2001:xxx:xxxx:xxx::1/64
- OpenVPN IPv6 客户端地址:2001:xxx:xxxx:xxx::1000/64、2001:xxx:xxxx:xxx::1001/64、[...]
/etc/openvpn/server.conf内容:
port 443
proto tcp6
dev tun
sndbuf 0
rcvbuf 0
ca ca.crt
cert server.crt
key server.key
dh dh.pem
tls-auth ta.key 0
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
cipher AES-128-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
crl-verify crl.pem
tun-ipv6
push tun-ipv6
server-ipv6 2001:xxx:xxxx:xxx::/64
push "redirect-gateway-ipv6 def1 bypass-dhcp-ipv6"
push "route-ipv6 2001:xxx:xxxx:xxx::/64"
push "route-ipv6 2000::/3"
客户端.ovpn内容:
client
dev tun
sndbuf 0
rcvbuf 0
;remote 107.xxx.xxx.xxx 443 tcp # IPv4 (disabled; full IPv4 and IPv6 connectivity when connected)
remote 2001:xxx:xxxx:xxx::1 443 tcp6 # IPv6 (enabled; no connectivity when connected)
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-128-CBC
comp-lzo
setenv opt block-outside-dns
key-direction 1
verb 3
<ca>
</ca>
<cert>
</cert>
<key>
</key>
<tls-auth>
</tls-auth>
答案1
在我意识到我可以在我的 Android 手机上使用“ Android 版 OpenVPN 应用程序运行相同的 2.4 版本。我运行的是 2.3.10 版本。
解决了。