1 安装环境
Centos6.5
openvpn2.3.11
2 步骤
2.1 添加fedora的yum源
1 | rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm |
2.2 安装openvpn
1 | yum install openvpn -y |
2.3 安装openvpn认证插件(LDAP认证使用)
1 | yum install openvpn-auth-ldap -y |
2.4 安装easy-rsa
由于openvpn2.3之后,在openvpn里面剔除了easy-rsa文件,所以需要单独安装
1 | yum install easy-rsa |
2.5 生成openvpn的key及证书
修改/opt/openvpn/etc/easy-rsa/2.0/vars
参数
1 | $ vi vars |
保存退出
2.5.1 创建服务器证书
./easyrsa clean-all
初始化目录,清理历史证书
./easyrsa build-ca
创建ca证书,设置ca证书密码,必须记着密码,为服务起名
./easyrsa gen-req server nopass
创建服务端证书,为server起名
./easyrsa sign server server
签约服务端证书,输入上面ca证书的密码
./easyrsa gen-dh
创建数据穿越密钥
2.5.2 创建客户端证书(使用客户端证书认证使用)
1 | cd /etc/openvpn/client/ |
./easyrsa init-pki
初始化目录
./easyrsa build-ca
创建ca证书,记住密码,客户端登录要用
./easyrsa gen-req client1
创建客户端证书,输入客户端ca证书密码,也是客户端登陆密码
cd /etc/openvpn/easy-rsa/3.0.6
./easyrsa import-req /etc/openvpn/client/ 3.0.6/pki/reqs/client1.req client1
导入客户端证书
2.6 编辑openvpn服务端配置
2.6.1 拷贝配置文件
1 | cd /etc/openpvn/easy-rsa/3.0.6/pki/ |
1 | cd /etc/openvpn/server |
1
2cd /etc/openvpn/client
ls
2.6.2 配置服务端配置文件
1 | $ cat /etc/openvpn/server.conf |
1 | port 1194 |
举例server.conf
LDAP方式配置文件
1 | ################################################# |
2.7 修改openvpn-ldap-auth的配置文件:
1 | vi /etc/openvpn/auth/ldap.conf |
1 | <LDAP> |
例子:openldap配置示例
使用了上面安装的openvpn-auth-ldap认证插件
client-cert-not-required不再需要客户端证书,将改为使用OpenLDAP中的用户认证
注意:上面的ldap.conf
中RequireGroup true
以及Group的配置实际我们期望是必须是LDAP中的名称为vpn的组下的用户才可以登录VPN。但根据这个ISSUE https://github.com/threerings/openvpn-auth-ldap/issues/7,当前2.0.3的openvpn-auth-ldap不支持。因此如果只想限制LDAP中某些用户可以使用VPN的话,只能设置`RequireGroup false,然后可以在
SearchFilter中做一些文章,比如
(&(uid=%u)(ou=vpn))`即只有用户的ou字段为vpn的才可以。
1 | <LDAP> |
2.8 拷贝/etc/openvpn/key目录下的ca.crt证书,以备客户端使用。
注:客户端使用ca.crt和客户端配置文件即可正常使用openvpn了
2.8.1 配置客户端配置文件
注意:
客户端ca证书使用的是和服务端一样的ca证书,都是创建服务端证书用到的ca文件
1 | vi client.ovpn |
1 | client |
例子:openldap方式客户端配置示例,与上方server版示例对照
1 | ############################################## |
2.9 开启路由转发
1 | vi /etc/sysctl.conf |
修改参数
net.ipv4.ip_forward = 1
(默认为0
,修改成1
表示开启路由转发,如果默认是空内容,请自行加上-腾讯云貌似就是空的)
重启sysctl生效路由转发:
1 | sysctl -p |
2.9.1 配置防火墙及路由转发策略:
1 | iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE #做NAT转换 |
2.10 开启 HTTP代理连接openvpn服务器
通过此方法可以解决跨运营商连接中断及缓慢的问题,首先需要有一台三网HTTP代理服务器。公司使用的是景安的云服务器做HTTP代理。
参考资料:http://www.365mini.com/page/18.htm
1、 在景安云服务器部署代理软件CCProxy
,并开启HTTP代理,端口443
(可自定义)。
2、 在客户端配置文件添加如下语句。
1 | http-proxy 122.114.100.229 443 |
配置完成。可以正常连接使用。
3 用到的文件下载:
=easy-rsa-master.zip
=lzo-2.09.tar.gz
=openvpn-2.3.11.tar.gz
=openvpn2.3.exe
=openvpn-auth-ldap-2.0.3-1.1.x86_64.rpm
=openvpn-auth-ldap-2.0.3-9.fc17.i686.rpm
=openvpn安装说明.docx