基于Frp内网穿透方案
前言
最近想玩幻兽帕鲁, 但和同学玩得要其中一台电脑挂着世界, 也就是说得特定一个人在线才能玩, 贼麻烦, 我的电脑还老挂, 诶但我这里刚刚好好就有那么一个高性能的小主机, 还有一台公网服务器, 而且正巧在学校以及在家也没有公网 ip, 这台公网服务器的性能也不足以支持我的游戏服务器, 那么我们就可以用公网服务器来作为中转点进行数据传输
所以这个方案所需设备就是一台本地能部署服务器的主机, 以及随便一台有公网 ip 的主机
基本原理
就很简单了, 客户端也就是本地的 Frpc 会与服务器端的 Frps 在服务器的特定端口建立 TCP 连接, 也就是说本地只需要公网主机的服务器 ip 以及端口, 并泛洪发出连接请求, 然后 Frps 会在特定端口等待, 反正就一些简单的 TCP 技术细节, 懒得写了, 总之 Frpc 会给 Frps 一个开放端口目标, 让这个端口的数据通过刚才的 TCP 转发到 Frpc 预设的端口, 就比如帕鲁的服务器默认端口是 8211, 然后我的公网服务器设置的是 6000, 那发往公网服务器 6000 端口的数据就会直接被转发到本地的 8211
配置
先下载喽, 直接去官网下载就行了 https://gofrp.org/zh-cn/docs/overview/
然后将下载好的 frps 传到你的公网服务器上, 把 frpc 传到你的本地服务器上
Frps
先写个 .toml 文件, 最简单的大概就这样
1 | bindPort = 7000 |
然后启动 ./frps -c ./frps.toml
Frpc
同样写个 .toml 文件
1 | serverAddr = "8.130.18.93" |
大概这样, 注意的几点就是你连接到公网服务器的速度, 你可以先 ping 一下, 我这边是挺快的所以设置的是两秒, 然后 loginFailExit 最好设置成 false , 反正感觉我这边丢包率很高, 发一次就连上就呃呃, 校园网环境下重发个几十分钟都不是问题, 然后注意你的应用要使用的是什么协议的 (不要像某个人连了半天连上发现协议不对)
然后启动 ./frpc -c ./frpc.toml
等吧, 连上就搞定了
后记
就很简单 (所以我写这玩意干啥, 可能是我不想复习了), 应用的一些特殊要求 (比如协议啥的) 自己去看 frp 的文档和你的应用的文档, 然后我不想复习了, 还有幻兽帕鲁真好玩, 我的服务器应该一直开着, 有没有想玩的找我要个地址就行, 虽然我觉得也没人看我的 blog
有人想玩 terraria 吗, 有人看我写的东西吗, 哈哈, 算了, 写着玩玩, 太久没维护评论区都挂了
