全部產品
Search
文件中心

VPN Gateway:通過IDaaS認證實現用戶端與VPC建立SSL-VPN串連

更新時間:Nov 19, 2024

SSL-VPN的雙因子認證功能要求用戶端在通過SSL用戶端認證認證的基礎上,還要通過應用身份服務IDaaS(Identity as a Service)使用者名稱和密碼的認證,雙重認證均通過後才能成功建立SSL-VPN串連,該功能有效提高了SSL-VPN串連的安全性。本文將介紹如何使用SSL-VPN雙因子認證功能,使用戶端可以在經過雙步驟驗證後與Virtual Private Cloud (VPC)執行個體建立SSL-VPN串連,進而訪問VPC執行個體下的資源。

情境樣本

本文以上圖情境為例。某公司使用IDaaS產品管理、維護公司員工帳號及許可權。當前該公司在阿里雲華東1(杭州)地區擁有一個VPC執行個體,VPC執行個體下使用Elastic Compute Service (ECS)產品部署了相關應用,該公司希望出差的員工可以隨時訪問VPC執行個體下的資源,同時要確保員工經過身份認證。

公司可以使用VPN網關產品的SSL-VPN功能,同時為SSL-VPN開啟雙因子認證,使用戶端經過SSL用戶端認證認證和IDaaS使用者名稱及密碼認證後,再與VPC執行個體建立SSL-VPN串連,實現用戶端安全訪問VPC執行個體下的資源。

準備工作

  • 您已建立企業版的IDaaS EIAM執行個體。具體操作,請參見執行個體管理

    重要
  • 您已經在EIAM執行個體中建立了組織和賬戶。

    本文通過手動方式在EIAM執行個體中建立了組織與賬戶,下圖為本文組織和賬戶樣本。如果您希望通過LDAP協議自動同步賬戶資訊至EIAM執行個體,實現員工通過AD/LDAP認證登入應用,請參見通過AD認證實現用戶端與VPC建立SSL-VPN串連。更多賬戶同步方式,請參見建立賬戶/組織2024-05-09_13-13-48

  • 您已經在阿里雲華東1(杭州)地區建立了VPC,VPC中使用ECS部署了相關應用。具體操作,請參見搭建IPv4專用網路

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

  • 請確保用戶端可以訪問互連網,用戶端的私網網段與VPC執行個體的私網網段沒有重疊。

配置流程

步驟一:添加阿里雲SSL-VPN應用

  1. 登入IDaaS管理主控台

  2. EIAM 雲身份服務頁面,找到在準備工作中建立的EIAM執行個體,然後在操作列單擊存取控制台

  3. 在EIAM執行個體的左側導覽列,選擇應用。在應用頁面,單擊添加應用

  4. 添加應用頁面,找到阿里雲 - SSL VPN模板,然後單擊添加應用

  5. 在添加應用對話方塊中,自訂應用的名稱,然後單擊立即添加

  6. 在應用詳情頁面的登入訪問頁簽,單擊頁簽底部的儲存,儲存預設配置。

    單點登入配置保持開啟狀態。

    授權模式:預設為Cipher 模式身份提供方預設為IDaaS帳號,系統將會使用您在EIAM執行個體中手動建立的賬戶資訊對員工身份進行認證。

    授權範圍:預設為手動授權。該方式下,您需要手動為指定賬戶授權,允許這些賬戶訪問該應用。關於授權範圍的更多說明,請參見授權範圍

  7. 保持在登入訪問頁簽,然後單擊應用授權頁簽。

    為要建立SSL-VPN串連的員工賬戶添加授權。具體操作,請參見應用授權2024-05-09_13-49-37

步驟二:建立VPN網關執行個體

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

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

    以下僅列舉本文強相關的配置,其餘配置項保持預設值或為空白。更多資訊,請參見建立和管理VPN網關執行個體

    配置項

    說明

    地區

    選擇VPN網關執行個體的地區。 本文選擇華東1(杭州)

    說明

    確保VPC執行個體的地區和VPN網關執行個體的地區相同。

    網關類型

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

    網路類型

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

    隧道

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

    專用網路

    選擇待串連的VPC執行個體。

    虛擬交換器1

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

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

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

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

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

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

    虛擬交換器2

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

    • 您需要從VPN網關執行個體關聯的VPC執行個體下指定兩個分布在不同可用性區域的交換器執行個體,以實現IPsec-VPN串連可用性區域層級的容災。

    • 對於僅支援一個可用性區域的地區 ,不支援可用性區域層級的容災,建議您在該可用性區域下指定兩個不同的交換器執行個體以實現IPsec-VPN串連的高可用,支援選擇和第一個相同的交換器執行個體。

    說明

    如果VPC執行個體下沒有第二個交換器執行個體,您可以建立交換器執行個體。具體操作,請參見建立和管理交換器

    IPsec-VPN

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

    SSL-VPN

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

    SSL串連數

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

    說明

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

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

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

步驟三:建立SSL服務端

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

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

    說明

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

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

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

    以下僅列舉本文強相關的配置,其餘配置項保持預設值或為空白。更多資訊,請參見建立和管理SSL服務端

    配置項

    說明

    VPN網關

    選擇已建立的VPN網關執行個體。

    本端網段

    以CIDR地址塊的形式輸入要訪問的VPC執行個體的網段。本文輸入192.168.0.0/16。

    用戶端網段

    以CIDR地址塊的形式輸入用戶端訪問VPC執行個體時使用的網段。本文輸入10.0.0.0/24。

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

    • 請確保用戶端網段與本端網段、VPC網段以及與用戶端終端關聯的任何路由網段均沒有重疊。

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

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

    進階配置

    開啟雙因子認證功能,本文使用EIAM 2.0。其餘配置保持預設值。

    • IDaaS執行個體所在地區:選擇華東1(杭州)

    • IDaaS執行個體:選擇在準備工作中建立的EIAM執行個體。

    • IDaaS應用:選擇已添加的阿里雲SSL-VPN應用。

      說明

      在阿聯酋(杜拜)地區建立SSL服務端時,推薦您綁定新加坡地區的IDaaS EIAM 2.0執行個體,以減少跨地區時延。

步驟四:建立SSL用戶端認證

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

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

  3. 建立SSL客戶端面板,輸入SSL用戶端的名稱,選擇對應的SSL服務端,然後單擊確定

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

    將下載的SSL用戶端認證儲存在您的本地,後續用於配置用戶端。

步驟五:配置用戶端

配置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/目錄,執行以下命令,然後輸入使用者名稱和密碼。用戶端通過IDaaS認證後,將會和雲上建立SSL-VPN串連。

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

    2024-05-09_14-47-13

配置Windows用戶端

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

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

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

  3. 啟動OpenVPN用戶端,單擊Connect,然後輸入使用者名稱和密碼。用戶端通過IDaaS認證後,將會和雲上建立SSL-VPN串連。

    2024-05-09_15-18-40

配置Mac用戶端(OpenVPN)

  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檔案夾下的所有設定檔。

      重要

      不同版本的macOS系統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. 進入/usr/local/etc/openvpn/目錄下,執行以下命令,然後輸入使用者名稱和密碼,建立SSL-VPN串連。

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

步驟六:測試連通性

完成上述步驟後,用戶端已經可以遠端存取VPC執行個體下的資源。以下內容以Linux用戶端為例介紹如何測試用戶端和VPC執行個體間的連通性。

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

  2. 執行ping命令,嘗試訪問VPC下的ECS1執行個體,驗證通訊是否正常。

    ping <ECS1執行個體的IP地址>

    收到如下所示的回複報文,則證明用戶端可以正常訪問VPC執行個體下的資源。

    2024-05-09_17-05-07

IDaaS EIAM 1.0配置說明

如果您需要使用IDaaS EIAM 1.0執行個體,無需執行添加阿里雲SSL-VPN應用的步驟,在您建立SSL服務端時,直接綁定EIAM1.0執行個體即可,其餘步驟與上文相同。2024-05-09_16-10-09