本流程只供参考,适用于Windows环境,注意时效性和准确性
一、工具下载
- FRP下载链接:https://github.com/fatedier/frp/releases
- OpenSSL下载链接:https://slproweb.com/products/Win32OpenSSL.html
二、服务端配置
- 参考文档:https://gofrp.org/zh-cn/docs/
- 解压后删除frpc.exe和frpc.toml,避免误导
- 打开frps.toml文件,进行以下配置
bindPort = 7000 # 服务端监听端口
auth.method = "token" # 认证方式
auth.token = "token12345" # 可以设的复杂一点
allowPorts = [ # 允许的端口号范围
{ single = 7777 }, # 单端口格式
{ start = 27015, end = 27020 } # 多端口格式
]
webServer.addr = "0.0.0.0" # Web页面监听地址,"0.0.0.0"代表所有IP可访问
webServer.port = 7500 # Web页面端口
webServer.user = "admin" # Web页面账号
webServer.password = "12345" # Web页面密码
transport.tls.certFile = "server.crt" # 服务端证书
transport.tls.keyFile = "server.key" # 服务端密钥
transport.tls.trustedCaFile = "ca.crt" # CA根证书
- 在FRP所在路径新建文本文档,填入以下命令
@echo off
cd /d "%~dp0"
frps.exe -c .\frps.toml
pause
- 重命名为批处理文件,例如serverrun.bat
三、客户端配置
- 参考文档:https://gofrp.org/zh-cn/docs/
- 解压后删除frps.exe和frps.toml,避免误导
- 打开frpc.toml文件,进行以下配置
serverAddr = "xx.xx.xx.xx" # 服务端地址
serverPort = 7000 # 服务器端口,与bindPort相同
auth.method = "token" # 认证方式
auth.token = "token12345" # 要和服务端完全一样
transport.tls.certFile = "client.crt" # 客户端证书
transport.tls.keyFile = "client.key" # 客户端密钥
transport.tls.trustedCaFile = "ca.crt" # CA根证书
[[proxies]] # 代理配置
name = "mc" # 取一个名字
type = "tcp" # tcp协议
localIP = "127.0.0.1" # 本地IP
localPort = 25565 # 需要转发的端口,例如mc联机的默认端口是25565
remotePort = 25565 # 映射端口,即服务端所在服务器的端口
- 在FRP所在路径新建文本文档,填入以下命令
@echo off
cd /d "%~dp0"
frpc.exe -c .\frpc.toml
pause
- 重命名为批处理文件,例如clientrun.bat
四、创建自签名证书
- 安装OpenSSL,进入安装目录,例如C:\Program Files\OpenSSL-Win64
- 新建文本文档并重命名为san.cnf,填入以下内容
[req]
default_bits = 2048
prompt = no
default_md = sha256
x509_extensions = v3_req
distinguished_name = dn
[dn]
C = CN # 国家(C)、省份(ST)、组织(O)
ST = Beijing # 省份
L = Beijing # 城市
O = MyOrg # 组织
CN = luolanwei.top # 域名或名字
[v3_req]
keyUsage = keyEncipherment, dataEncipherment, digitalSignature
extendedKeyUsage = serverAuth, clientAuth
subjectAltName = @alt_names
basicConstraints = CA:FALSE
[alt_names]
DNS.1 = localhost
DNS.2 = luolanwei.top # 如果有域名,可添加
IP.1 = 127.0.0.1
IP.2 = xx.xx.xx.xx # 如果有公网IP,可添加
- 双击start.bat,依次执行以下命令
# 1. 生成CA证书
openssl genrsa -out ca.key 2048
openssl req -x509 -new -nodes -key ca.key -sha256 -days 3650 -out ca.crt -subj "/C=CN/ST=Beijing/L=Beijing/O=MyOrg/CN=FRP-CA"
# 2. 生成服务器证书
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr -config san.cnf
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 3650 -extensions v3_req -extfile san.cnf
# 3. 生成客户端证书
openssl genrsa -out client.key 2048
openssl req -new -key client.key -out client.csr -subj "/C=CN/ST=Beijing/L=Beijing/O=MyOrg/CN=FRP-Client"
openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt -days 3650
- 将生成的server.key、server.crt、ca.crt放入到服务器的frps.exe所在的路径下
- 将生成的client.key、client.crt、ca.crt放入到本地的frpc.exe所在的路径下
五、启动反向代理
- 双击serverrun.bat启动服务端
- 双击clientrun.bat启动客户端
- 出现start proxy success时表示成功
