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) |