VPN 伺服器的規劃考量
在建立用戶端至網站 VPN 伺服器之前,請先檢閱下列考量。
調整大小考量
獨立式 VPN 的聚集頻寬為 600 Mbps,高可用性 VPN 伺服器的聚集頻寬為 1200 Mbps。 作用中用戶端數目上限為 2000。 如果您需要更多頻寬,或有更多用戶端需要與 VPN 伺服器連接,則可以在相同 VPC 或不同地區的不同 VPC 中建立多個 VPN 伺服器。
現有 VPC 配置考量
決定您是否需要從用戶端存取服務端點及 IaaS 端點。 這些端點透過 IBM Cloud 專用網路安全地連接至 IBM Cloud 服務。 如果您需要存取這些端點,則必須在佈建 VPN 伺服器時指定 DNS 伺服器位址 161.26.0.10
及 161.26.0.11
。 如需詳細資料,請參閱 服務端點 及 IaaS 端點。
您也必須決定是否需要從用戶端解析專用 DNS 名稱。IBM Cloud DNS Services 提供專用 DNS 給 VPC 使用者。 如果您需要存取這些端點,則必須在佈建 VPN 伺服器時指定 DNS 伺服器位址 161.26.0.7
及 161.26.0.8
。 如需詳細資料,請參閱 關於 DNS Services。
當您指定此 DNS 伺服器時,也必須在佈建 VPN 伺服器之後建立 VPN 路由,並具有目的地 161.26.0.0/16
及 translate
動作。
VPN 伺服器佈建考量
佈建 VPN 伺服器時,請考量下列事項。
用戶端 IPv4 位址儲存區
當您建立 VPN 伺服器時,系統會提示您輸入用戶端 IPv4 位址儲存區 (CIDR 範圍)。 用戶端會從這個位址儲存區為其階段作業指派一個 IP 位址。 請記住,用戶端 IP 儲存區內容不得與 VPC 位址字首重疊。 如果用戶端 IP 儲存區與現有位址字首重疊,則 VPN 服務會驗證用戶端 IP 位址。
請檢閱下列需求:
- 每一個作用中 VPN 用戶端都會獲指派可配置 IP 儲存區中的 IP 位址。 您必須小心選取 IP CIDR 範圍,以確保它不會與 VPC 字首及個人裝置本端 CIDR 重疊。
- 視使用案例而定,用戶端 IP 儲存區不能與客戶的本端裝置 IP 位址重疊。 用戶端 IP 儲存區也不能與目的地網路重疊; 例如,如果使用 VPN 伺服器來存取 IBM Cloud 標準網路,則用戶端 IP 不能與 IBM Cloud 標準網路重疊。
- 您必須確保區塊大小至少為
/22
(1024
可用 IP 位址)。 建議使用 CIDR 區塊,其中包含啟用並行連線數目上限所需之 IP 位址數目的兩倍。
子網路: 高可用性與獨立式模式
建立 VPN 伺服器時,您可以指定高可用性或獨立式模式。
- 如果您選取高可用性模式,則必須跨不同區域中的兩個子網路部署 VPN 伺服器。 將此模式用於正式作業部署。 最適合於用戶端 VPN 存取非常重要的多區域部署及解決方案。
- 如果您選取獨立式模式,則會在單一子網路及區域中部署 VPN 伺服器。 在不需要多區域備援的試驗非正式作業部署中使用此模式。
VPN 伺服器鑑別
您必須在佈建期間指定 VPN 伺服器憑證。 您可以使用 IBM Cloud Secrets Manager建立憑證,或使用您自己的憑證。
如果使用 CLI 或 API,您必須指定憑證的 CRN。 若要取得憑證 CRN,請參閱 尋找憑證 CRN。
如果 VPN 伺服器僅使用使用者 ID 及密碼鑑別,則您只需要指定 VPN 伺服器憑證,其中包括公開/私密金鑰及 CA 憑證。 VPN 服務會從憑證實例取得公開及私密金鑰,並將它們儲存在 VPN 伺服器中。 此 CA 憑證也會複製到用戶端設定檔中,以便用戶端可以使用 CA 憑證來驗證 VPN 伺服器。
如果已啟用憑證鑑別,則必須指定用戶端 CA 憑證。 不需要公開金鑰和私密金鑰。 VPN 服務會從 Secrets Manager取得用戶端 CA 憑證。 接著,用戶端會在與 VPN 伺服器連接時呈現其公開金鑰,而 VPN 伺服器會使用 CA 憑證來驗證公開金鑰。
如果用戶端及 VPN 伺服器憑證是由相同的 CA 簽署,則管理者可以在佈建 VPN 伺服器時使用相同的憑證實例。
如需相關資訊,請參閱 設定用戶端至伺服器鑑別。
VPN 用戶端鑑別
身為 VPN 伺服器管理者,您必須至少選擇一個鑑別方法,並在 VPN 伺服器佈建期間配置它。 您可以選擇用戶端憑證、使用使用者 ID 及通行碼來新增安全,或同時選擇這兩種類型的用戶端鑑別。
多個 VPN 用戶端可以共用一個用戶端憑證。
如果您計劃使用用戶端憑證,使用者必須編輯伺服器管理者所提供的用戶端設定檔,並包含用戶端憑證 (也稱為公開金鑰) 和私密金鑰。 請注意,如果只使用「使用者 ID 及通行碼」用戶端鑑別,則不需要修改用戶端設定檔。
使用專用憑證進行用戶端鑑別時,管理者不需要修改用戶端設定檔。 相反地,管理者可以下載具有所有憑證的已合併私密憑證和金鑰的用戶端設定檔,或選取私密憑證並下載具有所選取憑證的已合併私密憑證和金鑰的用戶端設定檔。 如需相關資訊,請參閱 設定用戶端 VPN 環境並連接至 VPN 伺服器。
VPN 使用者不會直接使用其密碼來連接至 VPN 伺服器。 他們透過瀏覽器從 IBM Access Manager (IAM) 取得密碼,如果已啟用 MFA,則一律透過瀏覽器執行 MFA 強制執行。 使用者必須適當地配置 MFA,以確保可以在瀏覽器上執行 MFA 強制執行。 在使用者取得密碼之後,他們會在 OpenVPN 用戶端上輸入密碼,並起始連線。
VPN 伺服器會從 VPN 用戶端接收使用者名稱及通行碼,並發出 IAM 呼叫以使用 IAM 原則來驗證通行碼及許可權。
- 密碼是一次性密碼。 使用者必須重新產生通行碼以重新連線,即使重新連線是由 VPN 伺服器起始。
- 不支援 SoftLayer MFA,因為未透過瀏覽器強制執行 SoftLayer MFA。
如果您使用使用者 ID/ 密碼鑑別,維護活動會強制使用者透過提取並重新輸入程式碼來重新鑑別。 只有在輸入新程式碼之後,才會還原連線。 這適用於使用獨立式或 HA 模式。
用戶端憑證撤銷清冊
您可以選擇性地匯入憑證撤銷清冊 (CRL),這是憑證管理中心 (CA) 已撤銷之憑證的時間戳記清單。 憑證撤銷清冊 (CRL) 中的憑證可能不會過期,但發出憑證的憑證管理中心不再信任它。 VPN 用戶端會使用此清單來驗證數位憑證。
匯入 CRL 之後,VPN 用戶端會使用此清單來驗證數位憑證。 CRL 會在系統中儲存成字串 (不是檔案)。 如果您未來需要下載 CRL,則會將它重新命名為 <vpn_server_name>.pem.
如需相關資訊,請參閱 設定用戶端至伺服器鑑別。
傳輸通訊協定
傳輸層監督從一個裝置上的處理程序到另一個裝置上的處理程序的資料遞送。 傳輸層通訊協定在應用程式層通訊協定與網路所提供的服務之間充當聯絡人。 用戶端 VPN for VPC 支援下列通訊協定:
建議使用 UDP,以取得最佳效能; 建議使用 TCP,以取得可靠性。
-
使用者資料封包通訊協定 (UDP)
「使用者資料封包通訊協定 (UDP)」是一種具有最小額外負擔的簡單輕量型通訊協定。 如果處理程序想要傳送小型訊息,且不關心可靠性,則可以使用 UDP。 使用 UDP 傳送訊息所花費的時間比使用 TCP 所花費的時間少很多。 它很少執行錯誤檢查,除了提供處理程序至處理程序通訊而非主機至主機通訊之外,不會為 IP 服務增加任何優點。
-
傳輸控制通訊協定 (Transmission Control Protocol, TCP)
傳輸控制通訊協定 (TCP) 是可靠但複雜的傳輸層通訊協定。 TCP 會將連線導向特性及可靠性新增至 IP 服務。
TCP 是一種串流遞送服務,可保證將從一個主機傳送至另一個主機的資料串流遞送,而不會重複或遺失資料。 由於封包傳送不是可靠的,因此會使用一種稱為正向確認與重新傳輸的技術來保證封包傳送的可靠性。 這項基本技術需要接收端在接收資料時回應確認通知訊息。
傳送端會保留它所傳送的每一個封包的記錄,並在傳送下一個封包之前等待確認通知。 傳送端也會從傳送封包的時間開始保留計時器,並在計時器到期時重新傳輸封包。 如果封包遺失或毀損,則需要此計時器。
完整與分割通道模式
設定 VPN 連線時,會透過網際網路建立與 VPN 伺服器的加密通道。 除了現有 LAN 介面之外,VPN 連線還會顯示為電腦的虛擬網路介面。 現在,您可以同步使用這兩個介面,方法是透過另一個介面 (VPN 通道之外) 將專用資料流量傳送至 VPN 通道內的 VPC 及公用資料流量 (網際網路資料流量)。 在 VPN 介面與其他介面之間分割資料流量時,稱為使用中的 分割通道作業。 當分割通道作業不在使用中時,所有資料流量都會使用 VPN 介面,導致網際網路資料流量傳送至 VPN 通道 (即 full-tunnel)。
其他考量:
- 如果用戶端在沒有 VPN 通道的情況下存取網際網路時,您有安全疑慮,請使用完整通道 (預設值) 模式。 符合法規標準通常需要完整通道; 不過,此方法可能成本高昂,而且也會增加 VPN 伺服器的負載。
- 在分割通道模式中,VPN 伺服器會將路徑推送至 VPN 用戶端。 這樣,OpenVPN 用戶端就知道應該將哪些資料流量傳送至 VPN 通道。 您在新增路徑時應該小心,並避免遞送迴圈。 例如,如果 VPN 伺服器的公用 IP 位址為
3.3.3.3
,則您無法新增路徑3.3.3.0/24
,因為此路徑會將不應通過 VPN 通道的資料流量傳送至3.3.3.3
。 理想情況下,您應該只將專用子網路配置為路徑目的地,例如 VPC 子網路、CSE 子網路、內部部署專用子網路等。 - VPN 路由會推送至 VPN 用戶端。 如果 VPN 用戶端已有具有相同目的地的路徑,則路徑「推送」會失敗,且資料流量無法到達 VPN 伺服器。 您必須解決路徑衝突,然後重新連接 VPN 用戶端。 常見的問題是如果您在分割通道模式 VPN 伺服器上新增具有目的地
0.0.0.0/0
的 VPN 路由,且此路由需要推送至 VPN 用戶端。 一般而言,VPN 用戶端已具有目的地為0.0.0.0/0
的路徑; 因此,此 VPN 路徑將與您的 VPN 用戶端路徑衝突。 若要避免衝突,請使用完整通道模式 VPN 伺服器,或移除主機上的路徑0.0.0.0/0
。
無論您選擇哪種通道模式,都必須使用 API /vpn_servers/{id}/routes
來定義 VPN 伺服器如何從 VPN 用戶端轉遞資料流量。 例如,如果您想要來自用戶端的網際網路資料流量通過 VPN 通道,則必須使用 VPN 服務路徑 API 來配置 0.0.0.0/0
路徑。
支援的 VPN 用戶端軟體
您必須為使用者提供 VPN 用戶端軟體。 已驗證使用下列用戶端軟體版本:
- 若為 macOS Catalina 以及更新版本: OpenVPN Connect v3、OpenVPN Connect v2和 Tunnelblick 3.8.4
- Windows 8 以及更新版本: OpenVPN Connect v3、OpenVPN Connect v2
- RHEL 7.x 以及更新版本: OpenVPN Connect v3、OpenVPN Connect v2以及 OpenVPN 指令行用戶端 ( 2.4.4 版以及更新版本)
- Ubuntu 18.04 以及更新版本: OpenVPN Connect v3、OpenVPN Connect v2以及 OpenVPN 指令行用戶端 ( 2.4.10 版以及更新版本)
VPN 用戶端使用者可以選擇其他 OpenVPN-2.4-compatible 用戶端軟體。 不過,不保證未列出的軟體可以運作。
IBM Power Virtual Servers: 自動化工作區的部署
提供用戶端至網站 VPN 自動化專案,可提供 Terraform 模組來建立用戶端至網站 VPN 伺服器,讓使用者從站上或遠端裝置安全連接至 Power Virtual Server 工作區。 此自動化專案的 Github 儲存庫位於 IBM / power-vpn-server Github 儲存庫。 此專案 Readme 檔 會建立 VPN 伺服器,並將它連接至新的或現有的 Power Virtual Server 工作區,以提供對 IBM Cloud Power 基礎架構的安全存取。
使用 Terraform 設定 VPN 伺服器
您可以從 IBM /terraform-ibm-cloud-vpn-server-example Github 儲存庫下載 VPN 伺服器設定的 Terraform 配置範例。 此專案 Readme 檔) 顯示如何完成下列步驟:
-
使用試用方案建立 IBM Cloud Secrets Manager 實例。
-
在本端產生伺服器憑證/金鑰及用戶端憑證/金鑰,或使用 IBM Secrets Manager 服務中的私密憑證功能來產生憑證/金鑰。
-
將伺服器/用戶端憑證/金鑰匯入至 Secrets Manager 實例。
如果您是使用 IBM Secrets Manager 產生的專用憑證,請跳過此步驟。
-
建立一個具有一個子網路的 VPC。
-
建立另一個子網路。
-
建立具有入埠及出埠規則的安全群組,以容許所有資料流量。
-
在 Secerts Manager 實例中的子網路、安全群組及伺服器/用戶端憑證內建立 VPN 伺服器。
-
下載 VPN 用戶端設定檔,並在用戶端設定檔中配置用戶端憑證及金鑰。
然後,使用者可以搭配使用 VPN 用戶端設定檔與 OpenVPN 用戶端,以將其用戶端系統連接至所建立的 VPN 伺服器。
若要套用 Terraform 配置,請使用 IBM Cloud API 金鑰執行下列指令:
terraform apply --var "ibmcloud_api_key={{YOUR_IBM_CLOUD_API_KEY}}"
如需相關資訊,請參閱 IBM Terraform 登錄。