全部產品
Search
文件中心

VPN Gateway:用戶端遠端連線VPC

更新時間:Jun 30, 2024

本文介紹Linux、Mac、Windows和Android用戶端如何通過SSL-VPN遠程加密訪問Virtual Private Cloud(Virtual Private Cloud)下的資源。

背景資訊

本文以下圖情境為例,介紹Linux、Mac、Windows和Android用戶端如何使用SSL-VPN遠程加密訪問VPC下的資源。用戶端遠程接入VPC

前提條件

  • 您已經註冊了阿里雲帳號。如未註冊,請先完成帳號註冊

  • 用戶端的私網網段和VPC的私網網段沒有重疊。

  • 用戶端可以訪問互連網。

  • 您已經瞭解VPC中的Elastic Compute Service(Elastic Compute Service)執行個體所應用的安全性群組規則,並確保安全性群組規則允許用戶端訪問雲上資源。具體操作,請參見查詢安全性群組規則添加安全性群組規則

配置流程

用戶端串連VPC流程圖

步驟一:建立VPN網關

  1. 登入VPN網關管理主控台
  2. VPN網關頁面,單擊建立VPN網關

  3. VPN網關頁面,根據以下資訊配置VPN網關,然後單擊立即購買並完成支付。

    名稱

    說明

    執行個體名稱

    輸入VPN網關的執行個體名稱。

    資源群組

    選擇VPN網關執行個體所屬的資源群組。

    如果不選擇,VPN網關執行個體建立完成後歸屬於預設資源群組。

    您可以在資源管理主控台管理資源群組資源。更多資訊,請參見什麼是資源管理

    地區

    選擇VPN網關的地區。

    說明

    確保VPC的地區和VPN網關的地區相同。

    網關類型

    選擇待建立的VPN網關類型。本文選擇普通型

    網路類型

    選擇VPN網關執行個體的網路類型。本文選擇公網

    隧道

    系統直接展示當前地區支援的IPsec-VPN串連的隧道模式。

    專用網路

    選擇待串連的VPC。

    虛擬交換器

    從VPC執行個體中選擇一個交換器執行個體。

    • IPsec-VPN串連的隧道模式為單隧道時,您僅需要指定一個交換器執行個體。

    • IPsec-VPN串連的隧道模式為雙隧道時,您需要指定兩個交換器執行個體。

      IPsec-VPN功能開啟後,系統會在兩個交換器執行個體下各建立一個彈性網卡ENI(Elastic Network Interfaces),作為使用IPsec-VPN串連與VPC流量互連的介面。每個ENI會佔用交換器下的一個IP地址。

    說明
    • 系統預設幫您選擇第一個交換器執行個體,您可以手動修改或者直接使用預設的交換器執行個體。

    • 建立VPN網關執行個體後,不支援修改VPN網關執行個體關聯的交換器執行個體,您可以在VPN網關執行個體的詳情頁面查看VPN網關執行個體關聯的交換器、交換器所屬可用性區域以及交換器下ENI的資訊。

    虛擬交換器2

    從VPC執行個體中選擇第二個交換器執行個體。

    IPsec-VPN串連的隧道模式為單隧道時,無需配置該項。

    頻寬峰值

    選擇VPN網關的頻寬規格,單位:Mbps。

    流量

    VPN網關預設按使用流量計費。更多資訊,請參見計費說明

    IPsec-VPN

    是否開啟IPsec-VPN功能。本文選擇關閉

    SSL-VPN

    是否開啟SSL-VPN功能。本文選擇開啟

    SSL串連數

    選擇需要串連的用戶端的數量。

    說明

    開啟SSL-VPN功能後才可配置SSL串連數

    購買時間長度

    VPN網關預設按小時計費。

    服務關聯角色

    單擊建立關聯角色,系統自動建立服務關聯角色AliyunServiceRoleForVpn。

    VPN網關使用此角色來訪問其他雲產品中的資源,更多資訊,請參見AliyunServiceRoleForVpn

    若本配置項顯示為已建立,則表示您的帳號下已建立了該角色,無需重複建立。

  4. 返回VPN網關頁面,查看建立的VPN網關。

    剛建立好的VPN網關的狀態是準備中,約1~5分鐘會變成正常狀態。正常狀態就表明VPN網關已完成初始化,可以正常使用。

步驟二:建立SSL服務端

  1. 在左側導覽列,選擇網間互聯 > VPN > SSL服務端

  2. 在頂部功能表列,選擇SSL服務端的地區。

    說明

    請確保SSL服務端的地區和已建立的VPN網關的地區相同。

  3. SSL服務端頁面,單擊建立SSL服務端

  4. 建立SSL服務端面板,根據以下資訊配置SSL服務端,然後單擊確定

    • 名稱:輸入SSL服務端的名稱。

    • 資源群組:選擇VPN網關所屬的資源群組。SSL服務端所屬的資源群組與VPN網關所屬的資源群組預設保持一致。

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

    • 本端網段:以CIDR地址塊的形式輸入要串連的VPC網路的網段。

      單擊添加本端網段可添加多個本端網段,本端網段可以是任何VPC或交換器的網段,也可以是本網的網段。

    • 用戶端網段:以CIDR地址塊的形式輸入用戶端串連服務端時使用的網段。

      重要
      • 用戶端網段的子網路遮罩位元在16至29位之間。

      • 請確保用戶端網段和本端網段不衝突。

      • 在指定用戶端網段時,建議您使用10.0.0.0/8、172.16.0.0/12和192.168.0.0/16網段及其子網網段。如果您的用戶端網段需要指定為公網網段,您需要將公網網段設定為VPC的使用者網段,以確保VPC可以訪問到該公網網段。關於使用者網段的更多資訊,請參見什麼是使用者網段?如何配置使用者網段?

      • 建立SSL服務端後,系統後台會自動將用戶端網段的路由添加在VPC執行個體的路由表中,請勿再手動將用戶端網段的路由添加到VPC執行個體的路由表,否則會導致SSL-VPN串連流量傳輸異常。

    • 進階配置:使用預設進階配置。

    更多資訊,請參見建立和管理SSL服務端

步驟三:建立並下載SSL用戶端認證

  1. 在左側導覽列,選擇網間互聯 > VPN > SSL客戶端

  2. SSL客戶端頁面,單擊建立SSL客戶端

  3. 建立SSL用戶端認證面板,輸入用戶端認證名稱,然後選擇SSL服務端所屬的資源群組並選擇對應的SSL服務端,然後單擊確定

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

步驟四:配置用戶端

以下內容為您介紹如何配置Linux、Windows、Mac和Android用戶端。

Linux用戶端

  1. 開啟命令列視窗。

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

    #CentOS系統執行以下命令
    yum install -y openvpn
    #執行以下命令查看系統是否已建立/etc/openvpn/conf/目錄,如果系統未建立,需手動建立/etc/openvpn/conf/目錄。
    cd /etc/openvpn #進入openvpn目錄下
    ls              #查看openvpn目錄下是否已建立conf目錄
    mkdir -p /etc/openvpn/conf #如果openvpn目錄下不存在conf目錄,手動建立conf目錄。
    
    #Ubuntu系統執行以下命令
    apt-get update
    apt-get install -y openvpn
    #執行以下命令查看系統是否已建立/etc/openvpn/conf/目錄,如果系統未建立,需手動建立/etc/openvpn/conf/目錄。
    cd /etc/openvpn #進入openvpn目錄下
    ls              #查看openvpn目錄下是否已建立conf目錄
    mkdir -p /etc/openvpn/conf #如果openvpn目錄下不存在conf目錄,手動建立conf目錄。
  3. 將已下載的SSL用戶端認證解壓拷貝至/etc/openvpn/conf/目錄。

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

    openvpn --config /etc/openvpn/conf/config.ovpn --daemon

Windows用戶端

  1. 下載並安裝OpenVPN用戶端(Windows版本)

  2. 將已經下載的SSL用戶端認證解壓拷貝至OpenVPN\config目錄。

    本文將認證解壓拷貝到C:\Program Files\OpenVPN\config目錄,請您根據安裝路徑將認證解壓拷貝至您真實的目錄。

  3. 啟動OpenVPN用戶端,單擊Connect建立VPN串連。

Mac用戶端(Tunnelblick)

以下內容為您介紹如何使用Tunnelblick軟體在Mac用戶端與VPN網關之間建立VPN串連。

  1. 下載Tunnelblick軟體。

    您可以根據實際需要下載適用的版本,推薦使用正式版本,例如3.8.8b、3.8.8a、3.8.6a等。下載軟體時推薦下載DMG格式的軟體,可以直接安裝使用。

    本文使用3.8.6a版本的Tunnelblick軟體作為樣本。

  2. 安裝Tunnelblick軟體。

    安裝Tunnelblick

    序號

    說明

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

    雙擊Tunnelblick表徵圖。

    選擇我有設定檔

    單擊確定

  3. 將在步驟三中下載的SSL用戶端認證解壓。

  4. 將已解壓的config.ovpn檔案上傳至Tunnelblick軟體,建立VPN串連。

    Mac-建立VPN串連

    序號

    說明

    雙擊Tunnelblick表徵圖,開啟Tunnelblick軟體。

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

    選擇只有我

    單擊串連

Mac用戶端(OpenVPN)

以下內容為您介紹如何使用OpenVPN軟體在Mac用戶端與VPN網關之間建立VPN串連。

  1. 開啟命令列視窗。

  2. 如果您的用戶端尚未安裝homebrew,執行以下命令安裝homebrew。

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  3. 執行以下命令安裝OpenVPN用戶端。

    brew install openvpn
  4. 將在步驟三中下載的SSL用戶端認證解壓拷貝至配置目錄。

    1. 備份/usr/local/etc/openvpn檔案夾下的所有設定檔。

    2. 執行以下命令刪除OpenVPN的設定檔。

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

      cp cert_location /usr/local/etc/openvpn/

      cert_location步驟三中下載的SSL用戶端認證的路徑,例如:/Users/example/Downloads/certs6.zip

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

    cd  /usr/local/etc/openvpn/
    unzip /usr/local/etc/openvpn/certs6.zip
  6. 執行以下命令建立VPN串連。

    sudo /usr/local/opt/openvpn/sbin/openvpn --config /usr/local/etc/openvpn/config.ovpn

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

步驟五:測試連通性

在用戶端嘗試訪問VPC內的ECS執行個體,測試網路連通性。

常見問題

使用OpenVPN在Mac用戶端建立VPN串連後,如何斷開VPN串連?

  1. 開啟Mac用戶端的命令列視窗。

  2. 執行以下命令搜尋OpenVPN進程,並記錄進程號。

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

    kill -9 <進程號>

M1版本的Mac用戶端如何使用OpenVPN建立VPN串連?

如果您使用的是M1版本的Mac用戶端,建議您使用Tunnelblick軟體建立VPN串連。具體操作,請參見Mac用戶端(Tunnelblick)

使用Linux用戶端建立VPN串連後,如何使OpenVPN進程開機自動啟動?

使用Linux用戶端建立VPN串連後,配置以下命令,OpenVPN進程將在Linux用戶端開機後自動啟動。

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

    #以編輯模式開啟/etc/rc.local檔案
    vim /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