天天看點

在 CentOS 系統的 ECS 執行個體中配置 OpenVPN

在 CentOS 系統的 ECS 執行個體中配置 OpenVPN

鏡像下載下傳、域名解析、時間同步請點選

阿裡巴巴開源鏡像站

一、準備工作

在安裝OpenVPN服務前,請確定完成如下準備工作。

1、請參考如下文檔,将YUM源更新為阿裡雲的YUM源。

2、依次執行如下指令,安裝依賴的軟體包。    

yum install -y lzo lzo-devel openssl openssl-devel pam pam-devel
yum install -y pkcs11-helper pkcs11-helper-devel           

3、執行如下指令,确認軟體包已經安裝成功。

rpm -qa lzolzo-devel openssl openssl-devel pam pam-devel pkcs11-helper pkcs11-helper-devel           

系統顯示類似如下。

在 CentOS 系統的 ECS 執行個體中配置 OpenVPN

二、裝OpenVPN服務

1、執行如下指令,下載下傳OpenVPN的源碼包。

wget http://oss.aliyuncs.com/aliyunecs/openvpn-2.2.2.tar.gz           

2、執行如下指令,将源碼包編譯成RPM包進行安裝。

rpmbuild -tb openvpn-2.2.2.tar.gz           
注:執行指令後即開始編譯,編譯完成後,>

/root/rpmbuild/RPMS/x86_64

目錄下會生成名為“openvpn-2.2.2-1.x86_64.rpm” 的安裝包。

3、執行如下指令,以RPM包的格式進行安裝。

rpm -ivh openvpn-2.2.2-1.x86_64.rpm           
在 CentOS 系統的 ECS 執行個體中配置 OpenVPN

三、配置OpenVPN服務 

  • 初始化

1、執行如下指令,進入指定目錄。找到vars證書環境檔案,修改以下5行export定義的參數值。

cd /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0           

2、編輯vars證書環境檔案,修改如下5行環境變量定義的參數值,儲存并退出。

export KEY_COUNTRY="CN" 
export KEY_PROVINCE="BJ" 
export KEY_CITY="Hangzhou" 
export KEY_ORG="aliyun"
export [email protected]           
注:
  • “KEY_COUNTRY”為所在的國家。
  • “KEY_PROVINCE”為所在的省份。
  • “KEY_CITY”為所在的城市。
  • “KEY_ORG”為所屬的組織。
  • “KEY_EMAIL”為郵件位址。
  • 您可以對上述參數的值進行自定義設定,不會導緻OpenVPN配置出現異常。
  • 生成證書、密鑰和參數檔案

1、執行如下指令,建立軟連結。

ln -s openssl-1.0.0.cnf openssl.cnf           

2、執行如下指令,讀取并加載vars檔案。

source ./vars           

3、執行如下指令,清除目錄下的所有key。

./clean-all           

4、執行如下指令,生成CA憑證。您已經在vars證書環境檔案中配置了預設參數值,在本步驟中連續輸入回車确認,完成配置即可。

./build-ca           

5、執行如下指令,生成伺服器證書,其中aliyuntest是自定義的名字,連續輸入回車确認,最後會有兩次互動,輸入

y

确認。完成後,目錄下會生成aliyuntest.key、aliyuntest.csr和aliyuntest.crt三個檔案。

./build-key-server aliyuntest           
在 CentOS 系統的 ECS 執行個體中配置 OpenVPN

6、執行如下指令,建立秘鑰與證書,其中aliyunuser是使用者名,連續輸入回車确認,最後會有兩次互動,輸入

y

确認。完成後,目錄下會生成1024位RSA伺服器密鑰aliyunuser.key、aliyunuser.crt和aliyunuser.csr三個檔案。

./build-key aliyunuser           

7、執行如下指令,生成用于用戶端驗證的Diffie Hellman參數,完成後,目錄下會生成1024.pem參數檔案。

./bulid-dh           
  • 複制證書、密鑰和參數檔案

1、執行如下指令,将

/usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/keys

目錄中的所有檔案複制到

/etc/openvpn

目錄中。

cp -a /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/keys/* /etc/openvpn/           

2、執行如下指令,将OpenVPN服務端配置檔案

server.conf

複制到

/etc/openvpn/

cp -a /usr/share/doc/openvpn-2.2.2/sample-config-files/server.conf  /etc/openvpn/           

3、配置完成後,執行如下指令,檢視配置檔案。

egrep -v "^$|^#|^;" server.conf           

配置檔案内容如下所示。

local [$IP]
port 1194
proto udp
dev tun
ca ca.crt
cert [$CRT_Name]
key [$Key_Name] 
dh dh1024.pem
server 172.16.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 223.5.5.5"
client-to-client
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
log openvpn.log
verb 3           
  • [$IP]為雲伺服器的公網IP位址。
  • [$CRT_Name]為生成伺服器端證書時自定義的額CRT名稱。
  • [$Key_Name]為生成伺服器證書時自定義的KEY的名稱。
  • 設定防火牆
注:設定防火牆前,請確定iptables服務已經開啟,且

/etc/sysconfig/iptables

檔案已經存在。

1、執行如下指令,編輯配置檔案。

vi /etc/sysctl.conf           

2、修改成如下參數,啟用IPv4轉發,然後儲存并退出。

net.ipv4.ip_forward = 1           

3、執行如下指令,加載系統參數。

sysctl -p           

4、添加如下iptables規則,確定伺服器可以轉發資料包到阿裡雲内網和外網。

iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -j MASQUERADE           

5、執行如下指令,儲存iptables配置。

 service iptables save           
  • 配置Windows PC用戶端

1、下載下傳如下Windows PC用戶端。

2、執行Windows PC用戶端安裝程式,按照預設設定安裝完成。

3、将雲伺服器中

/etc/openvpn/

目錄下的aliyunuser.key、aliyunuser.crt 和 aliyunuser.csr三個檔案下載下傳到需要連接配接OpenVPN的 Windows PC 用戶端上(可以使用FTP工具下載下傳),儲存路徑為OpenVPN安裝路徑下的

\OpenVPN\config

目錄。

4、在OpenVPN安裝路徑下,将

\OpenVPN\sample-config\

目錄下的

client.opvn

\OpenVPN\config

目錄下,然後修改配置檔案中的以下參數。

proto udp   
remote [$IP] 1194
cert aliyunuser.crt
key aliyunuser.key           

注:> - “proto udp”字段中,需删除前面的注釋分号,采用UDP協定,與伺服器端保持一緻。

  • “remote [$IP] 1194”字段中,需删除該行前面的注釋分号。

5、打開

C:\Program Files(x86)\OpenVPN\bin

目錄,右鍵單擊

openvpn-gui-1.0.3.exe

檔案,選擇 以管理者身份運作,避免導緻添加路由失敗。

在 CentOS 系統的 ECS 執行個體中配置 OpenVPN

6、連接配接成功後,通路阿裡雲的内網鏡像源,确認可以通過OpenVPN通路阿裡雲内網。

在 CentOS 系統的 ECS 執行個體中配置 OpenVPN

7、然後通路“ip.cn”,可以看到此時Windows PC端的出口公網IP位址已經變為雲伺服器的公網IP位址。

在 CentOS 系統的 ECS 執行個體中配置 OpenVPN
提供全面,高效和穩定的系統鏡像、應用軟體下載下傳、域名解析和時間同步服務。”

繼續閱讀