[[email protected] ~]# vim /etc/openvpn/server.conf
取消以下6个语句的注释:
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
user nobodygroup
nobody
comp-lzo
注释掉下面这条语句:
#tls-auth ta.key 0 # This file is secret
3、使用easy-rsa生成证书及密钥
完成了对于配置文件的修改之后,接下来生成keys和certificates。
安装easy-rsa:
[[email protected] ~]# yum install -y easy-rsa
将相关文件复制到OpenVPN的配置目录:
[[email protected] ~]# cp -a /usr/share/easy-rsa/ /etc/openvpn
现在有关的文件都在 /etc/openvpn/easy-rsa/2.0/ 这个目录中。
3.1、调整easy-rsa密钥生成配置
首先需要修改的是vars文件
[[email protected] ~]# vim /etc/openvpn/easy-rsa/2.0/vars
将以下这些值修改成你自己的值:
export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="[email protected]"
export KEY_OU="MyOrganizationalUnit"
# X509 Subject Field
export KEY_NAME="EasyRSA"
修改完成之后,执行 source ./vars, 清空目录并生成 Certificate Authority(CA):
[[email protected] ~]# cd /etc/openvpn/easy-rsa/2.0
[[email protected] ~]# source ./vars
3.2、生成密钥
3.2.1 生成CA, 服务器证书及密钥
在/etc/openvpn/easy-rsa/2.0目录中执行:
[[email protected] ~]# ./clean-all
[[email protected] ~]# ./build-ca
执行完成之后在/etc/openvpn/easy-rsa/2.0/keys目录中产生了CA,接下来为服务器生成密钥:
[[email protected] ~]# ./build-key-server server
有了服务器密钥,再生成Diffie Hellman key exchange文件,这里生成的长度由之前的KEY_SIZE决定:
[[email protected] ~]# ./build-dh
执行完成会产生dh2048.pem (默认的KEY_SIZE = 2048,这里产生的文件是dh2048.pem)
将4个所需文件复制到OpenVPN配置目录中去:
[[email protected] ~]# cd /etc/openvpn/easy-rsa/2.0/keys
[[email protected] ~]# cp dh2048.pem ca.crt server.crt server.key /etc/openvpn
在/etc/openvpn/easy-rsa/2.0/目录中执行:
[[email protected] ~]# ./build-key client
会在目录中产生客户端所需的证书和密钥
4、配置防火墙
该部分可执行防火墙脚本,具体的脚本代码在我的另一篇博文“经典好用anti-DDos的iptables shell脚本”中已贴出,执行iptables.sh可自动配置所有防火墙规则及OpenVPN配置。
5、启动OpenVPN
启动OpenVPN服务器并添加自动启动项:
[[email protected] ~]# systemctl start [email protected]
[[email protected] ~]# systemctl enable [email protected]
6、客户端配置文件
取回之前生成的位于/etc/openvpn/easy-rsa/2.0/keys中的三个文件:
ca.crt
client.crt
client.key
在你的客户端创建一个文件client.ovpn, 将这三个文件与其放在同一目录中,编辑client.ovpn内容如下:
client
dev tun
proto udp
remote xxx.xxx.xxx.xxx 1194
resolv-retry infinite
nobind
persist-key
persist-tun
comp-lzo
verb 3
ca ca.crt
cert client.crt
key client.key
cipher AES-256-CBC
将其中的xxx.xxx.xxx.xxx替换为你的服务器地址,如果端口、证书、密钥不同的话修改相应的项即可
如果OpenVPN客户端安装在Windows系统,则客户端配置文件在目录:
C:\Program Files\OpenVPN\config
所以在上面的目录下必须存在以下几个文件:
ca.crt
client.crt
client.key
client.ovpn
由于某些原因,目前无法通过OpenVPN官网:http://www.openvpn.net下载Windows版OpenVPN-GUI,具体下载大家可以参考如下链接:
http://openvpn.ustc.edu.cn/
如有需要,可发我邮箱[email protected],请注明windows系统版本,如Windows XP(32-bit)或者
Windows XP(64-bit)或者Windows Vista and later(32-bit)或者Windows Vista and later(64-bit)。
CentOS 7 安装配置 OpenVPN Server
来源: http://www.bubuko.com/infodetail-2316034.html