使用 Lean 源代码编译的 openvpn 使用的是大家通用的证书,使用方便但是危险,整理了重新生成证书并替换的方法
!!!前提是固件本身已有 openvpn 服务器 插件
1.证书体系建立
# 配置参数
export EASYRSA_PKI="/etc/easy-rsa/pki"
export EASYRSA_REQ_CN="ovpnca"
export EASYRSA_BATCH="1"
export EASYRSA_CERT_EXPIRE="3650" # 证书十年有效
root@yourlede:~ cd /etc/easy-rsa #进入证书配置文件夹
以下在文件夹中操作
# 清空,并初始化 PKI 目录
easyrsa init-pki
# 生成 DH 参数
easyrsa gen-dh
#此时会有很长的·······跑出
# 生成文件在 cat /etc/easy-rsa/pki/dh.pem
# 新建 CA
easyrsa build-ca nopass
# 两次输入口令,生成文件 cat /etc/easy-rsa/pki/ca.crt
# 生成服务器秘钥和证书
easyrsa build-server-full server nopass
# 生成文件 cat /etc/easy-rsa/pki/private/server.key
openvpn --genkey tls-crypt-v2-server /etc/easy-rsa/pki/private/server.pem
# 生成客户端秘钥和证书
easyrsa build-client-full client nopass
# 生成文件 cat /etc/easy-rsa/pki/private/client.key
openvpn --tls-crypt-v2 /etc/easy-rsa/pki/private/server.pem \
--genkey tls-crypt-v2-client /etc/easy-rsa/pki/private/client.pem
2.使用证书
#以下在根目录操作
uci set
openvpn.myvpn.ca=/etc/easy-rsa/pki/ca.crt
uci set openvpn.myvpn.cert=/etc/easy-rsa/pki/issued/server.crt
uci set openvpn.myvpn.key=/etc/easy-rsa/pki/private/server.key
uci set openvpn.myvpn.dh=/etc/easy-rsa/pki/dh.pem
3.替换之前的默认证书
rm /etc/openvpn/* #删除之前的证书
cp /etc/easy-rsa/pki/ca.crt /etc/openvpn/
cp /etc/easy-rsa/pki/dh.pem /etc/openvpn/
cp /etc/easy-rsa/pki/issued/server.crt /etc/openvpn/
cp /etc/easy-rsa/pki/issued/client.crt /etc/openvpn/client1.crt
cp /etc/easy-rsa/pki/private/server.key /etc/openvpn/
cp /etc/easy-rsa/pki/private/client.key /etc/openvpn/client1.key
4.设置多终端登录
vi /etc/config/openvpn
进入配置文件的编辑界面后,按键盘上的 i 健进入文本编辑模式,将光标移到配置文件末尾,将以下代码复制粘贴到配置文件最后一行。
option duplicate_cn '1'
编辑完成后,按键盘上的 ESC 健,再依次输入以下命令保存并退出编辑器:
:wq
5.重启设备
reboot
具体该插件如何使用请参照其他教程
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/1031037
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.