环境 CentOS6.8
- 安装OpenVPN.
yum install -y openvpn easy-rsa
-
初始化服务器拷贝模板配置文件
cp /usr/share/doc/openvpn-2.3.6/sample/sample-config-files/server.conf /etc/openvpn/
cp -r /usr/share/easy-rsa/2.0/* /etc/openvpn/
更改vars文件生成证书的缺省配置信息,也可以不做更改
cd /etc/openvpn/
vim vars
export KEY_COUNTRY="CN"
export KEY_PROVINCE="BJ"
export KEY_CITY="Beixxxxxxxxxg"
export KEY_ORG="zxxxxxxxxxxxxxxi"
export KEY_EMAIL="[email protected]"
export KEY_OU="ITOPS"
做SSL配置文件软链:
# ln -s openssl-1.0.0.cnf openssl.cnf
修改vars文件可执行并调用
# chmod +x vars
- 生成证书
3.1生成CA证书
source ./vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/keys
注:也就是如果执行./clean-all,就会清空/etc/openvpn/keys下所有文件
初次配置可以执行此命令
开始配置证书:
-
清空原有证书
# ./clean-all
注:下面这个命令在第一次安装时可以运行,以后在添加完客户端后慎用,因为这个命令会清除所有已经生成的证书密钥,和上面的提示对应
-
生成服务器端ca证书
# ./build-ca
注:由于之前做过缺省配置,这里一路回车即可
3.2、产生服务器证书
# ./build-key-server ov.xxxxxx'.com
生成服务器端密钥证书, 后面这个ov.zxxxxxxxx.com就是服务器名,也可以自定义,可以随便起,但要记住,后面要用到。
3.3、生成DH验证文件
# ./build-dh
生成diffie hellman参数,用于增强openvpn安全性(生成需要漫长等待),让服务器飞一会。
3.4、生成客户端证书
# ./build-key client1
# ./build-key client2
(名字任意,建议写成你要发给的人的姓名,方便管理)
注:这里与生成服务端证书配置类似,中间一步提示输入服务端密码,其他按照缺省提示一路回车即可。
最后按y提交
3.5、生成ta.key文件
# openvpn --genkey --secret /etc/openvpn/keys/ta.key
3.6、编辑服务配置文件
# vim /etc/openvpn/server.conf
push 为需要推送到客户端的路由
创建日志目录:
# mkdir -p /var/log/openvpn/
4、启动服务
# service openvpn start
或者
# /etc/init.d/openvpn start
最后将openvpn配置开机启动
# chkconfig openvpn on
开启路由转发功能
# vim /etc/sysctl.conf
找到net.ipv4.ip_forward = 0
把0改成1
# sysctl -p
设置iptables(这一条至关重要,通过配置nat将vpn网段IP转发到server内网)
# iptables -t nat -A POSTROUTING -s 10.20.0.0/24 -o eth0 -j MASQUERADE
设置openvpn端口通过:
# iptables -A INPUT -p TCP --dport 1194 -j ACCEPT
# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
保存iptable设置:
# service iptables save
最后联系安全部开通出口防火墙即可.
客户端配置
windows 安装openvpn后拷贝 服务端 /etc/openvpn/keys下生成的客户端文件到 安装目录下的oepn/config下 入 D:\Program Files\OpenVPN\config
client.ovpn配置文件内容如下.注意remote处为需要连接的VPN地址和端口
client
;dev tap
dev tun
;dev-node MyTap
proto udp
;proto udp
;remote xxxx 1194
remote xxxxxx 1194 此处为需要连接的IP地址
;remote my-server-2 1194
;remote-random
resolv-retry infinite
nobind
;user nobody
;group nobody
persist-key
persist-tun
;http-proxy-retry # retry on connection failures
;http-proxy [proxy server] [proxy port #]
;mute-replay-warnings
ca ca.crt
cert wxxx.crt
key wxxxxx.key
remote-cert-tls server
;tls-auth ta.key 1
;cipher x
;comp-lzo
verb 3
;mute 20
linux下配置参考windows下配置
openvpn --config client.ovpn
命令 指定配置文件路径位置 拷贝相应的文件到此路径
参考 https://docs.ucloud.cn/software/vpn/openvpn4centos
本教程用于方便远程办公,请勿用于非法途径