客戶(hù)端遠(yuǎn)程連接VPC
本文介紹Linux、Mac、Windows和Android客戶(hù)端如何通過(guò)SSL-VPN遠(yuǎn)程加密訪問(wèn)專(zhuān)有網(wǎng)絡(luò)VPC(Virtual Private Cloud)下的資源。
背景信息
本文以下圖場(chǎng)景為例,介紹Linux、Mac、Windows和Android客戶(hù)端如何使用SSL-VPN遠(yuǎn)程加密訪問(wèn)VPC下的資源。
前提條件
您已經(jīng)注冊(cè)了阿里云賬號(hào)。如未注冊(cè),請(qǐng)先完成賬號(hào)注冊(cè)。
客戶(hù)端的私網(wǎng)網(wǎng)段和VPC的私網(wǎng)網(wǎng)段沒(méi)有重疊。
客戶(hù)端可以訪問(wèn)互聯(lián)網(wǎng)。
您已經(jīng)了解VPC中的云服務(wù)器ECS(Elastic Compute Service)實(shí)例所應(yīng)用的安全組規(guī)則,并確保安全組規(guī)則允許客戶(hù)端訪問(wèn)云上資源。具體操作,請(qǐng)參見(jiàn)查詢(xún)安全組規(guī)則和添加安全組規(guī)則。
配置流程
步驟一:創(chuàng)建VPN網(wǎng)關(guān)
- 登錄VPN網(wǎng)關(guān)管理控制臺(tái)。
在VPN網(wǎng)關(guān)頁(yè)面,單擊創(chuàng)建VPN網(wǎng)關(guān)。
在VPN網(wǎng)關(guān)(包月)頁(yè)面,根據(jù)以下信息配置VPN網(wǎng)關(guān),然后單擊立即購(gòu)買(mǎi)并完成支付。
名稱(chēng)
說(shuō)明
實(shí)例名稱(chēng)
輸入VPN網(wǎng)關(guān)的實(shí)例名稱(chēng)。
資源組
選擇VPN網(wǎng)關(guān)實(shí)例所屬的資源組。
如果不選擇,VPN網(wǎng)關(guān)實(shí)例創(chuàng)建完成后歸屬于默認(rèn)資源組。
您可以在資源管理控制臺(tái)管理資源組資源。更多信息,請(qǐng)參見(jiàn)什么是資源管理。
地域和可用區(qū)
選擇VPN網(wǎng)關(guān)的地域。
說(shuō)明確保VPC的地域和VPN網(wǎng)關(guān)的地域相同。
網(wǎng)關(guān)類(lèi)型
選擇待創(chuàng)建的VPN網(wǎng)關(guān)類(lèi)型。本文選擇普通型。
網(wǎng)絡(luò)類(lèi)型
選擇VPN網(wǎng)關(guān)實(shí)例的網(wǎng)絡(luò)類(lèi)型。本文選擇公網(wǎng)。
隧道
系統(tǒng)直接展示當(dāng)前地域支持的IPsec-VPN連接的隧道模式。
VPC
選擇待連接的VPC。
虛擬交換機(jī)
從VPC實(shí)例中選擇一個(gè)交換機(jī)實(shí)例。
IPsec-VPN連接的隧道模式為單隧道時(shí),您僅需要指定一個(gè)交換機(jī)實(shí)例。
IPsec-VPN連接的隧道模式為雙隧道時(shí),您需要指定兩個(gè)交換機(jī)實(shí)例。
IPsec-VPN功能開(kāi)啟后,系統(tǒng)會(huì)在兩個(gè)交換機(jī)實(shí)例下各創(chuàng)建一個(gè)彈性網(wǎng)卡ENI(Elastic Network Interfaces),作為使用IPsec-VPN連接與VPC流量互通的接口。每個(gè)ENI會(huì)占用交換機(jī)下的一個(gè)IP地址。
說(shuō)明系統(tǒng)默認(rèn)幫您選擇第一個(gè)交換機(jī)實(shí)例,您可以手動(dòng)修改或者直接使用默認(rèn)的交換機(jī)實(shí)例。
創(chuàng)建VPN網(wǎng)關(guān)實(shí)例后,不支持修改VPN網(wǎng)關(guān)實(shí)例關(guān)聯(lián)的交換機(jī)實(shí)例,您可以在VPN網(wǎng)關(guān)實(shí)例的詳情頁(yè)面查看VPN網(wǎng)關(guān)實(shí)例關(guān)聯(lián)的交換機(jī)、交換機(jī)所屬可用區(qū)以及交換機(jī)下ENI的信息。
虛擬交換機(jī)2
從VPC實(shí)例中選擇第二個(gè)交換機(jī)實(shí)例。
IPsec-VPN連接的隧道模式為單隧道時(shí),無(wú)需配置該項(xiàng)。
帶寬規(guī)格
選擇VPN網(wǎng)關(guān)的帶寬規(guī)格,單位:Mbps。
IPsec-VPN
是否開(kāi)啟IPsec-VPN功能。本文選擇關(guān)閉。
SSL-VPN
是否開(kāi)啟SSL-VPN功能。本文選擇開(kāi)啟。
SSL連接數(shù)
選擇需要連接的客戶(hù)端的數(shù)量。
說(shuō)明開(kāi)啟SSL-VPN功能后才可配置SSL連接數(shù)。
計(jì)費(fèi)周期
選擇購(gòu)買(mǎi)時(shí)長(zhǎng)。關(guān)于計(jì)費(fèi)的更多信息, 請(qǐng)參見(jiàn)計(jì)費(fèi)說(shuō)明。
服務(wù)關(guān)聯(lián)角色
單擊創(chuàng)建關(guān)聯(lián)角色,系統(tǒng)自動(dòng)創(chuàng)建服務(wù)關(guān)聯(lián)角色AliyunServiceRoleForVpn。
VPN網(wǎng)關(guān)使用此角色來(lái)訪問(wèn)其他云產(chǎn)品中的資源,更多信息,請(qǐng)參見(jiàn)AliyunServiceRoleForVpn。
若本配置項(xiàng)顯示為已創(chuàng)建,則表示您的賬號(hào)下已創(chuàng)建了該角色,無(wú)需重復(fù)創(chuàng)建。
返回VPN網(wǎng)關(guān)頁(yè)面,查看創(chuàng)建的VPN網(wǎng)關(guān)。
剛創(chuàng)建好的VPN網(wǎng)關(guān)的狀態(tài)是準(zhǔn)備中,約1~5分鐘會(huì)變成正常狀態(tài)。正常狀態(tài)就表明VPN網(wǎng)關(guān)已完成初始化,可以正常使用。
步驟二:創(chuàng)建SSL服務(wù)端
在左側(cè)導(dǎo)航欄,選擇 。
在頂部菜單欄,選擇SSL服務(wù)端的地域。
說(shuō)明請(qǐng)確保SSL服務(wù)端的地域和已創(chuàng)建的VPN網(wǎng)關(guān)的地域相同。
在SSL服務(wù)端頁(yè)面,單擊創(chuàng)建SSL服務(wù)端。
在創(chuàng)建SSL服務(wù)端面板,根據(jù)以下信息配置SSL服務(wù)端,然后單擊確定。
名稱(chēng):輸入SSL服務(wù)端的名稱(chēng)。
資源組:選擇VPN網(wǎng)關(guān)所屬的資源組。SSL服務(wù)端所屬的資源組與VPN網(wǎng)關(guān)所屬的資源組默認(rèn)保持一致。
VPN網(wǎng)關(guān):選擇已創(chuàng)建的VPN網(wǎng)關(guān)。
本端網(wǎng)段:以CIDR地址塊的形式輸入要連接的VPC網(wǎng)絡(luò)的網(wǎng)段。
單擊添加本端網(wǎng)段可添加多個(gè)本端網(wǎng)段,本端網(wǎng)段可以是任何VPC或交換機(jī)的網(wǎng)段,也可以是本地網(wǎng)絡(luò)的網(wǎng)段。
客戶(hù)端網(wǎng)段:以CIDR地址塊的形式輸入客戶(hù)端連接服務(wù)端時(shí)使用的網(wǎng)段。
重要客戶(hù)端網(wǎng)段的子網(wǎng)掩碼位數(shù)在16至29位之間。
請(qǐng)確保客戶(hù)端網(wǎng)段與本端網(wǎng)段、VPC網(wǎng)段以及與客戶(hù)端終端關(guān)聯(lián)的任何路由網(wǎng)段均沒(méi)有重疊。
在指定客戶(hù)端網(wǎng)段時(shí),建議您使用10.0.0.0/8、172.16.0.0/12和192.168.0.0/16網(wǎng)段及其子網(wǎng)網(wǎng)段。如果您的客戶(hù)端網(wǎng)段需要指定為公網(wǎng)網(wǎng)段,您需要將公網(wǎng)網(wǎng)段設(shè)置為VPC的用戶(hù)網(wǎng)段,以確保VPC可以訪問(wèn)到該公網(wǎng)網(wǎng)段。關(guān)于用戶(hù)網(wǎng)段的更多信息,請(qǐng)參見(jiàn)什么是用戶(hù)網(wǎng)段?和如何配置用戶(hù)網(wǎng)段?。
創(chuàng)建SSL服務(wù)端后,系統(tǒng)后臺(tái)會(huì)自動(dòng)將客戶(hù)端網(wǎng)段的路由添加在VPC實(shí)例的路由表中,請(qǐng)勿再手動(dòng)將客戶(hù)端網(wǎng)段的路由添加到VPC實(shí)例的路由表,否則會(huì)導(dǎo)致SSL-VPN連接流量傳輸異常。
高級(jí)配置:使用默認(rèn)高級(jí)配置。
更多信息,請(qǐng)參見(jiàn)創(chuàng)建和管理SSL服務(wù)端。
步驟三:創(chuàng)建并下載SSL客戶(hù)端證書(shū)
在左側(cè)導(dǎo)航欄,選擇 。
在SSL客戶(hù)端頁(yè)面,單擊創(chuàng)建SSL客戶(hù)端。
在創(chuàng)建SSL客戶(hù)端證書(shū)面板,輸入客戶(hù)端證書(shū)名稱(chēng),然后選擇SSL服務(wù)端所屬的資源組并選擇對(duì)應(yīng)的SSL服務(wù)端,然后單擊確定。
在SSL客戶(hù)端頁(yè)面,找到已創(chuàng)建的客戶(hù)端證書(shū),然后在操作列單擊下載。
步驟四:配置客戶(hù)端
以下內(nèi)容為您介紹如何配置Linux、Windows、Mac和Android客戶(hù)端。
Linux客戶(hù)端
打開(kāi)命令行窗口。
執(zhí)行以下命令安裝OpenVPN客戶(hù)端。
#CentOS系統(tǒng)執(zhí)行以下命令 yum install -y openvpn #執(zhí)行以下命令查看系統(tǒng)是否已創(chuàng)建/etc/openvpn/conf/目錄,如果系統(tǒng)未創(chuàng)建,需手動(dòng)創(chuàng)建/etc/openvpn/conf/目錄。 cd /etc/openvpn #進(jìn)入openvpn目錄下 ls #查看openvpn目錄下是否已創(chuàng)建conf目錄 mkdir -p /etc/openvpn/conf #如果openvpn目錄下不存在conf目錄,手動(dòng)創(chuàng)建conf目錄。 #Ubuntu系統(tǒng)執(zhí)行以下命令 apt-get update apt-get install -y openvpn #執(zhí)行以下命令查看系統(tǒng)是否已創(chuàng)建/etc/openvpn/conf/目錄,如果系統(tǒng)未創(chuàng)建,需手動(dòng)創(chuàng)建/etc/openvpn/conf/目錄。 cd /etc/openvpn #進(jìn)入openvpn目錄下 ls #查看openvpn目錄下是否已創(chuàng)建conf目錄 mkdir -p /etc/openvpn/conf #如果openvpn目錄下不存在conf目錄,手動(dòng)創(chuàng)建conf目錄。
將已下載的SSL客戶(hù)端證書(shū)解壓拷貝至/etc/openvpn/conf/目錄。
進(jìn)入/etc/openvpn/conf/目錄,執(zhí)行以下命令建立VPN連接。
openvpn --config /etc/openvpn/conf/config.ovpn --daemon
Windows客戶(hù)端
將已經(jīng)下載的SSL客戶(hù)端證書(shū)解壓拷貝至OpenVPN\config目錄。
本文將證書(shū)解壓拷貝到C:\Program Files\OpenVPN\config目錄,請(qǐng)您根據(jù)安裝路徑將證書(shū)解壓拷貝至您真實(shí)的目錄。
啟動(dòng)OpenVPN客戶(hù)端,單擊Connect建立VPN連接。
Mac客戶(hù)端(Tunnelblick)
以下內(nèi)容為您介紹如何使用Tunnelblick軟件在Mac客戶(hù)端與VPN網(wǎng)關(guān)之間建立VPN連接。
下載Tunnelblick軟件。
本文使用4.0.1版本的Tunnelblick軟件作為示例,您可以根據(jù)實(shí)際需要下載適用的版本,推薦使用最新的正式版本。推薦下載dmg格式的文件,可以直接安裝使用。
安裝Tunnelblick軟件。
序號(hào)
說(shuō)明
①
雙擊已下載的Tunnelblick軟件安裝包。
②
雙擊Tunnelblick圖標(biāo)。
③
選擇我有配置文件。
④
單擊確定。
將在步驟三中下載的SSL客戶(hù)端證書(shū)解壓。
將已解壓的
config.ovpn
文件上傳至Tunnelblick軟件,建立VPN連接。序號(hào)
說(shuō)明
①
在啟動(dòng)臺(tái)中單擊Tunnelblick圖標(biāo),打開(kāi)Tunnelblick軟件。
②
將已解壓的文件
config.ovpn
拖動(dòng)至配置面板下。③
選擇只是我。
④
單擊連接。
Mac客戶(hù)端(OpenVPN)
以下內(nèi)容為您介紹如何使用OpenVPN軟件在Mac客戶(hù)端與VPN網(wǎng)關(guān)之間建立VPN連接。
打開(kāi)命令行窗口。
如果您的客戶(hù)端尚未安裝homebrew,執(zhí)行以下命令安裝homebrew。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
執(zhí)行以下命令安裝OpenVPN客戶(hù)端。
brew install openvpn
將在步驟三中下載的SSL客戶(hù)端證書(shū)解壓拷貝至配置目錄。
備份/usr/local/etc/openvpn文件夾下的所有配置文件。
執(zhí)行以下命令刪除OpenVPN的配置文件。
rm /usr/local/etc/openvpn/*
執(zhí)行以下命令將已經(jīng)下載的SSL客戶(hù)端證書(shū)拷貝到配置目錄。
cp cert_location /usr/local/etc/openvpn/
cert_location
是步驟三中下載的SSL客戶(hù)端證書(shū)的路徑,例如:/Users/example/Downloads/certs6.zip。
執(zhí)行以下命令解壓證書(shū)。
cd /usr/local/etc/openvpn/ unzip /usr/local/etc/openvpn/certs6.zip
執(zhí)行以下命令建立VPN連接。
sudo /usr/local/opt/openvpn/sbin/openvpn --config /usr/local/etc/openvpn/config.ovpn
Android客戶(hù)端
下載并安裝OpenVPN客戶(hù)端(Android版本)。
本文使用Android 9.0版本的客戶(hù)端,并安裝了3.0.5版本的OpenVPN客戶(hù)端。
將在步驟三中下載的SSL客戶(hù)端證書(shū)傳輸至Android客戶(hù)端,并解壓證書(shū)。
說(shuō)明如果您的Android客戶(hù)端無(wú)解壓軟件,您可以在電腦端解壓證書(shū)然后將解壓后的文件傳輸至Android客戶(hù)端。
請(qǐng)確保解壓后的文件在同一個(gè)文件夾下,如下圖所示。
打開(kāi)OpenVPN客戶(hù)端,導(dǎo)入
config.ovpn
文件,添加VPN連接。序號(hào)
說(shuō)明
①
選擇OVPN Profile連接方式。
②
在存儲(chǔ)目錄中找到
config.ovpn
文件。③
單擊IMPORT,導(dǎo)入
config.ovpn
文件。④
系統(tǒng)自動(dòng)讀取
config.ovpn
文件中的信息,顯示待連接的VPN網(wǎng)關(guān)的公網(wǎng)IP地址。單擊ADD,添加VPN連接。單擊滑動(dòng)按鈕,開(kāi)啟VPN連接。
步驟五:測(cè)試連通性
在客戶(hù)端嘗試訪問(wèn)VPC內(nèi)的ECS實(shí)例,測(cè)試網(wǎng)絡(luò)連通性。
常見(jiàn)問(wèn)題
使用OpenVPN在Mac客戶(hù)端建立VPN連接后,如何斷開(kāi)VPN連接?
打開(kāi)Mac客戶(hù)端的命令行窗口。
執(zhí)行以下命令搜索OpenVPN進(jìn)程,并記錄進(jìn)程號(hào)。
ps aux | grep openvpn
執(zhí)行以下命令關(guān)閉OpenVPN進(jìn)程。
kill -9 <進(jìn)程號(hào)>
M1版本的Mac客戶(hù)端如何使用OpenVPN建立VPN連接?
如果您使用的是M1版本的Mac客戶(hù)端,建議您使用Tunnelblick軟件建立VPN連接。具體操作,請(qǐng)參見(jiàn)Mac客戶(hù)端(Tunnelblick)。
使用Linux客戶(hù)端建立VPN連接后,如何使OpenVPN進(jìn)程開(kāi)機(jī)自動(dòng)啟動(dòng)?
使用Linux客戶(hù)端建立VPN連接后,配置以下命令,OpenVPN進(jìn)程將在Linux客戶(hù)端開(kāi)機(jī)后自動(dòng)啟動(dòng)。
編輯/etc/rc.local文件,并在文件中添加命令。
#以編輯模式打開(kāi)/etc/rc.local文件 vim /etc/rc.local #按下i鍵,進(jìn)入文件編輯模式,然后在/etc/rc.local文件中補(bǔ)充以下命令 cd /etc/openvpn/conf/ openvpn --config /etc/openvpn/conf/config.ovpn --daemon #按下Esc鍵,退出文件編輯模式,然后輸入以下命令保存退出文件 :wq
為/etc/rc.local文件添加執(zhí)行權(quán)限。
chmod +x /etc/rc.local