Linux

強制 openVPN 使用 IPv6

  • November 7, 2017

我發現來自test-ipv6.com的 VPN 連接有洩漏,顯示的是我的 VPN 的 IPv4 地址,但我的家庭路由器的 IPv6 地址。

我使用從privateinternetaccess.com.ovpn下載的以下文件設置我的 VPN 連接

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 路由?

目前,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 對它的支持。

第一篇描述 OpenVPN 中使用 tun 支持 IPv6 的文章。第二個使用水龍頭:

  1. https://community.openvpn.net/openvpn/wiki/IPv6(儘管 IPv6 不適用於某些移動設備,除非您使用 2.4+,請參閱 ( 4 ))
  2. http://silmor.de/ipv6.openvpn.php(請注意,自從撰寫本文以來,OpenVPN 已啟用 IPv6 傳輸——我們現在處於 2.2+ 版本)

引用自:https://serverfault.com/questions/844819