一、OpenVPN 介紹
OpenVPN 為一款跨平台的開源 VPN 軟體,支持 TCP/UDP 以及 SSL/TLS 兩種 VPN 連接方式,能夠在包括 Linux、Windows、MacOS、iOS、Android 等多種平台上運行。相比於其他 VPN 軟體,OpenVPN 有更高的安全性和更強的自定義能力。
OpenVPN 的核心軟體包包括 openvpn 和 easyrsa,前者是 OpenVPN 的主體程序,後者則是用於生成數字證書和密鑰的工具。本文中將使用 OpenVPN 來搭建 VPN 網路。
二、安裝 OpenVPN
在 Linux 中安裝 OpenVPN 的方法與一般的軟體安裝相似,具體步驟如下:
sudo apt-get update
sudo apt-get install openvpn easy-rsa
安裝完成後,即可開始配置 VPN 網路。
三、生成數字證書和密鑰
在使用 OpenVPN 搭建 VPN 網路時,為了保證連接的安全性,需要將客戶端和伺服器端之間的數據加密。為此,需要使用 easyrsa 生成數字證書和密鑰。
在 OpenVPN 安裝包中,可以找到一個 easy-rsa 的目錄,該目錄中包含了一些 shell 腳本和配置文件,可以使用這些工具來生成數字證書和密鑰。下面是生成數字證書和密鑰的步驟:
cd /usr/share/easy-rsa/3
./easyrsa init-pki
./easyrsa build-ca
其中,第一條命令用於進入 easy-rsa 目錄,第二條命令用於初始化 PKI,第三條命令用於創建一個 CA(Certificate Authority)證書。
接下來,還需使用以下命令生成伺服器端的證書和密鑰:
./easyrsa gen-req server nopass
./easyrsa sign-req server server
該命令將生成一個帶有伺服器信息的證書請求,並使用 CA 證書進行簽署,生成伺服器的數字證書和密鑰。
同樣的,在生成客戶端的證書和密鑰時,也需要執行類似的命令:
./easyrsa gen-req client nopass
./easyrsa sign-req client client
生成的證書和密鑰將保存在 easy-rsa/3/pki 目錄下。
四、配置 OpenVPN 伺服器
在配置 OpenVPN 實現 VPN 網路之前,需創建一個配置文件。在 Ubuntu 中,可以使用以下命令創建配置文件:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
sudo gzip -d /etc/openvpn/server.conf.gz
此時,/etc/openvpn 目錄下會出現一個 server.conf 的文件,這是 OpenVPN 的伺服器配置文件,可以按需要進行修改。
下面是一個簡單的 OpenVPN 伺服器配置文件示例,其中使用了之前生成的伺服器證書和密鑰(位於 easy-rsa/3/pki 目錄下):
port 1194
proto udp
dev tun
ca /usr/share/easy-rsa/3/pki/ca.crt
cert /usr/share/easy-rsa/3/pki/issued/server.crt
key /usr/share/easy-rsa/3/pki/private/server.key
dh none
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
explicit-exit-notify 1
將以上內容保存為 /etc/openvpn/server.conf 文件,並啟動 OpenVPN 服務:
sudo systemctl start openvpn@server
sudo systemctl enable openvpn@server
啟動成功後,可通過以下命令查看日誌信息,以確保 OpenVPN 已按照配置文件啟動:
sudo journalctl -u openvpn@server
五、配置 VPN 客戶端
在配置 VPN 客戶端時,需要將之前生成的證書和密鑰拷貝到客戶端機器上,並創建一個客戶端配置文件。
以下是一個簡單的 OpenVPN 客戶端配置文件示例:
client
remote vpn.example.com 1194
proto udp
dev tun
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
remote-cert-tls server
cipher AES-256-CBC
comp-lzo
verb 3
將以上內容保存為客戶端配置文件(例如 /etc/openvpn/client.conf),並啟動 OpenVPN 服務:
sudo systemctl start openvpn@client
sudo systemctl enable openvpn@client
啟動成功後,可通過以下命令查看日誌信息:
sudo journalctl -u openvpn@client
六、結論
通過以上步驟,我們已成功搭建了 OpenVPN 伺服器和客戶端,並實現了 VPN 網路的搭建。當然,OpenVPN 的配置還有很多細節和技巧,可以根據需要進行更深入的配置和優化。
原創文章,作者:ZTMQ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/148083.html