如何在 CentOS 6.4 Linux 上安裝和配置 openVPN 服務器


打開VPN 是一個開源軟件應用程序,它實現 虛擬專用網絡 (VPN) 創造安全技術 點對點 聯繫 路由或橋接配置和遠程訪問功能。使用使用 SSL/TLS 進行密鑰交換的自定義安全協議。可以穿越網絡地址轉換器 (NAT) 和防火牆。

打開VPN 允許對等方使用預共享密鑰、證書或用戶名/密碼相互驗證。在多客戶端服務器配置中使用時,服務器可以使用簽名和證書頒發機構為每個客戶端頒發身份驗證證書。 它廣泛使用 OpenSSL 加密庫以及 SSLv3/TLSv1 協議,並具有許多安全和控制功能。 了解有關 OpenVPN 的更多信息

在 CentOS 5.x/6.0/6.1/6.2/6.3/6.4/6.5 上安裝 OpenVPN

在你開始之前,你應該有 企業 Linux 的附加軟件包 (埃佩爾) 以啟用服務器上的存儲庫。
在 CentOS 5.x/6.x 上啟用 Epel 存儲庫

# yum update

確保安裝了 Tun/Tap。

# cat /dev/net/tun

它應該返回如下一行:

cat: /dev/net/tun: File descriptor in bad state

安裝 這個 打開VPN 來自 EPEL 的包裹:

# yum install openvpn -y

在 CentOS 5.x/6.0/6.1/6.2/6.3/6.4/6.5 上配置 OpenVPN

將示例 openVPN 配置文件複製到 /etc/opnvpn。

# cp /usr/share/doc/openvpn-2.3.2/sample/sample-config-files/server.conf /etc/openvpn/

編輯 /etc/openvpn/server.conf 文件

# nano /etc/openvpn/server.conf

取消註釋“push”參數以傳遞客戶端系統的流量。 打開VPN.

push "redirect-gateway def1 bypass-dhcp"

另外,取消註釋該行:

user nobody
group nobody
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

使用 easy-rsa 生成密鑰和證書

現在您已完成修改配置文件,生成必要的密鑰和證書。創建所需的文件夾並複製文件。

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

下載必要的腳本和證書。

# cd /tmp
# wget https://github.com/downloads/OpenVPN/easy-rsa/easy-rsa-2.2.0_master.tar.gz
# tar -xvf easy-rsa-2.2.0_master.tar.gz
# cp /tmp/easy-rsa-2.2.0_master/easy-rsa/2.0/* /etc/openvpn/easy-rsa

文件位於所需位置後,編輯“vars”文件。該文件提供了 easy-rsa 腳本所需的信息。

# nano /etc/openvpn/easy-rsa/vars

更改文件底部的“KEY_”變量。變量名稱具有相當的描述性,應填寫適當的信息。
完成後,“vars”文件的底部應如下所示:
export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Lin tut"
export KEY_EMAIL="[email protected]"
export [email protected]
export KEY_CN=changeme
export KEY_NAME=changeme
export KEY_OU=changeme
export PKCS11_MODULE_PATH=changeme

接下來,切換到您的工作目錄並根據上述信息構建證書頒發機構或 CA。

cd /etc/openvpn/easy-rsa
source ./vars
./clean-all
./build-ca

現在 CA 已創建,請創建證書。 打開VPN 服務器。當被問及 構建密鑰服務器請回答“是”發送。

./build-key-server server

我還需要生成 Diffie Hellman 密鑰交換 我使用 build-dh 腳本創建文件並將所有文件放入 /etc/openvpn 如下:

./build-dh
cd /etc/openvpn/easy-rsa/keys
cp dh1024.pem ca.crt server.crt server.key /etc/openvpn

要允許客戶端進行身份驗證,您需要創建客戶端證書。您可以根據需要重複此操作,為每個客戶端或設備生成唯一的證書和密鑰。如果您創建多個證書對,請使用描述性文件名。

cd /etc/openvpn/easy-rsa
./build-key client

路由配置和啟動 OpenVPN 服務器

使用 sysctl 啟用 IP 轉發。

nano -w /etc/sysctl.conf

# Controls IP packet forwarding
net.ipv4.ip_forward = 1

應用新的 sysctl 設置。

# sysctl -p
# service openvpn start
# chkconfig openvpn on

創建一個 iptables 規則以允許為您的 VPN 子網正確路由。

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

配置 OpenVPN 客戶端

最後,讓我們創建 server.ovpn 配置文件。為方便起見,您可以使用記事本(或任何其他簡單的文本編輯器工具)在本地計算機上輕鬆創建一個。在該文件中輸入以下內容:
client
dev tun
proto udp
remote ip.add.re.ss 1194 # - Your server IP and OpenVPN Port
resolv-retry infinite
nobind
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
persist-key
persist-tun
ca ca.crt
auth-user-pass
comp-lzo
reneg-sec 0
verb 3

然後使用 .ovpn 擴展名保存它。將文件保存在安裝的 config 目錄中。 OpenVPN 客戶端 在你的電腦。

此外,查看如何在 RHEL/Centos 6.4 Linux 上安裝 PPTP VPN 服務器。