如何在 CentOS 7 上安裝 OpenVPN


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

本文假設您至少具有 Linux 的基本知識,知道如何使用 shell,最重要的是,將您的網站託管在您的 VPS 上。安裝非常簡單,假設您在 root 帳戶下運行。如果沒有,您需要添加一個’。sudo‘向命令獲取root權限。 我們將引導您了解如何在您的 CentOS 7 服務器上安裝 OpenVPN 開源虛擬專用網絡。

在 CentOS7 上安裝 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。

要在客戶端機器上啟用 Internet,您需要輸入一些 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官網..