> CentOS > CentOS教程 >

CentOS 安装和配置OpenVPN

OpenVPN是一个用于创建虚拟专用网络加密通道的软件包,最早由James Yonan编写。

OpenVPN允许参与建立VPN的单点使用公开密钥、电子证书、或者用户名/密码来进行身份验证。它大量使用了OpenSSL加密库中的SSLv3/TLSv1协议函数库。

目前OpenVPN能在Solaris、Linux、OpenBSD、FreeBSD、NetBSD、Mac OS X与Windows 2000/XP/Vista/7上运行,并包含了许多安全性的功能。它并不是一个基于Web的VPN软件,也不与IPsec及其他VPN软件包兼容。

安装RPMforge

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpm -iv rpmforge-release-0.3.6-1.el5.rf.i386.rpm


安装OpenVPN

yum -y install openvpn openssl openssl-devel


复制文件夹,方便后续配置

cp -R /usr/share/doc/openvpn-2.0.9/easy-rsa/ /etc/openvpn/


生成服务端和客户端的密钥及证书文件

cd /etc/openvpn/easy-rsa/2.0
chmod +rwx *
. ./vars
./clean-all
source ./vars
./build-ca
./build-key-server server
./build-dh
./build-key client1


创建OpenVPN的服务器配置文件

vim /etc/openvpn/server.conf


在server.conf输入以下内容:

port 443
proto tcp
dev tun
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 192.168.20.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 120
comp-lzo
persist-key
persist-tun


创建client1客户端配置文件

vim /etc/openvpn/easy-rsa/2.0/keys/client1-vpn.wucode.com.ovpn


在client1-vpn.wucode.com.ovpn输入以下内容

client
dev tun
proto tcp
remote vpn.wucode.com 443
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
comp-lzo
route-delay 2
route-method exe
verb 3


打包客户端的配置文件,将/root/client1-keys.tgz下载。解压至”C:Program FilesOpenVPNconfig”

cd /etc/openvpn/easy-rsa/2.0/keys/
tar czf keys.tgz ca.crt ca.key client1.crt client1.csr client1.key client1-vpn.wucode.com.ovpn
mv client1-keys.tgz /root


启用IP包转发

sed -i "s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g" /etc/sysctl.conf
sysctl -p


配置iptables

iptables -t nat -A POSTROUTING -s 192.168.20.0/24 -o eth0 -j MASQUERADE
/etc/init.d/iptables save


把OpenVPN添加到开机启动

echo "/usr/sbin/openvpn --config /etc/openvpn/server.conf &" >> /etc/rc.local


到这里就配置完成了,如果以后需要添加新用户,按下面方法添加。

cd /etc/openvpn/easy-rsa/2.0
source ./vars
./build-key clientX


(责任编辑:IT)