本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
的 IPv6 考量 AWS Client VPN
Client VPN 現在支援原生 IPv6 連線與現有的 IPv4 功能。您可以建立IPv6-only, IPv4-only 或雙堆疊 (IPv4 和 IPv6) 端點,以符合您的聯網需求。
IPv6 支援的關鍵元件
在 Client VPN 中使用 IPv6 時,有兩個金鑰組態參數:
- 端點 IP 地址類型
-
此參數定義端點管理 IP 類型,這會決定為端點佈建的 EC2 執行個體類型。此 IP 類型用於管理外部 VPN 通道流量 (透過公有網際網路在 OpenVPN 用戶端和伺服器之間流動的加密流量)。
- 流量 IP 地址類型
-
此參數定義流經 VPN 通道的流量類型。此 IP 類型用於管理每個端點的內部加密流量 (實際承載)、用戶端 CIDR 範圍、子網路關聯、路由和規則。
IPv6 用戶端 CIDR 指派
對於 IPv6 用戶端 CIDR,您不需要指定 CIDR 區塊。Amazon 會自動為 IPv6 用戶端指派 CIDR 範圍。此自動指派可為 IPv6 通道流量啟用無 SNATing,從而增強對連線使用者的 IPv6 地址的可見性。
相容性要求
IPv6 和雙堆疊端點取決於使用者裝置和網際網路服務提供者 (ISPs):
-
執行 CVPN 用戶端的使用者裝置必須支援必要的 IP 組態,如以下相容性資料表所示。
-
ISPs支援必要的 IP 組態,連線才能正常運作。
-
對於 IPv6 或雙堆疊流量,相關聯的 VPC 子網路必須具有 IPv6 或雙堆疊 CIDR 範圍。
DNS 支援
所有類型的端點都支援 DNS - IPv4, IPv6 和雙堆疊。對於 IPv6 端點,您可以使用 --dns-server-ipv6
參數設定 IPv6 DNS 伺服器。服務和用戶端都支援 AAAA DNS 記錄。
限制
以下是 IPv6 的限制:
-
IPv6 用戶端不支援Client-to-client(C2C) 通訊。如果 IPv6 用戶端嘗試與其他 IPv6 用戶端通訊,則會捨棄流量。
IPv6 的用戶端路由強制執行
Client VPN 現在支援 IPv6 流量的用戶端路由強制執行。此功能有助於確保來自連線用戶端的 IPv6 網路流量遵循管理員定義的路由,且不會不小心傳送至 VPN 通道外部。
IPv6 用戶端路由強制執行支援的關鍵層面:
-
現有的
ClientRouteEnforcementOptions.enforced
旗標會同時為 IPv4 和 IPv6 堆疊啟用 CRE。 -
IPv6 用戶端路由強制執行會排除特定 IPv6 範圍,以維護重要的 IPv6 功能:
::1/128
— 預留給迴路fe80::/10
— 預留給 link-local 地址ff00::/8
— 預留給多點傳送
-
IPv6 用戶端路由強制執行適用於 Windows、macOS 和 Ubuntu 上的 AWS VPN 用戶端 5.3.0 版和更新版本。
如需 CRE 的詳細資訊,包括如何啟用和設定,請參閱 AWS Client VPN 用戶端路由強制執行。
IPv6 洩漏預防 (舊版資訊)
對於不使用原生 IPv6 支援的舊組態,您可能仍然需要防止 IPv6 洩漏。當 IPv4 和 IPv6 都啟用並連接到 VPN 時,IPv6 洩漏可能會發生,但 VPN 不會將 IPv6 流量路由到其通道。在這種情況下,連線至啟用 IPv6 的目的地時,您實際上仍然與 ISP 提供的 IPv6 位址連線。這會洩漏您的真實 IPv6 地址。以下說明會解釋如何將 IPv6 流量路由到 VPN 通道。
下列 IPv6 相關指示詞應新增至 Client VPN 設定檔,以防止 IPv6 洩漏:
ifconfig-ipv6 arg0 arg1 route-ipv6 arg0
範例可能是:
ifconfig-ipv6 fd15:53b6:dead::2 fd15:53b6:dead::1 route-ipv6 2000::/4
在此範例中,ifconfig-ipv6 fd15:53b6:dead::2 fd15:53b6:dead::1
會將本機通道裝置 IPv6 地址設定為 fd15:53b6:dead::2
和遠端 VPN 端點 IPv6 地址設定為 fd15:53b6:dead::1
。
下一個命令,route-ipv6 2000::/4
將 IPv6 地址從 2000:0000:0000:0000:0000:0000:0000:0000
路由至 2fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
VPN 連接。
注意
例如,對於 Windows 中的「TAP」裝置路由, 的第二個參數ifconfig-ipv6
將用作 的路由目標--route-ipv6
。
Organizations 應該設定 ifconfig-ipv6
本身的兩個參數,並且可以使用 100::/64
(從 0100:0000:0000:0000:0000:0000:0000:0000
至 0100:0000:0000:0000:ffff:ffff:ffff:ffff
) 或 fc00::/7
(從 fc00:0000:0000:0000:0000:0000:0000:0000
至 fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
) 中的地址。100::/64
是「僅捨棄地址區塊」,而 fc00::/7
是唯一本地。
另一個範例是:
ifconfig-ipv6 fd15:53b6:dead::2 fd15:53b6:dead::1 route-ipv6 2000::/3 route-ipv6 fc00::/7
在此範例中,設定會將目前配置的所有 IPv6 流量路由至 VPN 連接。
驗證
您的組織可能有自己的測試。基本驗證是設定完整通道 VPN 連接,然後使用 IPv6 地址將 ping6 執行至 IPv6 伺服器。伺服器的 IPv6 地址應該在 route-ipv6
命令指定的範圍內。這個 ping 測試應該會失敗。不過,如果 IPv6 支援在未來新增至 Client VPN 服務,這可能會改變。如果 ping 成功,而且您可以在以完整通道模式連線時存取公有站點,則您可能需要進一步的疑難排解。還有一些公開可用的工具。