记一次openvpn server部署

记一次openvpn server部署,免得时间长了自己忘记了,记下来以后自己参考
一直以来都想学习一下openvpn server今天研究了一下踩了各种坑终于部署成功了本人用的OpenVPN-2.6.5-I001-amd64版本
请添加图片描述

【一、openvpn软件下载】
地址有两个
https://github.com/OpenVPN/openvpn
https://openvpn.net/community-downloads/
【二、服务端安装】
openvpn软件服务端和客户端都是同一个安装包,本次使用的openvpn安装包为2.6.5版本。

1.安装的时候要选择Customize,勾选openvpn service和EasyRSA3 安装,用于服务端配置和证书生成使用。
2.安装完成后软件默认位置C:\Program Files\OpenVPN目录
【三、证书生成】
上一步我们已经安装了证书生成工具EasyRSA3,使用此工具即可生成所需证书。

1.进入EasyRSA shell 环境dos窗口

cd "C:\Program Files\OpenVPN\easy-rsa"
  1. 启动EasyRSA
EasyRSA-Start.bat
  1. 初始化PKI(公钥基础设施)
    【初始化成功后会在C:\Program Files\OpenVPN\easy-rsa目录下新建文件夹kpi】
./easyrsa init-pki
  1. 编辑配置文件(会提示新建,直接新建就可以了)
notepad vars.bat
  1. 在记事本中写入如下内容(记得修改)
set KEY_COUNTRY=CN

set KEY_PROVINCE=CA

set KEY_CITY=Shenzhen

set KEY_ORG=OpenVPN

set KEY_EMAIL=mail@host.domain

set DH_KEY_SIZE=2048
  1. 保存,生效(./easyrsa clean-all,清除之前产生的文件,默认是没有文件的)
vars.bat
./easyrsa clean-all
  1. 生成CA根证书(nopass参数表示不使用密码保护私钥,下同)
    【生成结束后会打印出证书所在目录C:/Program Files/OpenVPN/easy-rsa/pki/ca.crt】
./easyrsa build-ca nopass
  1. 生成服务器端的私钥,会提示输入名称我输入的openvpnserver
    【生成后证书文件在C:/Program Files/OpenVPN/easy-rsa/pki/issued/openvpnserver.crt】
    【req: C:/Program Files/OpenVPN/easy-rsa/pki/reqs/openvpnserver.req】
    【key: C:/Program Files/OpenVPN/easy-rsa/pki/private/openvpnserver.key】
./easyrsa build-server-full openvpnserver nopass

使用以下命令进行验证,返回ok就没问题

openssl verify -CAfile pki/ca.crt pki/issued/openvpnserver.crt
  1. 生成客户端的私钥(如果有多个客户端,需要生成多个)
    【成后证书在C:/Program Files/OpenVPN/easy-rsa/pki/issued/puxiaojiang.crt】
    【req: C:/Program Files/OpenVPN/easy-rsa/pki/reqs/puxiaojiang.req】
    【key: C:/Program Files/OpenVPN/easy-rsa/pki/private/puxiapjiang.key】
./easyrsa build-client-full puxiaojiang nopass

可以使用以下命令进行验证,返回ok就没问题

openssl verify -CAfile pki/ca.crt pki/issued/puxiaojiang.crt
  1. 生成DH密钥交换协议
    【生成文件在C:/Program Files/OpenVPN/easy-rsa/pki/dh.pem】
./easyrsa gen-dh

11.配置需要生成ta.key证书【为防御 DoS,UDP 淹没等恶意攻击行为】
【生成文件在C:\Program Files\OpenVPN\bin\ta.key】

cd "C:\Program Files\OpenVPN\bin"
openvpn.exe --genkey --secret ta.key

【四、服务器配置】
服务端配置文件模板为server.ovpn ,在 C:\Program Files\OpenVPN\sample-config目录下

1.修改服务端配置文件
复制server.ovpn文件至C:\Program Files\OpenVPN\config目录,修改如下选项:

a)端口:(公网需要对应开通此端口)port udp 1194
b)协议文件名:dh dh2048.pem修改为dh dh.pem
c)运行多用户使用同一客户端证书:;duplicate-cn取消注释(前面;号删除)修改为duplicate-cn
d-1)如果不使用tls-auth ta.key 0 注释掉此行(前面加#号): tls-auth ta.key 0修改为#tls-auth ta.key 0    
d-2)如果要使用tls-auth ta.key 0 需要使用去掉#  我是要使用 此处我去掉#号的
e)cert server.crt 改为cert openvpnserver.crt   #默认是server.crt
f)key server.key 改为key openvpnserver.key  #默认是server.key

2.证书复制配置
将服务证书【openvpnserver.req】,服务key【openvpnserver.key】,ca证书【ca.crt】,dh文件【dh.pem】,ta.key文件【ta.key】【7.8.10.11】复制到文件夹C:\Program Files\OpenVPN\config下

3.连接
右键点击任务栏带锁小电脑图标,点击连接,连接成功后会变绿,系统提示分配ip

注意:因为VPN需要通过公网访问,需要在路由器中将udp 1194端口转发到内网服务器所在ip

【五、客户端安装】
双击OpenVPN-2.5.6-I601-amd64.msi,点击Install Now安装客户端,安装完成后目录C:\Program Files\OpenVPN
2.配置客户端文件
客户端配置文件client.ovpn,模板在C:\Program Files\OpenVPN\sample-config,复制该文件到C:\Program Files\OpenVPN\config目录下,修改客户端配置如下:

a)修改连接服务器地址: remote my-server-1 1194修改为remote 服务器公网ip 1194
d-1)如果不使用tls-auth ta.key 1 注释掉此行(前面加#号): tls-auth ta.key 1修改为#tls-auth ta.key 1    
d-2)如果要使用tls-auth ta.key 1 需要使用去掉#  我是要使用 此处我去掉#号的
c)cert client.crt 改为cert puxiaojiang.crt   #默认是client.crt
d)key client.key改为key puxiaojiang.key   #默认是client.key

3.证书复制
将客户端证书【puxiaojiang.crt】,客户端key【puxiaojiang.key】,ca证书【ca.crt】,ta,key文件【ta.key】【7.9.11】复制到该目录下C:\Program Files\OpenVPN\config

4.连接
右键点击任务栏带锁小电脑图标,点击连接,连接成功后系统分配ip,小电脑变绿
至此openvpn环境便搭建完成了。
吊销客户端证书】
当我们创建了多个用户使用,然后某些原因,个别用户需要禁用的时候,我们就可以使用吊销证书的方式来处理。

首先在你的OpenVPN服务器上,打开cmd管理员权限窗口,进入目录“C:\Program Files\OpenVPN\easy-rsa\”

cd "C:\Program Files\OpenVPN\easy-rsa"
EasyRSA-Start.bat

输入以下命令

./easyrsa revoke <client> # 你要吊销的客户端名
./easyrsa gen-crl # 生成crl.pem文件,用来记录吊销的证书

编辑server.ovpn(“C:\Program Files\OpenVPN\config”下),在行尾加入一行

crl-verify "C:\\Program Files\\OpenVPN\\easy-rsa\\pki\\crl.pem" # 用来告知服务端有哪些证书是被吊销的
这一步如果不做则不会生效,添加了这行之后,服务端重连一下即可。

  • 1
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值