强制 openVPN 使用 IPv6

强制 openVPN 使用 IPv6

我发现我的 VPN 连接出现泄漏test-ipv6.com,显示我的 VPN 的 IPv4 地址,但我的家庭路由器的 IPv6 地址。

我使用下面的文件设置了我的 VPN 连接.ovpn,该文件是从privateinternetaccess.com

client
dev tun
proto udp
remote ireland.privateinternetaccess.com 1197
resolv-retry infinite
nobind
persist-key
persist-tun
cipher aes-256-cbc
auth sha256
tls-client
remote-cert-tls server
auth-user-pass
comp-lzo
verb 1
reneg-sec 0
crl-verify crl.rsa.4096.pem
ca ca.rsa.4096.crt
disable-occ

我该如何配置和/或传递哪些标志openvpn来启用 IPv6 路由?

答案1

目前,OpenVPN 要求您在隧道内配置 IPv4,您可以将 IPv6 添加为双栈。隧道外的操作由您决定(1)。

话虽如此,以下是你的答案:OpenVPN 2.3(很可能还有 2.4)不支持仅 IPv6(2

此外 (3),这里介绍OpenVPN支持的两种设备类型:tun和tap。

Tun 设备接收原始 IP 数据包并将其提供给用户空间程序。对于 OpenVPN,此程序会加密这些数据包并将其发送到隧道的另一端,在那里解密并发送回该端的 tun 设备。换句话说,tun 设备的行为就像虚拟点对点网络连接。

Tap 设备使用原始以太网帧而不是 IP 数据包。Tap 设备就像虚拟以太网卡 - 发送给它的任何数据包都会通过隧道并备份到另一端的以太网堆栈。因此,使用 Tap 的 OpenVPN 连接就像虚拟以太网总线,其中恰好连接了两个以太网卡 - 隧道的每一侧各一个。使用 Tap 的缺点是每个数据包都会多用 14 个字节(以太网标头),优点是我们可以在其上使用任何协议,而不必考虑 OpenVPN 对它的支持。

第一篇文章描述了使用 tun 实现 OpenVPN 中的 IPv6 支持。第二篇文章使用 tap:

  1. https://community.openvpn.net/openvpn/wiki/IPv6(尽管 IPv6 在某些移动设备上无法使用,除非您使用的是 2.4+,请参阅(4))

  2. http://silmor.de/ipv6.openvpn.php(请注意,自撰写本文以来,OpenVPN 已启用 IPv6 传输 - 我们现在使用的是 2.2+ 版本)

相关内容