本文介紹Linux、Mac、Windows和Android客戶端如何通過SSL-VPN遠程加密訪問專有網絡VPC(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。
虛擬交換機
從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。
IPsec-VPN
是否開啟IPsec-VPN功能。本文選擇關閉。
SSL-VPN
是否開啟SSL-VPN功能。本文選擇開啟。
SSL連接數
選擇需要連接的客戶端的數量。
說明開啟SSL-VPN功能后才可配置SSL連接數。
計費周期
選擇購買時長。關于計費的更多信息, 請參見計費說明。
服務關聯角色
單擊創建關聯角色,系統自動創建服務關聯角色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地址塊的形式輸入客戶端連接服務端時使用的網段。
高級配置:使用默認高級配置。
更多信息,請參見創建和管理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