全部產品
Search
文件中心

VPN Gateway:PC/Android通過SSL-VPN串連VPC

更新時間:Jan 08, 2026

可通過SSL-VPN打通用戶端(Windows、Linux、Android、macOS)與雲上VPC內網,實現互連網環境下的安全訪問。

針對iOS/iPadOS系統用戶端,請查看iPhone/iPad通過SSL-VPN串連VPC

情境樣本

目標:建立SSL-VPN網關,使本地用戶端能夠通過內網IP安全訪問VPC內的ECS執行個體。

image

資源規劃如下:

  • VPC

    • 名稱:vpc-demo

    • 地區:華東1(杭州)

    • 網段:10.0.0.0/16

    • 交換器:建立2個,名稱分別為vsw1vsw2

      • vsw1位於可用性區域J,網段:10.0.0.0/24

      • vsw2位於可用性區域K,網段:10.0.1.0/24

    • ECS:地址為10.0.0.1,作業系統為Alibaba Cloud Linux 3.2104 LTS 64位

  • 用戶端所在的本地網段:172.16.0.0/16

步驟一:配置雲上VPN資源

在將用戶端串連到VPC之前,需先在阿里雲控制台建立並配置 VPN 閘道、SSL 服務端、SSL用戶端。

1. 建立VPN網關

VPN 閘道是 SSL-VPN 串連在雲上的出入口。

  1. 前往控制台VPN網關頁面,單擊建立VPN網關

  2. VPN網關頁面進行配置:

    配置項

    截圖

    • 執行個體名稱vpn-demo

    • 地區華東1(杭州)

    • 專用網路:選擇用戶端要訪問的VPC。

    • 虛擬交換器1/虛擬交換器2: 分別選擇vsw1vsw2

      VPN網關底層採用雙機熱備架構,在VPC支援多個可用性區域的地區,為保障跨可用性區域高可用性,VPC需包含至少2個位於不同可用性區域的交換器。如果不滿足條件,請先建立交換器
    • 頻寬峰值10M

    • IPsec-VPN關閉(開啟下方的SSL-VPN後才會有關閉選項)。

    • SSL-VPN開啟

    • SSL串連數5

    • 服務關聯角色:如果未建立,請單擊建立服務關聯角色

    關於建立VPN網關的詳細參數描述,請參見建立和管理VPN網關執行個體

    image

  3. 購買支付完畢後,可在VPN網關頁面看到已建立的VPN網關。

    剛建立的VPN網關狀態為準備中,約1~5分鐘狀態會變為正常,此時即可開始使用。

    image

2. 建立SSL服務端

SSL服務端用於定義用戶端可訪問的雲上網路範圍,以及配置用戶端IP位址集區。

  1. 前往SSL服務端頁面,在頂部功能表列切換至華東1(杭州)地區後,單擊建立SSL服務端

    image

  2. 建立SSL服務端面板,根據以下資訊配置SSL服務端:

    • 名稱:輸入server-demo

    • VPN網關:選擇剛剛建立的VPN網關。

    • 本端網段:輸入VPC的網段10.0.0.0/16

      此網段是您希望用戶端訪問的雲上網路範圍,通常是您的VPC網段。

    • 用戶端網段:指 VPN 閘道用於向用戶端虛擬網卡分配 IP 的位址集區,不能與本端網段或用戶端已經使用的網段(例如用戶端所在的本地網段)重疊,否則會導致路由衝突。建議使用不易衝突的 RFC 1918 私人網段(例如 10.200.200.0/24)。

    其他選項保持預設。關於建立SSL服務端的詳細參數描述,請參見建立和管理SSL服務端

    image

3. 建立SSL用戶端並下載認證

SSL用戶端負責用戶端認證管理。每個需要串連的用戶端都需要匯入認證,用於身分識別驗證和加密。

  1. 在左側導覽列,選擇網間互聯 > VPN > SSL客戶端。頂部功能表列,確認地區為華東1(杭州);在SSL客戶端頁面,單擊建立SSL客戶端

    image

  2. 建立SSL客戶端面板,名稱輸入client-demoSSL服務端選擇server-demo,然後單擊確定

    image

  3. SSL客戶端頁面,找到已建立的SSL用戶端,在其操作列單擊下載認證

    image

步驟二:配置用戶端

請根據用戶端的作業系統,查看對應的配置方法。

Windows用戶端

  1. 請下載適配您 Windows 系統版本的 OpenVPN 用戶端端,並根據介面提示完成安裝:

    如果下載連結無法開啟,請聯絡客戶經理或阿里雲工程師。
  2. 將下載的 SSL 用戶端憑證解壓,並將解壓後的所有檔案複製到 OpenVPN 的配置目錄中。

    • 預設路徑C:\Program Files\OpenVPN\config

    • 注意:如果您修改過安裝路徑,請複製到您實際安裝目錄下的 config 檔案夾內。

    image

  3. 用記事本開啟config.ovpn檔案,末尾添加1行:disable-dco

    OpenVPN 2.6版本引入的OpenVPN 的資料通道卸載 (DCO) 功能在某些Windows系統(如Windows 10/11特定版本)上存在相容性問題,此配置是為了關閉DCO,以解決部分裝置無法串連的問題。

    image

  4. 按右鍵案頭右下角托盤處的OpenVPN表徵圖,然後單擊Connect建立VPN串連。

    image

  5. 如果顯示State為Connected,且分配了IP,則證明已成功建立串連。

    image

Linux用戶端

  1. 執行以下命令安裝OpenVPN用戶端,並建立conf目錄。

    CentOS
    yum install -y openvpn
    mkdir -p /etc/openvpn/conf
    Ubuntu
    apt-get update
    apt-get install -y openvpn
    mkdir -p /etc/openvpn/conf
  2. 將已下載的SSL用戶端認證解壓拷貝至/etc/openvpn/conf/目錄。

    image

  3. 進入/etc/openvpn/conf/目錄,執行以下命令建立VPN串連。

    openvpn --config /etc/openvpn/conf/config.ovpn --daemon
  4. (可選)使OpenVPN進程開機自動啟動

    1. 編輯/etc/rc.local檔案,並在檔案中添加命令。

      #以編輯模式開啟/etc/rc.local檔案
      vi /etc/rc.local 
      #按下i鍵,進入檔案編輯模式,然後在/etc/rc.local檔案中補充以下命令
      cd /etc/openvpn/conf/
      openvpn --config /etc/openvpn/conf/config.ovpn --daemon
      #按下Esc鍵,退出檔案編輯模式,然後輸入以下命令儲存退出檔案
      :wq
    2. 為/etc/rc.local檔案添加執行許可權。

      chmod +x /etc/rc.local

Android用戶端

  1. 下載並安裝OpenVPN用戶端(Android版本)如果下載連結無法開啟,請聯絡客戶經理或阿里雲工程師。

    本文使用Android 9.0版本的用戶端,並安裝了3.0.5版本的OpenVPN用戶端。

  2. 將已下載的SSL用戶端認證傳輸至Android裝置,並解壓認證。

    說明
    • 如果您的Android裝置無解壓軟體,您可以在電腦端解壓認證然後將解壓後的檔案傳輸至Android用戶端。

    • 請確保解壓後的檔案在同一個檔案夾下,如下圖所示。

    檔案儲存位置

  3. 開啟OpenVPN用戶端,匯入config.ovpn檔案,添加VPN串連。

    匯入config檔案

    序號

    說明

    選擇OVPN Profile串連方式。

    在儲存目錄中找到config.ovpn檔案。

    單擊IMPORT,匯入config.ovpn檔案。

    系統自動讀取config.ovpn檔案中的資訊,顯示待串連的VPN網關的公網IP地址。單擊ADD,添加VPN串連。

  4. 單擊滑動按鈕,開啟VPN串連。

    開啟OpenVPN

Mac用戶端(圖形介面,M系列晶片推薦)

  1. 開啟Tunnelblick Releases頁面,找到Tunnelblick 4.0.1 (build 5971)版本,在Assets面板中下載.dmg格式的檔案。如果下載連結無法開啟,請聯絡客戶經理或阿里雲工程師。

    image

  2. 安裝Tunnelblick軟體。

    image

    序號

    說明

    雙擊已下載的Tunnelblick軟體安裝包。

    雙擊Tunnelblick表徵圖。

    選擇我有設定檔

    單擊確定

  3. 先將已下載的SSL用戶端認證解壓,再將已解壓的config.ovpn檔案拖動至配置面板下,建立VPN串連。

image

序號

說明

在啟動台中單擊Tunnelblick表徵圖,開啟Tunnelblick軟體。

將已解壓的檔案config.ovpn拖動至配置面板下。

選擇只是我

單擊串連

Mac用戶端(命令列)

  1. 開啟Terminal命令列視窗,如果您的用戶端尚未安裝homebrew,執行以下命令安裝Homebrew。

    說明

    因Homebrew的安裝指令碼中包含sudo命令,中途會提示您輸入管理員密碼。當出現“Press RETURN/ENTER to continue...”時,按下Enter鍵繼續。

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

    image

  2. 執行以下命令安裝OpenVPN用戶端。

    brew install openvpn

    image

  3. 將已下載的SSL用戶端認證解壓拷貝至配置目錄。

    1. 備份/opt/homebrew/etc/openvpn目錄。

      cp -r  /opt/homebrew/etc/openvpn /opt/homebrew/etc/openvpn_bak
    2. 執行以下命令刪除OpenVPN當前的設定檔。

      rm /opt/homebrew/etc/openvpn/*
    3. 執行以下命令將已經下載的SSL用戶端認證拷貝到配置目錄。

      cp /path/to/certs.zip /opt/homebrew/etc/openvpn/
      說明

      /path/to/certs.zip是建立SSL用戶端步驟中已下載的SSL用戶端認證的路徑,通常在目前使用者的Downloads目錄下,例如/Users/example/Downloads/certs.zip

  4. 執行以下命令解壓認證。

    cd /opt/homebrew/etc/openvpn/
    unzip /opt/homebrew/etc/openvpn/certs.zip
  5. 選擇運行方式。

    前台運行

    您可以執行如下命令啟動用戶端進程,建立VPN串連:

    sudo /opt/homebrew/opt/openvpn/sbin/openvpn --config /opt/homebrew/etc/openvpn/config.ovpn

    執行該命令後,該命令會保持在前台運行,當您需要中斷連線時,請輸入Ctrl+C終止如上命令。

    後台運行

    執行如下命令,使VPN用戶端進程以服務的方式在後台運行,並開機自動啟動:

    cp config.ovpn openvpn.conf
    sudo brew services start openvpn

    當需要停止運行時,請執行如下命令:

    sudo brew services stop  openvpn

步驟三:測試連通性

  1. 配置安全性群組規則

    為確保用戶端能訪問 VPC 內的資源,請在ECS執行個體關聯的安全性群組中添加入方向規則,允許存取來自用戶端網段10.200.200.0/24)的流量。

    • 用於連通性測試:允許 ICMP 協議,以便 ping 命令可以正常工作。

    • 用於業務訪問:允許業務所需的特定連接埠,例如 TCP 22 (SSH), TCP 3389 (RDP), TCP 80/443 (Web服務) 等。

  2. Ping測試

    在用戶端裝置上,使用ping命令訪問ECS,如果能夠ping通,則表示用戶端已和ECS內網連通:

    ping 10.0.0.1

    image

  3. 服務連接埠測試

    為進一步驗證業務訪問,可嘗試訪問 ECS 上啟動並執行某個服務。例如,在 ECS 上安裝並啟動一個 Web 服務(如 Nginx):

    # 在ECS上執行(以Alibaba Cloud Linux 3 為例:)
    yum install -y nginx
    systemctl start nginx.service

    確認ECS關聯的安全性群組已允許存取來自用戶端網段的 TCP 80 連接埠的流量後,在用戶端瀏覽器中訪問 http://10.0.0.1

    如果能看到 Nginx 的歡迎頁面,則證明業務訪問正常。

    image

常見問題

如何使用使用者名稱密碼認證方式?

可開啟雙因子認證,即用戶端只有通過認證認證和使用者名稱密碼雙重認證後,才能建立SSL-VPN串連。

Linux或Mac用戶端,如何斷開VPN串連?

  1. 開啟命令列,執行如下命令搜尋OpenVPN進程,並記錄進程號。

    ps aux | grep openvpn
  2. 執行以下命令關閉OpenVPN進程。

    kill -9 <進程號>

無法成功連通?

問題現象

可能原因與排查步驟

無法串連,例如用戶端日誌提示 AUTH_FAILEDTLS Handshake failed

1. 網路問題:確認您的用戶端裝置可以正常訪問互連網,並且本網防火牆或安全軟體沒有阻止 OpenVPN 用戶端端訪問 VPN 閘道的公網 IP 和連接埠(預設為TCP/1194)。

2. 認證問題:確認您匯入的 config.ovpn 和相關認證檔案完整且未被修改。嘗試重新從控制台下載並匯入認證。

串連成功,但 ping 不通 VPC 內的 ECS

1. 安全性群組規則:這是最常見的原因。請登入 ECS 控制台,檢查對應執行個體的安全性群組規則,確保已添加入方向規則,源地址為您的用戶端網段(例如 10.200.200.0/24),協議為 ICMP

2. ECS 內部防火牆:檢查 ECS 作業系統內部的防火牆(如 firewalld, iptables)是否攔截了 ICMP 請求。

串連成功,ping 也通,但無法訪問 ECS 上的服務(如網站、SSH)

1. 安全性群組規則:檢查 ECS 安全性群組,確保已為您的用戶端網段允許存取了相應的服務連接埠(如 TCP 80, TCP 22)。

2. 服務監聽狀態:登入 ECS,確認連接埠正常監聽(例如Linux系統使用 netstat -nltp

3. ECS自身防火牆放通:登入 ECS,確認ECS作業系統自身的防火牆放通了連接埠

串連 VPN 後,無法訪問本網(如印表機)或無法上網

路由衝突:可能是您在 SSL 服務端配置的用戶端網段與您當前所在的本網網段衝突。請返回步驟一,修改 SSL 服務端的用戶端網段為一個更冷門的網段(如 10.240.240.0/24),然後重新下載認證並配置用戶端。

ECS 無法主動 ping 通用戶端

正常現象。出於安全考慮,用戶端的作業系統防火牆預設會阻止來自外部(包括 VPN 對端)的主動串連請求。這是預期行為,不影響用戶端訪問雲上資源。如有雲上資源訪問用戶端的請求,請在用戶端防火牆放通ICMP協議。

更多問題請查看SSL-VPN串連常見問題