Frp 双向加密

图片[1]-Frp 双向加密-RSG-人生观前言:

为什么开加密,这个我就不用多说了吧,国内各种特殊情况,不开加密,各种阻断,链接不正常,还有泄露信息的问题。

教程:

部署教程,我就不写了,之前已经写过了

[ri-post id=”56007″ thumb=”none”]

创建CA证书:

openssl genrsa -out ca.key 2048
openssl req -x509 -new -nodes -key ca.key -subj "/CN=www.lxg2016.com" -days 5000 -out ca.crt

注意第二行命令的www.lxg2016.com 换成你的域名,当然乱写也可以。

报错处理:

图片[2]-Frp 双向加密-RSG-人生观

注意Can’t load后面的路径,cd到/root之后执行命令

openssl rand -writerand .rnd

在继续执行命令就可以了

Frps服务端

创建my-openssl.cnf

cat > my-openssl.cnf << EOF
[ ca ]
default_ca = CA_default
[ CA_default ]
x509_extensions = usr_cert
[ req ]
default_bits        = 2048
default_md          = sha256
default_keyfile     = privkey.pem
distinguished_name  = req_distinguished_name
attributes          = req_attributes
x509_extensions     = v3_ca
string_mask         = utf8only
[ req_distinguished_name ]
[ req_attributes ]
[ usr_cert ]
basicConstraints       = CA:FALSE
nsComment              = "OpenSSL Generated Certificate"
subjectKeyIdentifier   = hash
authorityKeyIdentifier = keyid,issuer
[ v3_ca ]
subjectKeyIdentifier   = hash
authorityKeyIdentifier = keyid:always,issuer
basicConstraints       = CA:true
EOF

openssl genrsa -out server.key 2048

openssl req -new -sha256 -key server.key \
    -subj "/C=XX/ST=DEFAULT/L=DEFAULT/O=DEFAULT/CN=server.com" \
    -reqexts SAN \
    -config <(cat my-openssl.cnf <(printf "\n[SAN]\nsubjectAltName=DNS:localhost,IP:1.1.1.1,DNS:www.lxg2016.com")) \
    -out server.csr

openssl x509 -req -days 3650 \
    -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial \
    -extfile <(printf "subjectAltName=DNS:localhost,IP:1.1.1.1,DNS:www.lxg2016.com") \
    -out server.crt

命令中的1.1.1.1 要换成你frps服务器的公网ip,www.lxg2016.com 换成你服务器绑定的域名。

Frps.ini修改:

[common]
............###其他内容省略
tls_only = true
tls_cert_file = /cert/server.crt
tls_key_file = /cert/server.key
tls_trusted_ca_file = /cert/ca.crt
............###其他内容省略

替换cert路径为你服务器证书存放路径,如果是docker 需要增加证书路径的映射,这里我就不写了,配置完成后重启frps。

Frpc客户端:

创建证书:

openssl genrsa -out client.key 2048

openssl req -new -sha256 -key client.key \
    -subj "/C=XX/ST=DEFAULT/L=DEFAULT/O=DEFAULT/CN=client.com" \
    -reqexts SAN \
    -config <(cat my-openssl.cnf <(printf "\n[SAN]\nsubjectAltName=IP:1.1.1.1,DNS:www.lxg2016.com")) \
    -out client.csr

openssl x509 -req -days 3650 \
    -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial \
    -extfile <(printf "subjectAltName=IP:1.1.1.1,DNS:www.lxg2016.com") \
    -out client.crt

自行修改1.1.1.1为服务器ip以及www.lxg2016.com。

配置Frpc.ini:

把生成的client.crt、client.key、ca.crt 三个文件,复制到frpc的客户机内。

增加新内容

[common] 
............###其他内容省略
tls_enable = true
tls_cert_file = /cert/client.crt
tls_key_file = /cert/client.key
tls_trusted_ca_file = /cert/ca.crt
............###其他内容省略

配置内/cert替换为你的证书存放路径,docker运行的组要做证书路径映射,配置完成后重启frpc。

结尾:

配置双面加密,并不复杂,基本上上面的命令照抄就可以了,证书复制到客户机部分,可以用winspc下载在上传,或者可以用scp命令直接下载到frpc。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容