V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sekisui
V2EX  ›  宽带症候群

openwrt 替换 openvpn 默认证书详细教程,作为个人纪录

  •  
  •   sekisui · 21 天前 · 546 次点击
    使用 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


    具体该插件如何使用请参照其他教程
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   780 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 21:25 · PVG 05:25 · LAX 14:25 · JFK 17:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.