当前位置: > Linux服务器 > VPN >

CentOS安装OpenVPN

时间:2014-06-13 13:09来源:linux.it.net.cn 作者:IT网
Openvpn是不同于PPTP、L2TP的另一种VPN软件包,基于SSL的VPN。OpenVPN使用需要客户端支持。这里系统为centos6.4。
一、检查OpenVPN所需环境
OpenVPN需要TUN设备支持,还需要iptables的nat模块支持。
1、检查TUN模块:
modinfo tun
显示如下:

如果报错则不支持TUN设备。 2、在OpenVZ虚拟化的vps上,需要管理员在母鸡上打开TUN/TAP设备。
cat /dev/net/tun
如果返回:
cat: /dev/net/tun: File descriptor in bad state
VPS的TUN/TAP已经可以使用。
如果返回:
cat: /dev/net/tun: No such device
或者其它,说明TUN/TAP设备没有被正确配置,需要与客服沟通开通TUN/TAP。
3、检查OpenVZ的VPS上iptables是否支持:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE
如果返回:
iptables: Unknown error 4294967295
说明支持。
二、编译安装OpenVPN
1、安装依赖环境
yum install -y openssl openssl-devel lzo lzo-devel pam pam-devel automake pkgconfig
2、安装OpenVPN
wget -c http://swupdate.openvpn.org/community/releases/openvpn-2.3.0.tar.gz
tar zxvf openvpn-2.3.0.tar.gz
cd openvpn-2.3.0
./configure
make
make install
mkdir –p /etc/openvpn
cp -Rf sample  /etc/openvpn/
cd ..
单独下载easy-rsa,制作ca证书,服务端证书,客户端证书
#openvpn-2.3.0.tar.gz 该版本源码不包含easy-rsa,所以需要单独下载安装 easy-rsa
wget -c https://github.com/OpenVPN/easy-rsa/archive/master.zip
unzip master
mv easy-rsa-master easy-rsa
cp -Rf  easy-rsa /etc/openvpn
cd /etc/openvpn/easy-rsa/easy-rsa/2.0
三、生成密钥和证书
vim vars
#调到最后找到一下代码
export KEY_COUNTRY="CN"
export KEY_PROVINCE="JN"
export KEY_CITY="DZ"
export KEY_ORG="lvtao"
export KEY_EMAIL="admin@lvtao.net"
export KEY_OU="lvtao"
#x!保存退出

 
ln -s openssl-1.0.0.cnf openssl.cnf
chmod +x vars
source ./vars
./clean-all
#制作ca证书
./build-ca
#制作服务端证书
./build-key-server server
#制作客户端证书
./build-key client1
./build-dh
#打包keys
tar zcvf keys.tar.gz keys/
#终端发送到客户端备用
sz keys.tar.gz
#keys中的文件说明

Filename

Needed By

Purpose

Secret

ca.crt

server + all clients

Root CA certificate

NO

ca.key

key signing machine only

Root CA key

YES

dh{n}.pem

server only

Diffie Hellman parameters

NO

server.crt

server only

Server Certificate

NO

server.key

server only

Server Key

YES

client1.crt

client1 only

Client1 Certificate

NO

client1.key

client1 only

Client1 Key

YES

cd /etc/openvpn/sample/sample-config-files/
cp server.conf ../../

#配置server.conf,具体参数不再累述
vi ../../server.conf

#复制keys
cd /etc/openvpn/easy-rsa/easy-rsa/2.0/keys
cp -Rf ca.crt server.crt server.key dh2048.pem /etc/openvpn/

# 编辑/etc/sysctl.conf,找到net.ipv4.ip_forward = 0改成net.ipv4.ip_forward = 1保存。然后执行:
sysctl –p

#设置nat转发.注意最后192.168.122.180改成你的服务器的IP地址。
iptables -t nat -A POSTROUTING -s 10.8.8.0/24 -j SNAT --to-source 192.168.122.180
/etc/init.d/iptables save
/etc/init.d/iptables restart
PS:如果iptables save报错
iptables: Saving firewall rules to /etc/sysconfig/iptables: /etc/init.d/iptables: line 268: restorecon: command not found
要安装一个软件包:
yum install policycoreutils 设置OpenVPN开机自启动
echo "/usr/local/sbin/openvpn --config /etc/openvpn/easy-rsa/2.0/conf/server.conf &" >> /etc/rc.local
启动OpenVPN
/usr/local/sbin/openvpn --config /etc/openvpn/easy-rsa/2.0/conf/server.conf  >/dev/null 2>&1 &
(责任编辑:IT)
------分隔线----------------------------