本教程將向您展示如何在 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官網.