設定傳統 VPN 連線
此 VPN 資訊僅適用於傳統群集。 如需 VPC 叢集的 VPN 資訊,請參閱設定 VPC VPN 連線功能。
使用 VPN 連線功能,您可以在 IBM Cloud® Kubernetes Service 上將 Kubernetes 叢集裡的應用程式安全地連接至內部部署網路。 您也可以將叢集以外的應用程式連接至叢集內執行的應用程式。
若要將工作者節點及應用程式連接至內部部署資料中心,您可以配置下列其中一個選項。
-
strongSwan IPSec VPN 服務:您可以設定 strongSwan IPSec VPN 服務,安全地連接 Kubernetes 叢集與內部網路。 在根據業界標準網際網路通訊協定安全 (IPSec) 通訊協定套組的網際網路上,strongsWan IPSec VPN 服務提供安全的端對端通訊通道。 若要設定叢集與內部部署網路之間的安全連線,請直接在叢集的 Pod 中配置及部署 strongSwan IPSec VPN 服務。
-
IBM Cloud® Direct Link: IBM Cloud Direct Link:可讓您在遠端網路環境與 IBM Cloud Kubernetes Service 之間建立直接的私人連線,而無需透過公共網際網路進行路由。 當您必須執行混合工作負載、跨供應商工作負載、大量或頻繁的資料傳輸,或私人工作負載時,IBM Cloud Direct Link 產品就非常有用。 若要選擇 IBM Cloud Direct Link 供應項目並設定 IBM Cloud Direct Link 連線,請參閱 IBM Cloud Direct Link 文件中的 開始使用 IBM Cloud IBM Cloud Direct Link。
-
Virtual Router Appliance (VRA): 您可以選擇設定 VRA(Vyatta),以配置 IPSec VPN 端點。 當您有較大的叢集、想要透過單一 VPN 存取多個叢集,或需要以路徑為基礎的 VPN 時,此選項十分有用。 若要配置 VRA,請參閱 使用 VRA 設定 VPN 連線功能。
如果您計劃將叢集連接至內部部署網路,請查看下列有用的特性。
-
您可能有與 IBM提供的預設 172.30.0.0/16 範圍 (適用於 Pod) 及 172.21.0.0/16 範圍 (適用於服務) 的子網路衝突。 從 CLI 建立群集 時,您可以在
--pod-subnet
選項中指定 Pod 的自訂子網路 CIDR,並在--service-subnet
選項中指定服務的自訂子網路 CIDR,以避免子網路衝突。 -
如果 VPN 解決方案保留要求的來源 IP 位址,您可以 建立自訂靜態路徑,以確保工作者節點可以將回應從叢集遞送回內部部署網路。
禁止使用 172.16.0.0/16
、172.18.0.0/16
、172.19.0.0/16
及 172.20.0.0/16
子網路範圍,因為它們保留用於 IBM Cloud Kubernetes Service 控制平面功能。
使用 strongSwan IPSec VPN 服務 Helm Chart
使用 Helm Chart,可以在 Kubernetes Pod 中配置及部署 strongSwan IPSec VPN 服務。
因為 strongSwan 已整合在您的叢集內,所以您不需要外部閘道應用裝置。 VPN 連線建立後,會自動在群集中的所有工作節點上設定路由。 這些路徑允許透過 VPN 通道,在任何工作者節點與遠端系統上的 Pod 之間,進行雙向連線。 例如,下圖顯示 IBM Cloud Kubernetes Service 中的應用程式如何透過 strongSwan VPN 連線與內部部署伺服器通訊。
-
叢集裡的應用程式 (
myapp
) 收到來自 Ingress 或 LoadBalancer 服務的要求,且需要安全地連接至內部部署網路中的資料。 -
向內部部署資料中心發出的要求會轉遞至 IPSec strongSwan VPN Pod。 目的地 IP 位址用來判定要傳送至 IPSec strongSwan VPN Pod 的網路封包。
-
此要求會加密並透過 VPN 通道傳送至內部部署資料中心。
-
送入的要求會通過內部部署防火牆,並遞送至 VPN 通道端點(路由器),在該處解密。
-
VPN 通道端點 (路由器) 會將要求轉遞至內部部署伺服器或大型主機,視步驟 2 中指定的目的地 IP 位址而定。 必要的資料會透過相同的處理程序,透過 VPN 連線傳回至
myapp
。
strongSwan VPN 服務考量
在使用 strongSwan Helm Chart 之前,請檢閱下列考量及限制。
- 只有標準叢集支援 strongSwan Helm 圖表,且 VPC 叢集不支援。 如需 VPC 叢集的 VPN 資訊,請參閱設定 VPC VPN 連線功能。
- strongSwan Helm Chart 需要遠端 VPN 端點啟用 NAT 遍訪。 除了預設 IPSec UDP 埠 500 外,NAT 遍訪還需要 UDP 埠 4500。 這兩個 UDP 埠都需要允許通過配置的任何防火牆。
- strongSwan Helm Chart 不支援以路徑為基礎的 IPSec VPN。
- strongSwan Helm 圖表支援使用預先共用金鑰的 IPSec VPN,但不支援需要憑證的 IPSec VPN。
- strongSwan Helm Chart 不允許多個叢集和其他 IaaS 資源共用單一 VPN 連線。
- strongSwan Helm Chart 會在叢集內以 Kubernetes Pod 形式執行。 Kubernetes 以及叢集裡執行之其他 Pod 的記憶體及網路用量,都會影響 VPN 效能。 如果您具有效能關鍵環境,請考慮使用在叢集以外的專用硬體上執行的 VPN 解決方案。
- strongSwan Helm Chart 會執行單一 VPN Pod,作為 IPSec 通道端點。 如果 Pod 失敗,叢集會重新啟動 Pod。 不過,您可能會在新 pod 啟動和 VPN 連線重新建立時經歷短暫的停機時間。 如果您需要更快速的錯誤回復,或更精心製作的高可用性解決方案,請考慮使用在叢集以外的專用硬體上執行的 VPN 解決方案。
- strongSwan Helm Chart 不會針對流過 VPN 連線的網路資料流量提供度量值或監視。 如需所支援監視工具的清單,請參閱記載及監視服務。
- 僅支援過去 6 個月發行的 strongSwan Helm Chart 版本。 確保您一致地 升級 strongSwan Helm Chart,以取得最新特性及安全修正程式。
您的群集使用者可以使用 strongSwan VPN 服務,透過私有雲端服務端點連線至您的 Kubernetes 主站。 然而,透過私有雲端服務端點與 Kubernetes 主站的通訊必須經過 166.X.X.X
IP 位址範圍,該範圍無法從 VPN 連線路由。 您可以 使用私有網路負載平衡器(NLB),為群集使用者揭露主機的私有雲端服務端點。
私有 NLB 將主站的私有雲服務端點揭露為 172.21.x.x
叢集內部 IP 位址,讓 strongSwan VPN pod 可以存取。 如果您只啟用私有雲服務端點,您可以使用 Kubernetes 面板或暫時啟用公共雲服務端點,以建立私有 NLB。
在多區域叢集裡配置 strongSwan VPN
多區群集可讓應用程式實體在多個區域的工作節點上可用,從而在發生中斷時為應用程式提供高可用性。 不過,在多區域叢集裡配置 strongSwan VPN 服務比在單一區域叢集裡配置 strongSwan 更為複雜。
在多區域叢集裡配置 strongSwan 之前,請先嘗試將 strongSwan Helm Chart 部署至單一區域叢集。 當您第一次在單區群集和內部網路之間建立 VPN 連線時,您可以更容易地確定對多區 strongSwan 配置很重要的遠端網路防火牆設定。
- 有些遠端 VPN 端點在
leftid
檔案中,有rightid
或ipsec.conf
等設定。 如果您有這些設定,請檢查是否必須將leftid
設為 VPN IPSec 通道的 IP 位址。 - 如果連線是從遠端網路入埠連至叢集,請檢查遠端 VPN 端點是否可以在一個區域發生負載平衡器故障時,重新建立連至不同 IP 位址的 VPN 連線。
若要在多區域叢集裡開始使用 strongSwan,請選擇下列其中一個選項。
- 如果您可以使用出埠 VPN 連線,則可以選擇僅配置一個 strongSwan VPN 部署。 請參閱配置來自多區域叢集的出埠 VPN 連線。
- 如果您需要入埠 VPN 連線,則您可以使用的配置設定,會根據遠端 VPN 端點是否可以配置為在偵測到中斷時,重新建立連至不同公用負載平衡器 IP 的 VPN 連線而改變。
- 如果遠端 VPN 端點可以自動重新建立連至不同 IP 的 VPN 連線,則您可以選擇僅配置一個 strongSwan VPN 部署。 請參閱配置連至多區域叢集的入埠 VPN 連線。
- 如果遠端 VPN 端點無法自動重新建立 VPN 連線到不同的 IP,您必須在每個區域部署獨立的入站 strongSwan VPN 服務。 請參閱在多區域叢集的每個區域中配置 VPN 連線。
嘗試設定您的環境,以便您只需要一個 strongSwan VPN 部署,便可建立連至多區域叢集的出埠或入埠 VPN 連線。 如果您必須在每個區域中設定個別的 strongSwan VPN,請務必計劃如何管理因此而增加的複雜度以及提高的資源用量。
配置來自多區域叢集的單一出埠 VPN 連線
在多區域叢集裡配置 strongSwan VPN 服務最簡單的解決方案,是使用單一出埠 VPN 連線,該連線會在叢集裡所有可用性區域中的不同工作者節點之間浮動。
當 VPN 連線從多區域叢集出埠時,只需要一個 strongSwan 部署。 如果工作者節點已移除或遇到運作中斷時間,則 kubelet
會將 VPN Pod 重新排定到新的工作者節點。 如果可用性區域遇到中斷,則 kubelet
會將 VPN Pod 重新排定到不同區域的新工作者節點上。
-
配置 strongSwan VPN Helm Chart。 當您遵循該節中的步驟時,請確保指定下列設定。
ipsec.auto
:變更為start
。 連線是來自叢集的出埠連線。loadBalancerIP
:請勿指定 IP 位址。 將此設定保留空白。zoneLoadBalancer
:為您有工作者節點的每個區域,指定公用負載平衡器 IP 位址。 您可以查看可用的公用 IP 位址或釋放已使用的 IP 位址。 因為 strongSwan VPN Pod 可以排定到任何區域中的工作者節點,因此這份 IP 清單可確保負載平衡器 IP 可用於已排定 VPN Pod 的任何區域。connectUsingLoadBalancerIP
:設為true
。 當 strongSwan VPN Pod 排定到工作者節點時,strongSwan 服務會選取位於相同區域的負載平衡器 IP 位址,並使用此 IP 來建立出埠連線。local.id
:指定遠端 VPN 端點所支援的固定值。 如果遠端 VPN 端點需要您將local.id
選項 (ipsec.conf
中的leftid
值) 設為 VPN IPSec 通道的公用 IP 位址,請將local.id
設為%loadBalancerIP
。 此值會自動將ipsec.conf
中的leftid
值配置為用於連線的負載平衡器 IP 位址。- 可選:透過設定
enableSingleSourceIP
為true
,將所有群集 IP 位址隱藏在每個區域的單一 IP 位址後面。 此選項為 VPN 連線提供其中一個最安全的配置,因為不允許從遠端網路回到叢集的任何連線。 您還必須將local.subnet
設定為%zoneSubnet
變數,並使用local.zoneSubnet
為叢集裡每個區域指定一個 IP 位址作為 /32 子網路。
-
在遠端網路防火牆中,允許送入的 IPSec VPN 連線,該連線來自您在
zoneLoadBalancer
設定中所列出的公用 IP 位址。 -
將遠端 VPN 端點配置為允許送入的 VPN 連線,該連線來自您在
zoneLoadBalancer
設定中所列出的每個可能負載平衡器 IP。
配置連至多區域叢集的單一入埠 VPN 連線
當您需要送入的 VPN 連線,且遠端 VPN 端點在偵測到失敗時,可以自動重新建立連至不同 IP 的 VPN 連線時,您可以使用在叢集裡所有可用性區域中的不同工作者節點之間浮動的單一入埠 VPN 連線。
遠端 VPN 端點可以建立連至任何區域中任何 strongSwan 負載平衡器的 VPN 連線。 不管 VPN Pod 位於哪一個區域,送入的要求都會傳送至 VPN Pod。 來自 VPN Pod 的回應會透過原始負載平衡器傳回遠端 VPN 端點。 此選項可確保高可用性,因為 kubelet
會在工作者節點已移除或遇到運作中斷時間時,將 VPN Pod 重新排定到新的工作者節點。 此外,如果可用性區域遇到中斷,遠端 VPN 端點可以重新建立連至不同區域中負載平衡器
IP 位址的 VPN 連線,以便仍然可以連接到 VPN Pod。
-
配置 strongSwan VPN Helm Chart。 當您遵循該節中的步驟時,請確保指定下列設定。
ipsec.auto
:變更為add
。 連線是入埠連至叢集。loadBalancerIP
:請勿指定 IP 位址。 將此設定保留空白。zoneLoadBalancer
:為您有工作者節點的每個區域,指定公用負載平衡器 IP 位址。 您可以查看可用的公用 IP 位址或釋放已使用的 IP 位址。local.id
: 如果遠端 VPN 端點需要您將local.id
選項 (ipsec.conf
中的leftid
值) 設為 VPN IPSec 通道的公用 IP 位址,請將local.id
設為%loadBalancerIP
。 此值會自動將ipsec.conf
中的leftid
值配置為用於連線的負載平衡器 IP 位址。
-
在遠端網路防火牆中,允許送出的 IPSec VPN 連線連至您在
zoneLoadBalancer
設定中所列出的公用 IP 位址。
在多區域叢集的每個區域中配置入埠 VPN 連線
當您需要傳入 VPN 連線,且遠端 VPN 端點無法重新建立 VPN 連線到不同的 IP 時,您必須在每個區域部署獨立的 strongSwan VPN 服務。
遠端 VPN 端點必須更新,才能建立連至每個區域中負載平衡器的個別 VPN 連線。 此外,您必須在遠端 VPN 端點上配置區域特定的設定,讓每個 VPN 連線都是唯一的。 確保這些多個傳入的 VPN 連線保持作用中。
部署每個 Helm Chart 之後,每個 strongSwan VPN 部署都會在正確的區域中,啟動成為 Kubernetes 負載平衡器服務。 對該公用 IP 的送入要求會轉遞至也配置在相同區域中的 VPN Pod。 如果區域遇到中斷,並不會影響在其他區域中建立的 VPN 連線。
-
針對每個區域配置 strongSwan VPN Helm Chart。 當您遵循該區段中的步驟時,請務必指定下列設定:
loadBalancerIP
:指定可用的公用負載平衡器 IP 位址,其位於您在其中部署此 strongSwan 服務的區域。 您可以查看可用的公用 IP 位址或釋放已使用的 IP 位址。zoneSelector
:指定您要在其中排定 VPN Pod 的區域。- 可能需要其他設定,例如
zoneSpecificRoutes
、remoteSubnetNAT
、localSubnetNAT
或enableSingleSourceIP
,視必須可以透過 VPN 進行存取的資源而定。 如需詳細資料,請參閱下一步。
-
在 VPN 通道的兩端配置區域特定的設定,以確保每個 VPN 連線都是唯一的。 視必須可以透過 VPN 存取哪些資源而定,您有兩個選項可以讓連線可供區分:
- 如果群集中的 pod 必須存取遠端內部網路的服務、
zoneSpecificRoutes
:設為true
。 此設定會將 VPN 連線限制為群集中的單一區域。 特定區域中的 Pod 只會使用針對該特定區域設定的 VPN 連線。 此解決方案可以減少在多區域叢集裡支援多個 VPN 所需的 strongSwan Pod 數量,進而改善 VPN 效能,因為 VPN 資料流量只會流向位於現行區域中的工作者節點,此解決方案也能確保每個區域的 VPN 連線功能不受 VPN 連線功能、Pod 損毀或其他區域的區域中斷等所影響。 請注意,您不需要設定remoteSubnetNAT
。 因為遞送是以每個區域為基準進行設定,所以使用zoneSpecificRoutes
設定的多個 VPN 可以有相同的remote.subnet
。enableSingleSourceIP
:設為true
,並將local.subnet
設為單一 /32 IP 位址。 此設定組合將所有群集私有 IP 位址隱藏在單一 /32 IP 位址後面。 這個唯一的 /32 IP 位址允許遠端內部部署網路透過正確的 VPN 連線,將回覆傳送回叢集裡起始要求的正確 Pod。 請注意,針對local.subnet
選項所配置的單一 /32 IP 位址,在每個 strongSwan VPN 配置中都必須是唯一的。
- 如果遠端內部網路中的應用程式必須存取群集中的服務、
localSubnetNAT
:確保遠端內部部署網路中的應用程式可以選取特定的 VPN 連線,以傳送資料流量到叢集和從叢集接收資料流量。 在每個 strongSwan Helm 配置中,使用localSubnetNAT
唯一地識別可由遠端內部部署應用程式存取的叢集資源。 由於從遠端內部網路到群集會建立多個 VPN,因此您必須在內部網路的應用程式中加入邏輯,以便它可以在存取群集中的服務時選擇使用哪個 VPN。 請注意,叢集裡的服務可透過多個不同的子網路進行存取,具體取決於在每個 strongSwan VPN 配置中為localSubnetNAT
配置的內容。remoteSubnetNAT
:請確定叢集裡的 Pod 使用相同的 VPN 連線,將資料流量傳回遠端網路。 在每個 strongSwan 部署檔案中,使用remoteSubnetNAT
設定將遠端內部部署子網路對映到唯一子網路。 叢集裡的 Pod 從 VPN 特定的remoteSubnetNAT
收到的資料流量會傳送回相同的 VPN 特定remoteSubnetNAT
,然後透過該相同 VPN 連線傳送。
- 如果叢集裡的 Pod 必須存取遠端內部部署網路上的服務,且遠端內部部署網路中的應用程式必須存取叢集裡的服務,請配置第二個項目符號點中列出的
localSubnetNAT
及remoteSubnetNAT
設定。 請注意,如果叢集裡的 Pod 起始對遠端內部部署網路的要求,您必須將邏輯新增至 Pod,以便它可以選取要使用哪些 VPN 連線來存取遠端內部部署網路上的服務。
- 如果群集中的 pod 必須存取遠端內部網路的服務、
-
配置遠端 VPN 端點軟體,以建立連至每個區域中負載平衡器 IP 的個別 VPN 連線。
配置 strongSwan Helm Chart
在安裝 strongSwan Helm Chart 之前,您必須決定 strongSwan 配置。
開始之前
- 在內部部署資料中心內安裝 IPSec VPN 閘道。
- 確保您擁有
default
命名空間的 Writer 或 Manager IBM Cloud IAM 服務存取角色。 - 登入您的帳戶。 適用的話,請將適當的資源群組設為目標。 設定叢集的環境定義。 在標準群集中,所有 strongSwan 配置都是允許的。
步驟 1:取得 strongSwan Helm Chart
安裝 Helm 並取得 strongSwan Helm Chart,以檢視可能的配置。
-
遵循指示,在本端機器上安裝第 3 版 Helm 用戶端。
-
將 strongSwan Helm Chart 的預設配置設定儲存在本端 YAML 檔案中。
helm show values iks-charts/strongswan > config.yaml
-
開啟
config.yaml
檔案。
步驟 2:配置基本 IPSec 設定
若要控制 VPN 連線的建立,請修改下列基本 IPSec 設定。
如需每一個設定的相關資訊,請閱讀 config.yaml
檔案內提供的 Helm Chart 文件。
- 如果您的內部部署 VPN 通道端點不支援使用
ikev2
作為起始設定連線的通訊協定,請將ipsec.keyexchange
的值變更為ikev1
。 - 將
ipsec.esp
設為內部部署 VPN 通道端點用於連線之 ESP 加密及鑑別演算法的清單。- 如果將
ipsec.keyexchange
設為ikev1
,則必須指定此設定。 - 如果將
ipsec.keyexchange
設為ikev2
,則此設定為選用項目。 - 如果您將此設定保留空白,則連線會使用預設 strongSwan 演算法
aes128-sha1,3des-sha1
。
- 如果將
- 將
ipsec.ike
設為內部部署 VPN 通道端點用於連線之 IKE/ISAKMP SA 加密及鑑別演算法的清單。 這些演算法必須以特定格式encryption-integrity[-prf]-dhgroup
表示。- 如果將
ipsec.keyexchange
設為ikev1
,則必須指定此設定。 - 如果將
ipsec.keyexchange
設為ikev2
,則此設定為選用項目。 - 如果您將此設定保留空白,則連線會使用預設 strongSwan 演算法
aes128-sha1-modp2048,3des-sha1-modp1536
。
- 如果將
- 將
local.id
的值變更為您要用來識別 VPN 通道端點所用本端 Kubernetes 叢集端的任何字串。 預設值為ibm-cloud
。 部分 VPN 實作需要您針對本端端點使用公用 IP 位址。 - 將
remote.id
的值變更為您要用來識別 VPN 通道端點所用遠端內部部署端的任何字串。 預設值為on-prem
。 部分 VPN 實作需要您針對遠端端點使用公用 IP 位址。 - 將
preshared.secret
的值變更為內部部署 VPN 通道端點閘道用於連線的預先共用密碼。 此值儲存在ipsec.secrets
中。 - 選用項目:將
remote.privateIPtoPing
設為遠端子網路中的任何專用 IP 位址,以便在 Helm 連線功能驗證測試之中進行連線測試。
步驟 3:選取入埠或出埠 VPN 連線
配置 strongSwan VPN 連線時,您可以選擇 VPN 連線是要入埠連至叢集,還是從叢集出埠。
- 入埠
- 來自遠端網路的內部部署 VPN 端點會起始 VPN 連線,而叢集會接聽連線。
- 出埠
- 叢集會起始 VPN 連線,而來自遠端網路的內部部署 VPN 端點會接聽連線。
若要建立入站 VPN 連線,請修改下列設定。
- 驗證
ipsec.auto
已設為add
。 - 選用項目:將
loadBalancerIP
設為 strongSwan VPN 服務的可攜式公用 IP 位址。 當您需要穩定的 IP 位址時(例如,當您必須指定允許哪些 IP 位址透過內部部署防火牆時),指定 IP 位址很有用。 叢集必須至少有一個可用的公用負載平衡器 IP 位址。 您可以查看可用的公用 IP 位址或 釋放已使用的 IP 位址。- 如果將此設定保留空白,則會使用其中一個可用的可攜式公用 IP 位址。
- 您也必須配置針對內部部署 VPN 端點上的叢集 VPN 端點選取的公用 IP 位址,或指派給它的公用 IP 位址。
若要建立出站 VPN 連線,請修改下列設定。
- 將
ipsec.auto
變更為start
。 - 將
remote.gateway
設為遠端網路中內部部署 VPN 端點的公用 IP 位址。 - 為叢集 VPN 端點的 IP 位址選擇下列其中一個選項:
-
群集私有閘道的公用 IP 位址:如果您的工作節點只連接到私有 VLAN,則向外的 VPN 請求會經由私有閘道到達網際網路。 專用閘道的公用 IP 位址用於 VPN 連線。
-
strongSwan Pod 執行所在工作者節點的公用 IP 位址:如果 strongSwan Pod 執行所在的工作者節點連接至公用 VLAN,則會將工作者節點的公用 IP 位址用於 VPN 連線。
- 如果 strongSwan Pod 已遭刪除,並重新排定至叢集裡的不同工作者節點,則 VPN 的公用 IP 位址會變更。 遠端網路的內部部署 VPN 端點必須允許從任何叢集工作者節點的公用 IP 位址建立 VPN 連線。
- 如果遠端 VPN 端點無法處理來自多個公共 IP 位址的 VPN 連線,請限制 strongSwan VPN pod 部署到的節點。 將
nodeSelector
設為特定工作者節點的 IP 位址或工作者節點標籤。 例如,值kubernetes.io/hostname: 10.232.xx.xx
允許 VPN Pod 僅部署至該工作者節點。strongswan: vpn
值將 VPN Pod 限制為只能在具有該標籤的任何工作者節點上執行。 您可以使用任何工作者節點標籤。 若要允許不同的工作人員節點用於不同的 helm 圖部署,請使用strongswan: <release_name>
。 如需高可用性,請至少選取兩個工作者節點。
-
strongSwan 服務的公用 IP 位址:若要使用 strongSwan VPN 服務的 IP 位址來建立連線,請將
connectUsingLoadBalancerIP
設為true
。 strongSwan 服務 IP 位址是您可在loadBalancerIP
設定中指定的可攜式公用 IP 位址,或是自動指派給服務的可用可攜式公用 IP 位址。- 如果您選擇使用
loadBalancerIP
設定來選取 IP 位址,則叢集必須至少具有一個可用的公用負載平衡器 IP 位址。 您可以查看可用的公用 IP 位址或釋放已使用的 IP 位址。 - 所有群集工作節點必須在同一個公用 VLAN 上。 否則,您必須使用
nodeSelector
設定,以確保 VPN Pod 部署至與loadBalancerIP
相同公用 VLAN 上的工作者節點。 - 如果
connectUsingLoadBalancerIP
設為true
,且ipsec.keyexchange
設為ikev1
,則您必須將enableServiceSourceIP
設為true
。
- 如果您選擇使用
-
步驟 4:透過 VPN 連線存取叢集資源
決定哪些叢集資源必須可由遠端網路透過 VPN 連線存取。
-
將一個以上的叢集子網路的 CIDR 新增至
local.subnet
設定。 您必須在內部部署 VPN 端點上配置本端子網路 CIDR。 此清單可包括下列子網路。- Kubernetes Pod 子網路 CIDR:
172.30.0.0/16
。 在所有叢集 Pod 與遠端網路子網路(列在remote.subnet
設定中)中的任何主機之間,會啟用雙向通訊。 如果基於安全理由必須防止任何remote.subnet
主機存取群集 pod,請不要將 Kubernetes pod 子網路新增至local.subnet
設定。 - Kubernetes 服務子網路 CIDR:
172.21.0.0/16
。 服務 IP 位址會提供一種公開多個應用程式 Pod 的方法,而這些應用程式 Pod 是部署在單一 IP 後面的數個工作者節點上。 - 如果您的應用程式是由專用網路上的 NodePort 服務或專用 Ingress ALB 公開,請新增工作者節點的專用子網路 CIDR。 執行
ibmcloud ks worker <cluster_name>
,擷取 Worker 私有 IP 位址的前三個八位字元。 比方說,如果它是10.176.48.xx
,請注意10.176.48
。 接下來,執行下列指令取得工作者私有子網路 CIDR,將<xxx.yyy.zz>
改為之前擷取的八位元組:ibmcloud sl subnet list | grep <xxx.yyy.zzz>
。 附註:如果在新的專用子網路上新增工作者節點,則您必須將新的專用子網路 CIDR 新增至local.subnet
設定及內部部署 VPN 端點。 然後,必須重新啟動 VPN 連線。 - 如果您的應用程式是由專用網路上的 LoadBalancer 服務公開,請新增叢集的專用使用者管理子網路 CIDR。 若要找出這些值,請執行
ibmcloud ks cluster get --cluster <cluster_name> --show-resources
。 在 VLAN 區段中,尋找 Public 值為false
的 CIDR。 附註:如果將ipsec.keyexchange
設為ikev1
,則您只能指定一個子網路。 不過,您可以使用localSubnetNAT
設定,將多個叢集子網路結合成單一子網路。
- Kubernetes Pod 子網路 CIDR:
-
選用項目:使用
localSubnetNAT
設定來重新對映叢集子網路。 子網路的「網址轉換 (NAT)」能針對叢集網路與遠端內部部署網路之間的子網路衝突,提供暫行解決方法。 您可以使用 NAT,將叢集的專用本端 IP 子網路、Pod 子網路 (172.30.0.0/16) 或 Pod 服務子網路 (172.21.0.0/16) 重新對映至不同的專用子網路。 VPN 通道會看到重新對映的 IP 子網路,而非原始子網路。 重新對映發生在封包透過 VPN 通道傳送之前,以及封包從 VPN 通道抵達之後。 您可以透過 VPN 同時公開重新對映及未重新對映的子網路。 若要啟用 NAT,您可以新增整個子網路或新增個別 IP 位址。- 如果您以
10.171.42.0/24=10.10.10.0/24
的格式新增整個子網路,則 1-to-1: 內部網路子網路中的所有 IP 位址都會映射到外部網路子網路,反之亦然。 - 如果您以格式
10.171.42.17/32=10.10.10.2/32,10.171.42.29/32=10.10.10.3/32
新增個別 IP 位址,則只有那些內部 IP 位址會對映到指定的外部 IP 位址。
- 如果您以
-
2.2.0 及以後版本可選 strongSwan Helm 圖表:透過設定
enableSingleSourceIP
至true
,將所有群集 IP 位址隱藏在單一 IP 位址之後。 此選項為 VPN 連線提供其中一個最安全的配置,因為不允許從遠端網路回到叢集的任何連線。- 此設定要求流經 VPN 連線的所有資料流程都必須是出埠流程,無論 VPN 連線是從叢集建立,還是從遠端網路建立。
- 如果將 strongSwan 安裝到單一區域叢集裡,則必須將
local.subnet
設定為唯一 IP 位址作為 /32 子網路。 如果將 strongSwan 安裝在多區域叢集裡,則可以將local.subnet
設定為%zoneSubnet
變數,並使用local.zoneSubnet
為叢集的每個區域指定一個 IP 位址作為 /32 子網路。
-
2.2.0 版以及更新版本 strongSwan Helm Chart 的選用項目:使用
localNonClusterSubnet
設定,讓 strongSwan 服務可將送入的要求從遠端網路遞送至存在於叢集以外的服務。- 非叢集服務必須存在於相同的專用網路上,或工作者節點可以連接的專用網路上。
- 非叢集工作節點無法透過 VPN 連線啟動到遠端網路的流量,但非叢集節點可以成為遠端網路傳入要求的目標。
- 您必須在
local.subnet
設定中列出非叢集子網路的 CIDR。
步驟 5:透過 VPN 連線存取遠端網路資源
決定哪些遠端網路資源必須可由叢集透過 VPN 連線存取。
- 將一個以上的內部部署專用子網路的 CIDR 新增至
remote.subnet
設定。 附註:如果將ipsec.keyexchange
設為ikev1
,則您只能指定一個子網路。 - 2.2.0 版以及更新版本 strongSwan Helm Chart 的選用項目:使用
remoteSubnetNAT
設定來重新對映遠端網路子網路。 子網路的「網址轉換 (NAT)」能針對叢集網路與遠端內部部署網路之間的子網路衝突,提供暫行解決方法。 您可以使用 NAT,將遠端網路的 IP 子網路重新對映至不同的專用子網路。 重新對映發生在封包透過 VPN 通道傳送之前。 叢集裡的 Pod 會看到重新對映的 IP 子網路,而非原始子網路。 在 Pod 透過 VPN 通道傳回資料之前,重新對映的 IP 子網路會切換回遠端網路正在使用的實際子網路。 您可以透過 VPN 同時公開重新對映及未重新對映的子網路。
步驟 6(選用):使用 Slack Webhook 整合啟用監視
若要監視 strongSwan VPN 的狀態,您可以設定 Webhook 將 VPN 連線功能訊息自動張貼到 Slack 頻道。
-
登入 Slack 工作區。
-
按一下要求安裝。 如果此應用程式未列在 Slack 設定中,請聯絡 Slack 工作區擁有者。
-
在核准安裝要求之後,請按一下新增配置。
-
選擇 Slack 頻道,或建立新頻道以將 VPN 訊息傳送至其中。
-
複製所產生的 Webhook URL。 此 URL 格式與下列類似:
https://hooks.slack.com/services/A1AA11A1A/AAA1AAA1A/a1aaaaAAAaAaAAAaaaaaAaAA
-
若要驗證已安裝 Slack Webhook,請執行下列指令,將測試訊息傳送至 Webhook URL:
curl -X POST -H 'Content-type: application/json' -d '{"text":"VPN test message"}' <webhook_URL>
-
移至您選擇的 Slack 頻道,以驗證測試訊息已成功。
-
在 Helm Chart 的
config.yaml
檔案中,配置 Webhook 來監視您的 VPN 連線。- 將
monitoring.enable
變更為true
。 - 在遠端子網路中,新增專用 IP 位址或 HTTP 端點,您想要確保它們可透過
monitoring.privateIPs
或monitoring.httpEndpoints
的 VPN 連線來聯絡。 例如,您可以將remote.privateIPtoPing
設定中的 IP 新增至monitoring.privateIPs
。 - 將 Webhook URL 新增至
monitoring.slackWebhook
。 - 視需要變更其他選用的
monitoring
設定。
- 將
步驟 7:部署 Helm Chart
在您的叢集裡,使用您先前選擇的配置來部署 Helm Chart。
-
如果您需要配置其他進階設定,請遵循提供的文件以瞭解 Helm Chart 中的每一個設定。
-
儲存已更新的
config.yaml
檔案。 -
使用已更新的
config.yaml
檔案,將 Helm Chart 安裝至叢集。如果單一叢集裡有多個 VPN 部署,您可以選擇比
vpn
更具描述性的版本名稱,以避免命名衝突並區分您的部署。 為了避免截斷版本名稱,請將版本名稱限制為 35 個字元以內。helm install vpn iks-charts/strongswan -f config.yaml
-
檢查圖表部署狀態。 圖表準備就緒時,輸出附近的 STATUS 欄位值為
DEPLOYED
。helm status vpn
-
部署圖表之後,請驗證已使用
config.yaml
檔案中的已更新設定。helm get values vpn
僅支援過去 6 個月發行的 strongSwan Helm Chart 版本。 確保您一致地 升級 strongSwan Helm Chart,以取得最新特性及安全修正程式。
測試並驗證 strongSwan VPN 連線功能
部署 Helm Chart 之後,請測試 VPN 連線功能。
-
如果內部部署閘道上的 VPN 不在作用中,請啟動 VPN。
-
設定
STRONGSWAN_POD
環境變數。export STRONGSWAN_POD=$(kubectl get pod -l app=strongswan,release=vpn -o jsonpath='{ .items[0].metadata.name }')
-
檢查 VPN 的狀態。
ESTABLISHED
狀態表示 VPN 連線成功。kubectl exec $STRONGSWAN_POD -- sudo ipsec status
輸出範例
Security Associations (1 up, 0 connecting): k8s-conn[1]: ESTABLISHED 17 minutes ago, 172.30.xxx.xxx[ibm-cloud]...192.xxx.xxx.xxx[on-premises] k8s-conn{2}: INSTALLED, TUNNEL, reqid 12, ESP in UDP SPIs: c78cb6b1_i c5d0d1c3_o k8s-conn{2}: 172.21.0.0/16 172.30.0.0/16 === 10.91.152.xxx/26
-
當您嘗試使用 strongSwan Helm Chart 建立 VPN 連線功能時,有可能第一次的 VPN 狀態不是
ESTABLISHED
。 您可能需要檢查內部 VPN 端點設定,並變更設定檔好幾次,才能成功連線。- 執行
helm uninstall <release_name> -n <namespace>
- 修正配置檔中不正確的值。
- 執行
helm install vpn iks-charts/strongswan -f config.yaml
您也可以在下一步執行更多檢查。
- 執行
-
如果 VPN Pod 處於
ERROR
狀況,或持續當機並重新啟動,則可能是由於圖表的 ConfigMap 中ipsec.conf
設定的參數驗證所造成。- 執行
kubectl logs $STRONGSWAN_POD
,檢查 strongSwan Pod 日誌以尋找任何驗證錯誤。 - 如果存在驗證錯誤,請執行
helm uninstall <release_name> -n <namespace>
- 修正配置檔中不正確的值。
- 執行
helm install vpn iks-charts/strongswan -f config.yaml
- 執行
-
-
您可以執行 strongSwan 圖表定義中的五個 Helm 測試,進一步測試 VPN 連線性。
helm test vpn
- 如果所有測試都通過,您的 strongSwan VPN 連線已成功設定。
- 如果有任何測試失敗,請繼續下一步。
-
查看測試 Pod 的日誌,以檢視失敗測試的輸出。
kubectl logs <test_program>
有些測試的要求是 VPN 設定中的選用設定。 如果某些測試失敗,這些失敗可能是可以接受的,這取決於您是否指定這些選用設定。 如需每一個測試及其失敗原因的相關資訊,請參閱下表。
vpn-strongswan-check-config
- 驗證由
config.yaml
檔案產生的ipsec.conf
檔案的語法。 由於config.yaml
檔案中的值不正確,此測試可能會失敗。 vpn-strongswan-check-state
- 檢查 VPN 連線的狀態是否為
ESTABLISHED
。 此測試可能會因為下列原因而失敗。config.yaml
檔案中的值與內部 VPN 端點設定之間的差異。- 如果群集处于「监听」模式(
ipsec.auto
设置为add
),则不会在内部端建立连接。
vpn-strongswan-ping-remote-gw
- Pings 您在
config.yaml
檔案中設定的remote.gateway
公共 IP 位址。 如果 VPN 連線的狀態是ESTABLISHED
,您可以忽略此測試的結果。 如果 VPN 連線沒有ESTABLISHED
狀態,此測試可能會因為下列原因而失敗。- 您未指定內部部署 VPN 閘道 IP 位址。 如果
ipsec.auto
設定為start
,則需要remote.gateway
IP 位址。 - ICMP(連線測試)封包遭到防火牆封鎖。
- 您未指定內部部署 VPN 閘道 IP 位址。 如果
vpn-strongswan-ping-remote-ip-1
- 從群集中的 VPN pod Ping 企業內部 VPN 閘道的
remote.privateIPtoPing
私有 IP 位址。 此測試可能因下列原因而失敗。 \n -您未指定remote.privateIPtoPing
IP 位址。 如果您刻意未指定 IP 位址,則可接受此失敗。 \n -您未在local.subnet
清單中指定叢集 Pod 子網路 CIDR172.30.0.0/16
。 vpn-strongswan-ping-remote-ip-2
- 從群集中的工作節點 Ping 企業內部 VPN 閘道的
remote.privateIPtoPing
私有 IP 位址。 此測試可能因下列原因而失敗。 \n -您未指定remote.privateIPtoPing
IP 位址。 如果您刻意未指定 IP 位址,則可接受此失敗。 \n -您未在local.subnet
清單中指定叢集工作者節點專用子網路 CIDR。|
-
刪除現行 Helm Chart。
helm uninstall vpn -n <namespace>
-
開啟
config.yaml
檔案,並修正不正確的值。 -
儲存已更新的
config.yaml
檔案。 -
使用已更新的
config.yaml
檔案,將 Helm Chart 安裝至叢集。 更新的內容會儲存在您圖表的 ConfigMap 中。helm install vpn iks-charts/strongswan -f config.yaml
-
檢查圖表部署狀態。 圖表就緒時,輸出中的 STATUS 欄位值為
DEPLOYED
。
helm status vpn
- 部署圖表之後,請驗證已使用
config.yaml
檔案中的已更新設定。
helm get values vpn
- 清除現行測試 Pod。
kubectl get pods -a -l app=strongswan-test
kubectl delete pods -l app=strongswan-test
- 重新執行測試。
helm test vpn
依名稱空間或工作者節點限制 strongSwan VPN 資料流量
如果您具有單一承租戶叢集,或者如果您具有可在承租戶之間共用叢集資源的多方承租戶叢集,則您可以將每個 strongSwan 部署的 VPN 資料流量限制為特定名稱空間中的 Pod。 如果您具有叢集資源專用於承租戶的多方承租戶叢集,則您可以將每個 strongSwan 部署的 VPN 資料流量限制為專用於每個承租戶的工作者節點。
依名稱空間限制 strongSwan VPN 資料流量
當您具有單一承租戶或多方承租戶叢集時,可以將 VPN 資料流量限制為僅在特定名稱空間中的 Pod。
例如,假設您只要特定名稱空間 (my-secure-namespace
) 中的 Pod 透過 VPN 傳送及接收資料。 您不希望其他命名空間 (例如 kube-system
, ibm-system
或 default
) 中的 Pod 存取您的內部網路。 若要將 VPN 資料流量限制為僅限 my-secure-namespace
,您可以建立 Calico
廣域網路原則。
在使用此解決方案之前,請檢閱下列考量及限制。
-
您不需要將 strongSwan Helm 圖表部署到指定的命名空間。 strongSwan VPN Pod 及遞送常駐程式集可以部署至
kube-system
或任何其他名稱空間。 如果 strongSwan VPN 未部署至指定的名稱空間,則vpn-strongswan-ping-remote-ip-1
Helm 測試會失敗。 這是預期且可接受的失敗。 此測試會從 Pod 對內部部署 VPN 閘道的remote.privateIPtoPing
專用 IP 位址進行連線測試,而此 Pod 不在可以直接存取遠端子網路的名稱空間中。 不過,VPN Pod 仍然能夠將資料流量轉遞至名稱空間中對遠端子網路具有路徑的 Pod,而且資料流量仍然可以正確地流動。 VPN 狀況仍是ESTABLISHED
,而且所指定之名稱空間中的 Pod 可以透過 VPN 進行連接。 -
以下步驟中的 Calico 全局網路政策不會阻止使用主機網路的 Kubernetes pod 透過 VPN 傳送和接收資料。 使用主機網路配置 Pod 時,在 Pod 中執行的應用程式可以接聽其所在工作者節點的網路介面。 這些主機網路 Pod 都可以存在於任何名稱空間中。 若要確定哪些 pod 有主機網路,請執行
kubectl get pods --all-namespaces -o wide
,並尋找任何沒有172.30.0.0/16
pod IP 位址的 pod。 如果您想要防止主機網路 Pod 透過 VPN 傳送及接收資料,您可以在values.yaml
部署檔案中設定下列選項:local.subnet: 172.30.0.0/16
及enablePodSNAT: false
。 這些組態設定會讓所有 Kubernetes pod 透過 VPN 連線暴露於遠端網路。 不過,只有位於所指定之安全名稱空間的 Pod 才能透過 VPN 進行聯絡。
開始之前
要將 VPN 流量限制在特定命名空間、
-
建立名為
allow-non-vpn-outbound.yaml
的 Calico 廣域網路原則。 此原則允許所有名稱空間繼續將出埠資料流量傳送至所有目的地,但 strongSwan VPN 存取的遠端子網路除外。 將<remote.subnet>
改為您在 Helmvalues.yaml
設定檔中指定的remote.subnet
。 若要指定多個遠端子網路,請參閱 Calico 文件。apiVersion: projectcalico.org/v3 kind: GlobalNetworkPolicy metadata: name: allow-non-vpn-outbound spec: selector: has(projectcalico.org/namespace) egress: - action: Allow destination: notNets: - <remote.subnet> order: 900 types: - Egress
-
套用原則。
calicoctl apply -f allow-non-vpn-outbound.yaml --config=filepath/calicoctl.cfg
-
建立另一個名為
allow-vpn-from-namespace.yaml
的 Calico 廣域網路原則。 此原則僅允許指定的名稱空間將出埠資料流量傳送至 strongSwan VPN 存取的遠端子網路。 將<namespace>
改為可以存取 VPN 的命名空間,將<remote.subnet>
改為您在 Helmvalues.yaml
設定檔中指定的remote.subnet
。 若要指定多個命名空間或遠端子網路,請參閱 Calico 文件。apiVersion: projectcalico.org/v3 kind: GlobalNetworkPolicy metadata: name: allow-vpn-from-namespace spec: selector: projectcalico.org/namespace == "<namespace>" egress: - action: Allow destination: nets: - <remote.subnet> order: 900 types: - Egress
-
套用原則。
calicoctl apply -f allow-vpn-from-namespace.yaml --config=filepath/calicoctl.cfg
-
驗證已在叢集裡建立廣域網路原則。
calicoctl get GlobalNetworkPolicy -o wide --config=filepath/calicoctl.cfg
依工作者節點限制 strongSwan VPN 資料流量
在多方承租戶叢集裡具有多個 strongSwan VPN 部署時,您可以將每個部署的 VPN 資料流量限制為專用於每個承租戶的特定工作者節點。
部署 strongSwan Helm Chart 時,會建立 strongSwan VPN 部署。 strongSwan VPN Pod 會部署至任何無污點的工作者節點。 此外,還會建立 Kubernetes 常駐程式集。 此常駐程式集會自動將叢集裡所有無污點之工作者節點上的路徑配置為每個遠端子網路。 strongSwan VPN Pod 會使用工作者節點上的路徑,將要求轉遞至內部部署網路中的遠端子網路。
除非您在 tolerations
檔案的 value.yaml
設定中指定污點,否則路徑不會配置在有污點的節點上。 藉由為工作者節點加上污點,您可以阻止在這些工作者節點上配置任何 VPN 路徑。 然後,在 tolerations
設定中,您可以只針對您要在有污點工作者節點上允許的 VPN 部署指定污點。 如此,某個承租戶的 Helm Chart 部署的 strongSwan VPN Pod 只會使用該承租戶的工作者節點上的路徑,透過
VPN 連線將資料流量轉遞至遠端子網路。
在使用此解決方案之前,請檢閱下列考量及限制。
- 依預設,Kubernetes 會將應用程式 Pod 放置在任何可用的無污點工作者節點上。 若要確定此解決方案運作正常,每個承租戶必須先確定他們只針對正確的承租戶將其應用程式 Pod 部署至有污點的工作者節點。 此外,每個有污點的工作者節點也都必須要有一個容錯,才能讓應用程式 Pod 放置在節點上。 有關污點和容忍度的詳細資訊,請參閱 Kubernetes 文件。
- 叢集資源可能未以最佳化方式使用,因為任一承租戶都無法將應用程式 Pod 放置在共用的無污點節點上。
依工作者節點限制 strongSwan VPN 資料流量的下列步驟會使用此範例情境:假設您有一個多方承租戶 IBM Cloud Kubernetes Service 叢集,具有六個工作者節點。 叢集支援租戶 A 和租戶 B。 您可以使用下列方式來污染工作者節點。
- 兩個工作者節點有污點,因此只有承租戶 A Pod 才會排定在工作者節點上。
- 兩個工作者節點有污點,因此只有承租戶 B Pod 才會排定在工作者節點上。
- 兩個工作者節點沒有污點,因為 strongSwan VPN Pod 及執行所在的負載平衡器 IP 至少需要 2 個工作者節點。
要限制 VPN 流量到每個租戶的汙染節點。
-
在此範例中,若要限制 VPN 流量僅限於專用於租戶 A 的工作者,請在租戶 A 的
values.yaml
檔案中指定下列toleration
strongSwan Helm 圖。tolerations: - key: dedicated operator: "Equal" value: "tenantA" effect: "NoSchedule"
此容忍度允許路由守護程式集在兩個有
dedicated="tenantA"
污點的工作節點和兩個未受污染的工作節點上執行。 此部署的 strongSwan VPN Pod 會在兩個無污點的工作者節點上執行。 -
在此範例中,若要限制 VPN 流量僅限於專用於租戶 B 的工作者,請在租戶 B 的
values.yaml
檔案中指定下列toleration
strongSwan Helm 圖。tolerations: - key: dedicated operator: "Equal" value: "tenantB" effect: "NoSchedule"
此容忍度允許路由守護程式集在兩個有
dedicated="tenantB"
污點的工作節點和兩個未受污染的工作節點上執行。 此部署的 strongSwan VPN Pod 也會在兩個無污點的工作者節點上執行。
升級或停用 strongSwan Helm Chart
確保您一致地升級 strongSwan Helm 圖表,以取得最新特性及安全修正程式。
檢閱 strongSwan Helm 圖表的受支援版本。 通常,圖表版本會在其發行日期之後 6 個月變成已淘汰。
- 支援: 2.7.9、2.7.8、2.7.7、2.7.6、2.7.5、2.7.4、2.7.3、2.7.2
- 已淘汰: 2.7.1、2.7.0、2.6.9、2.6.8、2.6.7
- 不受支援: 2.6.6 及更舊版本
如需每一個 strongSwan Helm Chart 版本的發行日期和變更日誌,請執行 helm show readme iks-charts/strongswan
並尋找 Version History
區段。
若要將 strongSwan Helm 圖表升級至最新版本,請使用 helm upgrade
指令。
helm upgrade -f config.yaml <release_name> iks-charts/strongswan
您可以藉由刪除 Helm Chart 來停用 VPN 連線。
helm uninstall <release_name> -n <namespace>
使用 Virtual Router Appliance
Virtual Router Appliance (VRA) 提供適用於 x86 裸機伺服器的最新 Vyatta 5600 作業系統。 您可以使用 VRA 作為 VPN 閘道,以安全地連接至內部部署網路。
進入或離開叢集 VLAN 的所有公用及專用網路資料流量都會透過 VRA 遞送。 可以使用 VRA 作為 VPN 端點,以在 IBM Cloud 基礎架構中的伺服器和內部部署資源之間建立加密的 IPSec 通道。 例如,下圖顯示 IBM Cloud Kubernetes Service 中僅限專用工作者節點上的應用程式如何透過 VRA VPN 連線與內部部署伺服器通訊:
使用負載平衡器
-
叢集裡的應用程式 (
myapp2
) 收到來自 Ingress 或 LoadBalancer 服務的要求,且需要安全地連接至內部部署網路中的資料。 -
因為
myapp2
位於僅限專用 VLAN 的工作者節點上,所以 VRA 在工作者節點與內部部署網路之間作為安全連線。 VRA 會使用目的地 IP 位址,來判定要傳送至內部部署網路的網路封包。 -
此要求會加密並透過 VPN 通道傳送至內部部署資料中心。
-
送入的要求會通過內部部署防火牆,並遞送至 VPN 通道端點(路由器),在該處解密。
-
VPN 通道端點 (路由器) 會將要求轉遞至內部部署伺服器或大型主機,視步驟 2 中指定的目的地 IP 位址而定。 必要的資料會透過相同的處理程序,透過 VPN 連線傳回至
myapp2
。
若要設定 Virtual Router Appliance、
-
若要使用 VRA 啟用 VPN 連線,請在 VRA 上配置 VRRP。
如果您具有現有的路由器應用裝置,然後新增叢集,則系統不會在路由器應用裝置上配置針對該叢集所訂購的新可攜式子網路。 若要使用網路服務,您必須透過 啟用 VLAN 產生或 VRF 來啟用相同 VLAN 上的子網路之間的路由。