以下引用内容摘抄自github

什么是frp?

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

总之就是个内网穿透工具awa

现在市面上大部分的内网穿透工具都要钱,要不就限制流量,要不就限速,哪怕免费不限量的,也可能有速度很慢(国内,因为大多是美国服务器)或不稳定等情况,以及涉及隐私等等(乱说的,勿当真),在高要求的情况下,这些问题就尤为致命(充钱的当我没说),像我用内网穿透就是为了Minecraft联机,延迟问题就十分致命,毕竟没有公网ip的情况下,除了内网穿透似乎就没有其它更好的办法了

所以自己搭建一个内网穿透还是有必要的

frp项目地址:https://github.com/fatedier/frp

官方文档:https://gofrp.org/zh-cn/docs/

教程开始

部署服务端

首先,你得有一台服务器,地点离你越近越好

然后到frp的releases页面,下载对应服务端

https://github.com/fatedier/frp/releases

服务器是哪个架构就选哪个服务端,我是Linux的,就选择Linux的服务端

或者用wget也行

截止本篇教程编写,最新版本为0.67.0,所以就是

wget https://github.com/fatedier/frp/releases/download/v0.67.0/frp_0.67.0_linux_amd64.tar.gz

下载好后,运行命令解压

tar -zxvf frp_0.67.0_linux_amd64.tar.gz

上面替换成你下载的文件名

cd进去

找到frps.toml,编辑

参考以下内容:

# 基础监听端口:frpc 客户端连接 frps 时用的端口
bindPort = 7000
​
# 开启 token 认证(可选)
auth.method = "token"
auth.token  = "填你自己的token"
​
# 开启 Web 管理面板(dashboard),方便查看连接状态、流量等
webServer.addr = "0.0.0.0"
webServer.port = 7500 # 面板端口
webServer.user = "你的用户名"
webServer.password = "你的密码"
​
# 日志设置(可选,但推荐开启,便于排查问题)
log.to = "/var/log/frps.log"          # 日志文件路径
log.level = "info"             # debug / info / warn / error,调试时可改 debug
log.maxDays = 3                # 日志保留天数
log.disablePrintColor = true   # 关闭彩色日志(有些终端不支持)
​
allowPorts = [
  { start = 25565, end = 25570 }   # 允许客户端映射的端口范围
]

更多参数:https://gofrp.org/zh-cn/docs/reference/

(补充一下,webServer.addr项如果填"127.0.0.1"的话,可能会无法访问,不填也是默认127.0.0.1,因为我之前就是这么填的,结果发现无法访问,排查了好久qwq

至于为什么,其实我也不是很清楚,但是我改成"0.0.0.0"之后,就可以访问了,有知道的大佬麻烦告诉我一下qwq)

记得设置防火墙开放端口

然后是启动frp服务,我是设置了一下开机自启什么的

在/etc/systemd/system/创建frps.service文件,或者直接sudo nano /etc/systemd/system/frps.service

然后输入以下内容:

[Unit]
Description=FRP Server (frps) # 简介
After=network.target syslog.target
Wants=network.target
​
[Service]
Type=simple
# ← 这里改成你的实际 frps 路径
ExecStart=/root/frp_0.67.0_linux_amd64/frps -c /root/frp_0.67.0_linux_amd64/frps.toml
​
# 推荐:服务崩溃或 kill 后自动重启
Restart=always
RestartSec=5s
​
# 可选:限制资源,防内存泄漏
# LimitNOFILE=65535
# MemoryMax=512M
​
[Install]
WantedBy=multi-user.target

保存退出(nano:Ctrl+O → Enter → Ctrl+X)

重载配置

sudo systemctl daemon-reload

设置开机自启及现在启动

sudo systemctl enable frps sudo systemctl start frps

查看服务状态

sudo systemctl status frps

看到Active: active (running)绿色字样即为成功

打开服务器ip:端口,输入设置的用户名和密码即可进入面板查看状态

配置客户端

同样是打开frp的releases页面,下载对应客户端

https://github.com/fatedier/frp/releases

下载好后解压

接着打开里面的frpc.toml文件,输入以下内容:

serverAddr = "你的服务器ip"
serverPort = 7000 # 之前设置的监听端口
auth.token = "和服务端一样的token"
​
[[proxies]]
name = "服务名字"
type = "tcp" # 类型
localIP = "127.0.0.1" # 本地ip
localPort = 25565 # 本地端口
remotePort = 25565 # 远程端口

更多参数:https://gofrp.org/zh-cn/docs/reference/

记得也要设置防火墙,开放设置的远程端口

启动的话我写了个bat,方便启动,可以参考一下

@echo off
frpc.exe -c frpc.toml
pause

设置开机自启可以win+r打开运行窗口,输入shell:startup,然后把刚刚写的bat文件的快捷方式放进去,这样就可以了


作者の题外话:

新年的第一篇文章!awa

好久没更新了,主要是没有动力来写教程qwq

素材倒是有挺多,就是懒得写qwq