frp内网穿透alist
相关资源
事件背景
公元 2024 年,傻逼校园网屏蔽了内网不同网段设备的访问,导致我的所有局域网解决方案全部失效(例如 alist)。至此,我无法躺在宿舍的床上看实验室里电脑的视频,这极大的影响了我的科研热情。为此,决定进行内网穿透。
本次进行的内网穿透主要针对 http 服务(alist)。
服务端配置
下述内容也可以参考官方示例 vhost-http
1 | # 下载 frp |
注意,frp 的 Github Release 内包括客户端与服务端两部分,分别对应 frps*
于 frpc*
。所以服务端配置可以删除 frpc*
。
此外,麻烦还在无脑搬运的看看这个:“从 v0.52.0 版本开始,frp 开始支持 TOML、YAML 和 JSON 作为配置文件格式。请注意,INI 已被弃用,并将在未来的发布中移除。新功能只能在 TOML、YAML 或 JSON 中使用。希望使用这些新功能的用户应相应地切换其配置格式。”—— frps docs
服务端 frps.toml
内容如下:
1 | bindPort = 7000 # frp 服务端口 |
请确保关闭这两个端口的防火墙。
客户端配置
1 | serverAddr = "172.16.16.242" # 服务端 IP |
针对该配置文件做出补充介绍:
- 不难发现我这里的
serverAddr
并不是一个公网 IP,而是一个内网 IP。因为校园网屏蔽了外网 IP,导致我的新加坡服务器无法作为内网穿透的服务端,因此退而求其次使用了一台内网服务器作为服务端。因此严格来说,本次实践是进行的内网的内网穿透。 customDomains
是一个 A 记录解析到serverAddr
的域名。参考官方文档,DomainConfig 有customDomains
和subdomain
两个配置项。实测必须指定一个,否则会报错proxy xxx: subdomain and custom domains should not be both empty
启动 frp 服务
启动服务端:
1 | ./frps -c frps.toml |
服务端成功启动后,会看到如下类似信息:
1 | 2024/02/25 19:41:14 [I] [root.go:105] frps uses config file: frps.toml |
启动客户端:
1 | .\frpc.exe -c .\frpc.toml |
客户端启动成功后,会看到如下类似信息:
1 | 2024/02/25 19:42:52 [I] [root.go:142] start frpc service for config file [.\frpc.toml] |
此时服务端也会同步显示客户端连接情况:
1 | 2024/02/25 19:42:54 [I] [service.go:563] [7e047f197c32f772] client login info: ip [172.26.109.89:1557] version [0.54.0] hostname [] os [windows] arch [amd64] |
访问内网服务
通过 http://your_domain.com:5245
即可访问内网设备 127.0.0.1
下端口 5244
的服务。
客户端配置中,
localIP
默认为127.0.0.1
,故省略。如有需要请自行修改。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 日勿の部落格!