由于在家办公需要访问公司内网,故记录一下部署openVPN服务过程。
环境:
开始部署:
1 | mkdir -p /opt/tools |
安装lzo,lzo用于压缩隧道通信数据以加快传输速度
1 | wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz #下载lzo包 |
开始安装openVPN-2.0.9
下载链接:链接: https://pan.baidu.com/s/1XD_pja7Cj4umOJngN92eIQ 提取码: m7dy
1 | tar -zxf open***-2.0.9.tar.gz |
Open安装完成,下面开始配置openVPN:
1、建立CA的相关信息
在open的源代码目录下有一个/easy-rsa/2.0目录,我的环境是/opt/tools/open-2.0.9/easy-rsa/2.0/,里面有一个vars文件存有CA的详细信息,这里需要编辑并修改相关配置。
1 | cd /opt/tools/open***-2.0.9/easy-rsa/2.0/ |
2、创建根CA证书
1 | [root@mylinux1 2.0]# ./build-ca |
3、创建Diffie-Hellman(dh)文件
1 | [root@mylinux1 2.0]# ./build-dh |
4、为服务器生成证书和密钥
1 | [root@mylinux1 2.0]# ./build-key-server server |
5、为客户端生成客户端证书文件
1 | [root@mylinux1 2.0]# ./build-key tom |
另外,上面帮Tom生产的客户端证书文件时不含密码的,也即用户通过该证书登录openVPN时不需要输入密码即可拨入,当然我们在/easy-rsa/2.0目录下看到除了build-key命令外,还有一个build-key-pass,这个就是生成带密码的客户端证书文件,例如我们需要为jerry创建一个带密码的客户端证书,方法如下:
1 | [root@mylinux1 2.0]# ./build-key-pass jerry |
6、编辑Open×××服务器配置文件/etc/server.conf
1 | cat /opt/tools/open***-2.0.9/sample-config-files/server.conf|egrep -v ";|#|^$" >/tmp/temp |
7、启动OpenVPN服务
1)首先检查iptables是否关闭,SELinux是否禁用,以免对OpenVPN造成干扰
2)开启系统自身的IP转发功能
临时:
1 | echo "1" >/proc/sys/net/ipv4/ip_forward |
永久:
1 | /etc/sysctl.conf 中添加/修改:net.ipv4.ip_forward = 1 |
3)启动Open***服务
1 | [root@mylinux1 2.0]# /usr/local/sbin/open*** --config /etc/server.conf & |
看到“Initialization Sequence Completed”字样,说明OpenVPN启动成功。
1 | [root@mylinux1 2.0]# ps -ef|grep open*** |
通过上面的命令,也可以说明OpenVPN服务已经在运行中了,至此,安装部署结束。