实验环境
1.公网服务器(Debian12.5.0)
2.内网设备(群晖)
配置公网服务器
首先,执行 uname -a 命令来查看系统的架构,并根据系统架构下载相应的 Releases 包。
uname -a
下载 Frp 至本地:
wget https://mirror.ghproxy.com/https://github.com/fatedier/frp/releases/download/v0.54.0/frp_0.54.0_linux_amd64.tar.gz
tar -xzvf frp_0.54.0_linux_amd64.tar.gz
cd frp_0.54.0_linux_amd64
./frps -h
如果输入帮助命令后能够出现相关的帮助信息,则说明下载的包没有问题;否则,说明下载的包与系统架构不对应。
修改配置文件 frps.toml,示例如下:
bindPort = 7000 # {必选} 客户端端口
log.to = “console” # {可选} 日志配置
vhostHTTPPort = 7100 # {可选} HTTP代理需要,当访问该端口时跳到对应本地frpc代理
vhostHTTPSPort = 7200 # {可选} HTTPS代理需要,当访问该端口时跳到对应本地frpc代理
transport.tcpMux = true # TCP流多路复用(优化传输,需一致)
身份验证
auth.method = “token” # {可选} 身份验证方式
auth.token = “password” # token设置密码,用于通过身份验证创建连接
Frp服务仪表板配置
webServer.port = 7300 # {也可自行修改端口}
webServer.addr = “0.0.0.0” # 公网IP或者域名
webServer.user = “admin” # 登录用户名{可自行修改}
webServer.password = “admin” # 登录密码{可自行修改}
启动服务端:
./frps -c frps.toml
配置客户端
同样地,修改 frpc.toml 文件:
serverAddr = “1.2.3.4” # [必选] 服务器IP地址/域名
serverPort = 7000 # [必选] 要连接的Frp服务器端口
auth.token = “password” # 与服务端校验的令牌(需一致)
transport.tcpMux = true # TCP流多路复用(优化传输,需一致)
示例
[[proxies]]name = “web” # 代理名称(随便填)
type = “tcp” # 代理类型
localIP = “192.168.0.105” # 代理地址,要转发到哪个地址
localPort = 5500 # 代理端口,要转发到哪个端口
remotePort = 7001 # 远程端口(和远程Frp服务器哪个
启动客户端:
./frpc -c frpc.toml
开机启动Debian使用systemctl
nano frps.service
输入以下代码:
[Unit]
Description=Frps
After=network.target
[Service]
ExecStart=/usr/local/frps/frps -c /usr/local/frps/frps.toml
Type=simple
[Install]
WantedBy=default.target
输入以下命令:
mv frps.service /etc/systemd/system/frps.service
systemctl enable frps.service