linux系统openvpn证书制作流程步骤
linux  /  管理员 发布于 4年前   3355
openvpn证书制作
最近研究如何在路由器上面实现openvpn的功能,其中便涉及到使用easyrsa来制作证书的问题,针对最新的openvpn-2.3.11源码包,easyrsa已经不包含在里面,需要单独下载,下载网址为https://github.com/OpenVPN/easy-rsa,下载下来是一个easy-rsa-master.zip压缩包,已上传为附件,在linux上面将其解压得到easy-rsa-master,进入easyrsa3,将vars.example复制一份命名为vars,此文件为制作证书时所使用到的配置文件,根据我的需要,我只打开了如下选项:
set_var EASYRSA_DN "org"
set_var EASYRSA_REQ_COUNTRY "CN"
set_var EASYRSA_REQ_PROVINCE "Guangdong"
set_var EASYRSA_REQ_CITY "Shenzhen"
set_var EASYRSA_REQ_ORG "XXX"
set_var EASYRSA_REQ_EMAIL "[email protected]"
/*************************************/
如果openvpn client的配置文件中使用了ns-cert-type server则要打开此选项,制作server证书时会将一些信息写入证书,如不打开此选项,则openvpn client会提示server certificate verify fail
set_var EASYRSA_NS_SUPPORT "yes"
/*************************************/
下面就可以制作证书了,每条命令执行之后都有些信息输出,如出错,会提示相关错误信息
1 ./easyrsa init-pki
初始化,会在当前目录创建PKI目录,用于存储一些中间变量及最终生成的证书
2 ./easyrsa build-ca
创建根证书,首先会提示设置密码,用于ca对之后生成的server和client证书签名时使用,然后会提示设置Country Name,State or Province Name,Locality Name,Organization Name,Organizational Unit Name,Common Name,Email Address,可以键入回车使用默认的,也可以手动更改
3 ./easyrsa gen-req server nopass
创建server端证书和private key,nopass表示不加密private key,然后会提示设置Country Name,State or Province Name,Locality Name,Organization Name,Organizational Unit Name,Common Name,Email Address,可以键入回车使用默认的,也可以手动更改
4 ./easyrsa sign server server
给server端证书做签名,首先是对一些信息的确认,可以输入yes,然后输入build-ca时设置的那个密码
5 ./easyrsa gen-dh
创建Diffie-Hellman,时间会有点长,耐心等待
6 创建client端证书,需要单独把easyrsa3文件夹拷贝出来一份,删除里面的PKI目录,然后进入到此目录
./easyrsa init-pki
初始化,会在当前目录创建PKI目录,用于存储一些中间变量及最终生成的证书
7 ./easyrsa gen-req client nopass
创建client端证书和private key,nopass表示不加密private key,然后会提示设置Country Name,State or Province Name,Locality Name,Organization Name,Organizational Unit Name,Common Name,Email Address,可以键入回车使用默认的,也可以手动更改
8 回到制作server证书时的那个easyrsa3目录,导入client端证书,准备签名
./easyrsa import-req client.req所在路径 client
client.req应该在刚才制作client端证书的easyrsa3/pki/reqs/下面
9 ./easyrsa sign client client
给client端证书做签名,首先是对一些信息的确认,可以输入yes,然后输入build-ca时设置的那个密码
注意:ca、server和client的Common Name最好不要设置为一样,我没有验证,不过网上有人说设置一样后,openvpn连接时会有问题
至此,server和client端证书已制作完毕
openvpn server端需要的是
easyrsa3/pki/ca.crt <制作server证书的文件夹>
easyrsa3/pki/private/server.key <制作server证书的文件夹>
easyrsa3/pki/issued/server.crt <制作server证书的文件夹>
easyrsa3/pki/dh.pem
openvpn client端需要的是
easy-rsa/easyrsa3/pki/ca.crt <制作server证书的文件夹>
easy-rsa/easyrsa3/pki/issued/client.crt <制作server证书的文件夹>
easy-rsa/easyrsa3/pki/private/client.key <制作client证书的文件夹>
生成ta.key
到服务端目录
/etc/openvpn/server/keys/
openvpn --genkey --secret ta.key
复制一份到client
/etc/openvpn/client/keys/
123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..路人 在
php中使用hyperf框架调用讯飞星火大模型实现国内版chatgpt功能示例中评论 教程很详细,如果加个前端chatgpt对话页面就完美了..Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号