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)
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 stateVPS的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 pkgconfig2、安装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中的文件说明
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 restartPS:如果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) |