http://www.awsok.com/centos-7-%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AEopenvpn-server/ 这篇文章描述了如何在CentOS 7 服务器上安装与配置OpenVPN服务器,以及如何编写客户端连接到新建立的OpenVPN服务器上所需的配置文件。 由于OpenVPN Server不在默认源中,所以需要安装Extra Packages for Enterprise Linux (EPEL) 仓库,其中包含有OpenVPN的包。 1 添加EPEL源
2 安装OpenVPN首先从EPEL安装OpenVPN:
从示例配置文件复制一份配置文件到/etc/openvpn
打开/etc/openvpn/server.conf编辑:
取消以下5个语句的注释:
3 使用easy-rsa生成证书及密钥完成了对于配置文件的修改之后,我们接下来生成keys和certificates. 由于OpenVPN-2.3.2中没有了示例的easy-rsa相关文件,我们首先需要安装它:
将相关文件复制到OpenVPN的配置目录:
现在有关的文件都在/etc/openvpn/easy-rsa/2.0/这个目录中。 3.1 调整easy-rsa密钥生成配置首先需要修改的是vars文件
将以下这些值修改成你自己的值:
另外这中间还有KEY_SIZE,可以自己修改,不过需要与之后的配置文件对应,默认为1024
修改完成之后,执行source ./vars, 清空目录并生成Certificate Authority(CA):
3.2 生成密钥3.2.1 生成CA, 服务器证书及密钥在/etc/openvpn/easy-rsa/2.0目录中执行:
执行完成之后在/etc/openvpn/easy-rsa/2.0/keys目录中产生了CA,接下来为服务器生成密钥:
有了服务器密钥,再生成Diffie Hellman key exchange文件,这里生成的长度由之前的KEY_SIZE决定:
执行完成会产生dh1024.pem (如果你的KEY_SIZE = 2048,这里产生的文件是dh2048.pem) 将四个所需文件复制到OpenVPN配置目录中去:
3.2.2 生成客户端证书和密钥在/etc/openvpn/easy-rsa/2.0/目录中执行:
会在目录中产生客户端所需的证书和密钥 4 配置路由并启动OpenVPN Server4.1 防火墙配置在CentOS 7中,iptables防火墙已经被firewalld所取代,需要使用如下方法: 首先启动firewalld
查看有哪些服务已经在列表中允许通过:
可以看到已经有了dhcpv6-client, http, https, ssh四项,接下来添加openvpn:
检查一下:
最后添加masquerade:
以下命令用于确认masquerade是否添加成功:
4.2 允许IP转发在sysctl中开启IP转发
4.3 启动OpenVPN服务启动OpenVPN服务器并添加自动启动项:
至此服务端搭建完成。 5 客户端配置文件取回之前生成的位于/etc/openvpn/easy-rsa/2.0/keys中的三个文件:
在你的客户端创建一个文件client.ovpn, 将这三个文件与其放在同一目录中,编辑client.ovpn内容如下:
将其中的xxx.xxx.xxx.xxx替换为你的服务器地址,如果端口、证书、密钥不同的话修改相应的项即可 5.1 Android直接使用OpenVPN官方的OpenVPN Connect即可,选择import导入配置文件。 5.2 Mac OS X使用第三方的Tunnelblick连接,注意根据你的操作系统版本选择合适的版本。 (责任编辑:IT) |