如何在 CentOS 7 上安裝 OpenVPN


本教程將向您展示如何在 CentOS 7 上安裝 OpenVPN。對於那些不知道的人,OpenVPN 是一種廣泛使用的開源應用程序,用於在不安全的公共互聯網上創建安全的虛擬專用網絡。 OpenVPN 是一種 SSL VPN 解決方案,可通過 Internet 安全地排出系統連接。 OpenVPN 在客戶端-服務器結構上工作。連接到虛擬專用網絡的所有設備的行為就像它們連接到局域網一樣。 通過 VPN 隧道發送的數據包使用 256 位 AES 加密進行加密,以防止數據被盜。

本文假設您至少具有 Linux 的基本知識,知道如何使用 shell,最重要的是,您在自己的 VPS 上託管您的網站。 假設您在 root 帳戶下運行,安裝非常簡單。sudo‘ 到命令以獲得 root 權限。 我們將向您展示如何在您的 CentOS 7 服務器上逐步安裝 OpenVPN 開源虛擬專用網絡。

在 CentOS 7 上安裝 OpenVPN

步驟1。首先,確保您的系統是最新的。

yum clean all
yum -y install epel-release
yum -y update

步驟 2. 在 CentOS 7 上安裝 OpenVPN。

安裝 OpenVPN 和 Easy-RSA 軟件包。 提供了一個 Easy-RSA 包以使證書生成更容易。

yum install openvpn easy-rsa

步驟 3. 配置 Easy-RSA。

現在 OpenVPN 已成功安裝,我們需要創建密鑰和證書。按照本節中的步驟操作。

mkdir -p /etc/openvpn/easy-rsa/keys

然後將證書生成腳本從默認位置複製到 OpenVPN 文件夾。

cp -rf /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa

轉到 easy-RSA 目錄以獲取變量。

cd /etc/openvpn/easy-rsa
source ./vars

然後立即運行“./clean-all”以確保您有一個乾淨的證書設置。

./clean-all

現在您需要生成一個“Certificate Authority (ca)”文件。 系統將提示您輸入在“vars”文件中編輯的國家名稱等。 您可以按“Enter”接受默認值。

轉到以下目錄:

cd /etc/openvpn/easy-rsa/2.0/
./build-ca

步驟 4. 生成服務器密鑰和證書。

在當前目錄中運行以下命令:

./build-key-server server

您還需要創建一個 Diffie-Hellman 文件。創建此文件取決於密鑰長度。此默認值使用 2048 位密鑰,但可以隨時通過編輯 easy-RSA 文件夾中的 vars 文件進行更改。

./build-dh

步驟 5. OpenVPN 服務器配置。

接下來,配置您的 OpenVPN 服務器。首先,創建一個名為 server.conf 的配置文件。

nano /etc/openvpn/server.conf

粘貼下面的配置(可以更改端口等值)。

local 192.168.77.20
port 443
proto tcp
dev tun
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
#-ifconfig-pool-persist ipp.txt
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 4.2.2.1"
keepalive 2 30
comp-lzo
persist-key
persist-tun
status 443status.log
log-append 443log.log
verb 3

保存文件並啟用並啟動 OpenVPN 服務。

systemctl enable [email protected]
systemctl start [email protected]

步驟 6. 為 OpenVPN 配置 iptables。

要在客戶端機器上啟用互聯網,您需要輸入一些 IPtables 規則。

### KVM ###
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

### OpenVZ ###
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to 192.168.77.20
iptables-save

下一步編輯 systctl.conf 啟用數據包轉發。

nano /etc/sysctl.conf

添加以下行:

net.ipv4.ip_forward=1

步驟 7. 創建客戶端證書和密鑰。

以下命令生成客戶端證書和密鑰。

nano client

添加以下行:

cd /etc/openvpn/easy-rsa/2.0/
echo -en "Nama Client: "
read client
echo -en "Server IP: "
read servip
echo -en "TCP or UDP?: "
read proto
echo -en "Server port: "
read servport
. ../vars
source ./vars
echo "####################################"
echo "Feel free to accept default values"
echo "####################################"
./build-key $client
cd /etc/openvpn/easy-rsa/2.0/keys
rm -rf $client
echo "client
dev tun
proto $proto
remote $servip $servport
resolv-retry infinite
nobind
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
persist-key
persist-tun
ca ca.crt
cert $client.crt
key $client.key
;auth-user-pass
comp-lzo
verb 3" > $client.ovpn
mkdir d${client}
cp ${client}* d${client}
cp ca.crt d${client}
mv d${client} $client
zip -r $client.zip $client
cp $client.zip /var/www/html
echo "Now grab the $client.zip file and extract it under your Openvpnconfig dir!"

設置文件權限並使其可執行。

chmod 755 client
./client

恭喜! 您已成功安裝 OpenVPN。感謝您使用本教程在您的 CentOS 7 系統上安裝 OpenVPN 開源虛擬專用網絡。如需更多幫助或有用信息,我們建議您查看 OpenVPN官網.