搜索

内网穿透服务器搭建

发表于 2026-10-17 02:26:33 来源:烟消火灭网

家里那台树莓派跑着几个自用服务,内网想在外面访问,穿透结果运营商不给公网 IP。服务这事儿折腾了我一个周末。器搭内网穿透说白了就是内网让外网能摸到你内网里的机器,中间得有个有公网 IP 的穿透“跳板”帮忙转发流量。

最省事的服务方案是 frp。开源、器搭Go 写的内网、单文件、穿透配置直白。服务你需要一台有公网 IP 的器搭服务器,最低配的内网云主机就行,1 核 1G 跑 frp 绰绰有余。穿透我用的服务是一台阿里云轻量,一年不到一百块。

服务端配置

下载对应架构的 frp 压缩包,解压后得到 frps(服务端)和 frpc(客户端)。服务端只需要一个最简配置文件 frps.toml:

bindPort = 7000 auth.token = "你设一个复杂点的密码" 

就这两行。7000 是 frp 的控制端口,客户端靠它和服务端握手。token 是认证用的,别偷懒用默认值,公网上扫描器多得很。

直接 ./frps -c frps.toml 就能跑起来。想让它开机自启,写个 systemd unit 文件丢到 /etc/systemd/system/frps.service,内容网上模板很多,改改路径就行。记得防火墙放行 7000 端口,还有你后续要暴露的那些端口。

客户端配置

树莓派上放 frpc 和 frpc.toml:

serverAddr = "你的公网IP" serverPort = 7000 auth.token = "跟服务端一致" [[proxies]] name = "ssh" type = "tcp" localIP = "127.0.0.1" localPort = 22 remotePort = 6000 

这段配置的意思是:把本地的 22 端口(SSH)映射到服务端的 6000 端口。之后 ssh -p 6000 你的公网IP 就能连到树莓派了。想穿透 Web 服务就再加一段,把 localPort 改成 80 或 8080,remotePort 换个没被占用的。

跑起来后 frpc 会跟 frps 建立一条长连接,有流量进来就通过这条隧道转发。延迟取决于你那台公网服务器的线路质量,国内主机的话通常 10-30ms,体感跟直连差不多。

几个实际踩过的坑

token 认证是必须的,不设的话任何人都能把你的 frps 当跳板。我刚开始图省事没配,第二天看日志发现一堆来自陌生 IP 的连接尝试,赶紧补上了。

remotePort 别跟服务器上已有服务冲突。有次我随手设了 443,结果跟 nginx 抢端口,frp 直接启动失败。查了半天才发现。

带宽是瓶颈。云主机的公网带宽通常只有几 Mbps,穿透过去看视频基本没戏,传文件也慢。但跑个 SSH、访问个网页后台、远程调试代码,完全够用。

还有一种情况:如果你只是想让朋友临时访问一下本地开发环境,用 ngrok 或 cloudflare tunnel 更省事,不用自己买服务器。但长期用、数据想自己掌控,frp 自建还是最踏实的方案。我现在树莓派上的 Git 仓库、文件同步、监控面板全走 frp,跑了小半年没掉过链子。

随机为您推荐
友情链接
版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright © 2016 Powered by 内网穿透服务器搭建,烟消火灭网   sitemap

回顶部