Frp | 内网穿透让Velocity获取到玩家真实IP方法

唔嘫worable 发布于 8 天前 54 次阅读 359 字 预计阅读时间: 2 分钟


AI 摘要

宝宝读完啦,讲的是让看门的大哥哥(Velocity)看到小朋友真正的家在哪里(真实IP),而不是看到送信人的家。 以前呀,小朋友要走过弯弯的隧道(frp)才能玩游戏,大哥哥看到的总是隧道口叔叔的地址,这不是小朋友的地址呀。 要改改才行! 首先要写写小纸条给隧道(frpc.toml),加上"transport.proxyProtocolVersion = v2"这行字,告诉它要用秘密语言讲话。 然后要告诉看门的大哥哥(velocity.toml),说"你要听懂秘密语言哦",把haproxy-protocol改成true。 改完要重启重启才能用。 哇!这样大哥哥就知道小朋友真正的家在哪里啦! 但是但是,有的小朋友想直接敲门玩,不走隧道,这怎么办呀?这时候要装一个小帮手(HAProxyReduce插件),再写个白名单小纸条(whitelist.conf),把允许的域名或地址写上去。 然后然后,就能两全其美啦!走隧道能看清,直接来也能看清,大哥哥都不会搞错。 这里超厉害!宝宝觉得好棒!

配置 frpc.toml

frpc.toml配置文件中添加这一行:

[[隧道名称]]
... # 省略隧道的其他信息
transport.proxyProtocolVersion = "v2" # 在已有隧道添加这一行即可

修改完需要重启 frpc 后才会生效。

如果你使用的是 SakuraFrp(比如我),可以看此处的文档

配置 velocity.toml

velocity.toml配置文件中,启用该配置项。

haproxy-protocol = true

重启 Velocity 后,配置项即可生效。

直连与代理并用

开启HAproxy后,你会发现无法通过IP直连访问。

下载HAProxyReduce插件。

安装好插件后,先启动Velocity,让插件生成默认配置文件,然后关掉Velocity,我们需要调整一下插件配置。进入 /plugins/haproxy-reduce,编辑 whitelist.conf

127.0.0.0/8 # 默认配置
::1/128 # 默认配置
example.com # 在这里写上玩家连接服务器要用的那个域名就行了,不用写端口号,没域名就写 IP 地址

其他的核心开启 HAproxy 方法

参考@SakuraFrp/bestpractice/realip.html#proxy-protocol-minecraft

本文参考@arcomua/velocity-use-haproxy这篇教程结合自己经验写的。