本文介紹Linux、Mac、Windows和Android用戶端如何通過SSL-VPN遠程加密訪問Virtual Private Cloud(Virtual Private Cloud)下的資源。
背景資訊
本文以下圖情境為例,介紹Linux、Mac、Windows和Android用戶端如何使用SSL-VPN遠程加密訪問VPC下的資源。
前提條件
配置流程
步驟一:建立VPN網關
- 登入VPN網關管理主控台。
在VPN網關頁面,單擊建立VPN網關。
在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。
若本配置項顯示為已建立,則表示您的帳號下已建立了該角色,無需重複建立。
返回VPN網關頁面,查看建立的VPN網關。
剛建立好的VPN網關的狀態是準備中,約1~5分鐘會變成正常狀態。正常狀態就表明VPN網關已完成初始化,可以正常使用。
步驟二:建立SSL服務端
在左側導覽列,選擇 。
在頂部功能表列,選擇SSL服務端的地區。
說明請確保SSL服務端的地區和已建立的VPN網關的地區相同。
在SSL服務端頁面,單擊建立SSL服務端。
在建立SSL服務端面板,根據以下資訊配置SSL服務端,然後單擊確定。
名稱:輸入SSL服務端的名稱。
資源群組:選擇VPN網關所屬的資源群組。SSL服務端所屬的資源群組與VPN網關所屬的資源群組預設保持一致。
VPN網關:選擇已建立的VPN網關。
本端網段:以CIDR地址塊的形式輸入要串連的VPC網路的網段。
單擊添加本端網段可添加多個本端網段,本端網段可以是任何VPC或交換器的網段,也可以是本網的網段。
用戶端網段:以CIDR地址塊的形式輸入用戶端串連服務端時使用的網段。
重要用戶端網段的子網路遮罩位元在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串連流量傳輸異常。
進階配置:使用預設進階配置。
更多資訊,請參見建立和管理SSL服務端。
步驟三:建立並下載SSL用戶端認證
在左側導覽列,選擇 。
在SSL客戶端頁面,單擊建立SSL客戶端。
在建立SSL用戶端認證面板,輸入用戶端認證名稱,然後選擇SSL服務端所屬的資源群組並選擇對應的SSL服務端,然後單擊確定。
在SSL客戶端頁面,找到已建立的用戶端認證,然後在操作列單擊下載。
步驟四:配置用戶端
以下內容為您介紹如何配置Linux、Windows、Mac和Android用戶端。
Linux用戶端
開啟命令列視窗。
執行以下命令安裝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目錄。
將已下載的SSL用戶端認證解壓拷貝至/etc/openvpn/conf/目錄。
進入/etc/openvpn/conf/目錄,執行以下命令建立VPN串連。
openvpn --config /etc/openvpn/conf/config.ovpn --daemon
Windows用戶端
下載並安裝OpenVPN用戶端(Windows版本)。
將已經下載的SSL用戶端認證解壓拷貝至OpenVPN\config目錄。
本文將認證解壓拷貝到C:\Program Files\OpenVPN\config目錄,請您根據安裝路徑將認證解壓拷貝至您真實的目錄。
啟動OpenVPN用戶端,單擊Connect建立VPN串連。
Mac用戶端(Tunnelblick)
以下內容為您介紹如何使用Tunnelblick軟體在Mac用戶端與VPN網關之間建立VPN串連。
下載Tunnelblick軟體。
本文使用4.0.1版本的Tunnelblick軟體作為樣本,您可以根據實際需要下載適用的版本,推薦使用最新的正式版本。推薦下載dmg格式的檔案,可以直接安裝使用。
安裝Tunnelblick軟體。
序號
說明
①
雙擊已下載的Tunnelblick軟體安裝包。
②
雙擊Tunnelblick表徵圖。
③
選擇我有設定檔。
④
單擊確定。
將在步驟三中下載的SSL用戶端認證解壓。
將已解壓的
config.ovpn
檔案上傳至Tunnelblick軟體,建立VPN串連。序號
說明
①
在啟動台中單擊Tunnelblick表徵圖,開啟Tunnelblick軟體。
②
將已解壓的檔案
config.ovpn
拖動至配置面板下。③
選擇只是我。
④
單擊串連。
Mac用戶端(OpenVPN)
以下內容為您介紹如何使用OpenVPN軟體在Mac用戶端與VPN網關之間建立VPN串連。
開啟命令列視窗。
如果您的用戶端尚未安裝homebrew,執行以下命令安裝homebrew。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
執行以下命令安裝OpenVPN用戶端。
brew install openvpn
將在步驟三中下載的SSL用戶端認證解壓拷貝至配置目錄。
備份/usr/local/etc/openvpn檔案夾下的所有設定檔。
執行以下命令刪除OpenVPN的設定檔。
rm /usr/local/etc/openvpn/*
執行以下命令將已經下載的SSL用戶端認證拷貝到配置目錄。
cp cert_location /usr/local/etc/openvpn/
cert_location
是步驟三中下載的SSL用戶端認證的路徑,例如:/Users/example/Downloads/certs6.zip。
執行以下命令解壓認證。
cd /usr/local/etc/openvpn/ unzip /usr/local/etc/openvpn/certs6.zip
執行以下命令建立VPN串連。
sudo /usr/local/opt/openvpn/sbin/openvpn --config /usr/local/etc/openvpn/config.ovpn
Android用戶端
下載並安裝OpenVPN用戶端(Android版本)。
本文使用Android 9.0版本的用戶端,並安裝了3.0.5版本的OpenVPN用戶端。
將在步驟三中下載的SSL用戶端認證傳輸至Android用戶端,並解壓認證。
說明如果您的Android用戶端無解壓軟體,您可以在電腦端解壓認證然後將解壓後的檔案傳輸至Android用戶端。
請確保解壓後的檔案在同一個檔案夾下,如下圖所示。
開啟OpenVPN用戶端,匯入
config.ovpn
檔案,添加VPN串連。序號
說明
①
選擇OVPN Profile串連方式。
②
在儲存目錄中找到
config.ovpn
檔案。③
單擊IMPORT,匯入
config.ovpn
檔案。④
系統自動讀取
config.ovpn
檔案中的資訊,顯示待串連的VPN網關的公網IP地址。單擊ADD,添加VPN串連。單擊滑動按鈕,開啟VPN串連。
步驟五:測試連通性
在用戶端嘗試訪問VPC內的ECS執行個體,測試網路連通性。
常見問題
使用OpenVPN在Mac用戶端建立VPN串連後,如何斷開VPN串連?
開啟Mac用戶端的命令列視窗。
執行以下命令搜尋OpenVPN進程,並記錄進程號。
ps aux | grep openvpn
執行以下命令關閉OpenVPN進程。
kill -9 <進程號>
M1版本的Mac用戶端如何使用OpenVPN建立VPN串連?
如果您使用的是M1版本的Mac用戶端,建議您使用Tunnelblick軟體建立VPN串連。具體操作,請參見Mac用戶端(Tunnelblick)。
使用Linux用戶端建立VPN串連後,如何使OpenVPN進程開機自動啟動?
使用Linux用戶端建立VPN串連後,配置以下命令,OpenVPN進程將在Linux用戶端開機後自動啟動。
編輯/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
為/etc/rc.local檔案添加執行許可權。
chmod +x /etc/rc.local