内网穿透技术详解实现本地部署的LiuJuan20260223Zimage服务公网访问你是不是也遇到过这样的麻烦在本地电脑上辛辛苦苦部署好了一个LiuJuan20260223Zimage服务功能都调通了想给同事演示一下或者用手机测试一下结果发现只能在公司内网或者自己的电脑上访问。想分享给外地的朋友看看更是无从下手。这背后的问题就是我们常说的“内网隔离”。你的服务被“关”在了本地网络里外面的世界进不来。今天我们就来彻底解决这个问题用一种叫做“内网穿透”的技术安全、简单地把你的本地服务“搬到”公网上让任何人都能访问。整个过程并不复杂跟着这篇教程即使你之前没接触过网络配置也能一步步搞定。我们会从最基础的原理讲起然后手把手教你选择工具、进行配置最后还会聊聊怎么确保安全以及遇到问题怎么排查。1. 内网穿透到底是什么为什么需要它简单来说内网穿透就像给你的本地服务装了一个“专属快递员”和“对外信箱”。想象一下你的电脑本地服务住在一个没有门牌号的小区里内网外卖员公网上的用户根本找不到你。内网穿透做的事情就是首先在公网上租一个固定的、有门牌号的信箱公网服务器然后安排一个快递员穿透客户端常驻在你家随时待命。当外卖员把外卖访问请求送到那个公共信箱时快递员会立刻取走并准确无误地送到你家里本地服务。同样你想往外寄东西服务响应也交给这个快递员他会帮你送到公共信箱再由外卖员取走。对于我们的LiuJuan20260223Zimage服务内网穿透能带来几个实实在在的好处远程演示与协作再也不用把代码打包发来发去或者要求对方必须连入同一个VPN。直接发一个公网链接产品、测试、合作伙伴随时可以查看。移动端与多端测试方便地用真实的手机、平板电脑访问服务测试不同设备下的兼容性和体验这比在浏览器里模拟要准确得多。临时公开测试在正式上线前可以快速创建一个临时的公网访问地址进行小范围的用户测试或收集反馈。集成第三方服务很多在线的API回调比如支付回调、消息推送都需要一个公网可访问的地址内网穿透能让你在开发阶段就完成对接调试。理解了为什么需要接下来我们看看具体怎么实现。市面上有很多工具我们会重点介绍两种主流且稳定的方案。2. 穿透工具选型frp vs. 云服务商方案选择工具主要看几个方面是否要自己准备服务器、成本、可控性和易用性。这里我们对比两种最常用的路径。2.1 方案一使用 frp自建中转服务器frp是一个高性能的反向代理应用它的模式就是我们前面比喻的“自建快递系统”。你需要自己拥有一台具有公网IP的服务器比如云服务器作为“中转站”。它的工作原理是这样的你在公网服务器上运行frps服务端。你在本地运行LiuJuan20260223Zimage服务的机器上运行frpc客户端。frpc主动连接到frps建立一个稳定的通道。当用户访问公网服务器的某个端口如8080时frps会将请求通过已建立的通道转发给frpc。frpc再将请求转发给本地的LiuJuan20260223Zimage服务如localhost:7860。服务的响应再沿原路返回给用户。优点完全自主可控所有数据流经自己的服务器安全性和隐私性更好。功能强大灵活支持TCP、UDP、HTTP、HTTPS等多种协议端口映射、流量加密、负载均衡等高级功能。长期成本可能更低如果你已经有云服务器或者需要长期、高频使用这是一个经济的选择。缺点需要自有公网服务器这是最大的前置条件。配置稍复杂需要分别配置服务端和客户端。2.2 方案二使用云服务商的内网穿透服务国内一些云服务商或开发者平台提供了“开箱即用”的内网穿透服务。它们已经准备好了公网中转服务器你只需要在本地运行一个简单的客户端即可。它的工作原理更简单你在服务商平台注册创建一个隧道比如命名为my-liujuan-image。平台会给你分配一个公网域名如my-liujuan-image.cpolar.io。下载并运行服务商提供的客户端工具用你的账号登录。客户端会自动连接到服务商的云端节点并将你指定的本地端口如7860映射到那个公网域名上。优点极其简单快捷5分钟就能跑起来几乎零配置。无需自备服务器省去了购买和维护云服务器的成本与精力。适合临时、轻量级使用演示、临时测试场景非常合适。缺点可能有流量或连接数限制免费套餐通常有限制。数据经过第三方对于敏感数据需要考虑安全性。可控性较弱功能和服务稳定性依赖于服务商。为了更直观我们用一个表格来对比特性frp自建云服务商方案是否需要公网服务器需要不需要初始配置复杂度中等非常简单成本服务器费用通常有免费额度超出需付费可控性与灵活性高较低数据隐私性高数据走自己服务器中数据经过服务商适用场景长期、高频、对安全和可控性要求高临时演示、快速测试、个人学习怎么选如果你已经有云服务器或者项目需要长期、稳定、安全的公网访问推荐使用frp。如果你只是想快速临时分享一个演示或者没有云服务器希望零成本启动那么云服务商方案是更好的选择。考虑到灵活性和学习价值下面的教程我们将以frp为例进行详细配置。掌握了frp你就能理解内网穿透的核心机制使用其他工具也会触类旁通。3. 手把手配置 frp 实现穿透这里我们假设你已经有一台云服务器假设系统为 Ubuntu 20.04/22.04公网IP为123.123.123.123以及本地运行着LiuJuan20260223Zimage服务的机器服务端口为7860。3.1 第一步在公网服务器上部署 frp 服务端首先登录你的云服务器。下载 frp。访问 frp 的 GitHub Releases 页面找到最新版本。使用wget命令下载对应的 Linux 版本。# 进入一个临时目录例如 /tmp cd /tmp # 下载 frp请将链接中的版本号替换为最新版 wget https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_linux_amd64.tar.gz解压并移动文件。# 解压下载的压缩包 tar -zxvf frp_0.52.3_linux_amd64.tar.gz # 进入解压后的目录 cd frp_0.52.3_linux_amd64 # 将服务端程序 frps 和其配置文件 frps.ini 复制到系统目录例如 /usr/local/bin/frps/ sudo mkdir -p /usr/local/bin/frps sudo cp frps frps.ini /usr/local/bin/frps/配置服务端。编辑frps.ini文件。sudo nano /usr/local/bin/frps/frps.ini写入以下基本配置[common] # frp 服务端监听的端口客户端将连接这个端口 bind_port 7000 # 仪表盘端口用于查看 frp 状态可选但建议开启 dashboard_port 7500 # 仪表盘登录的用户名和密码请务必修改 dashboard_user admin dashboard_pwd your_strong_password_here # 认证令牌用于增强客户端连接的安全性请务必修改 token your_secret_token_here保存并退出编辑器在 nano 中按CtrlX然后按Y再按Enter。设置系统服务推荐。为了让 frps 在后台稳定运行并在服务器重启后自动启动我们将其配置为 systemd 服务。 创建服务文件sudo nano /etc/systemd/system/frps.service写入以下内容[Unit] DescriptionFrp Server Service Afternetwork.target [Service] Typesimple Usernobody Restarton-failure RestartSec5s ExecStart/usr/local/bin/frps/frps -c /usr/local/bin/frps/frps.ini [Install] WantedBymulti-user.target保存退出后启动并启用服务sudo systemctl daemon-reload sudo systemctl start frps sudo systemctl enable frps检查服务状态确认运行正常sudo systemctl status frps如果看到active (running)字样说明服务端已经成功启动。配置防火墙。确保你的云服务器安全组/防火墙放行了7000端口客户端连接用和7500端口仪表盘用如果你需要访问。# 如果使用 ufwUbuntu常用 sudo ufw allow 7000/tcp sudo ufw allow 7500/tcp sudo ufw reload现在你的公网服务器中转站已经准备就绪。你可以在浏览器访问http://你的服务器IP:7500用上面设置的admin和密码登录查看 frp 仪表盘。3.2 第二步在本地机器上配置 frp 客户端接下来在你运行 LiuJuan20260223Zimage 服务的本地电脑上操作。这里以 Windows 为例Linux/macOS 步骤类似。下载 frp 客户端。同样从 GitHub Releases 页面下载对应你本地系统版本的 frp如 Windows 64位。解压。将压缩包解压到一个方便的位置例如C:\frp。配置客户端。进入解压目录编辑frpc.ini文件。 用文本编辑器如记事本、VS Code打开写入以下配置[common] # 你的 frp 服务端的公网 IP 地址和端口 server_addr 123.123.123.123 server_port 7000 # 必须和服务端配置的 token 一致 token your_secret_token_here # 定义一个穿透规则名字可以自定义比如 [liujuan-web] [liujuan-web] type tcp # 本地服务监听的 IP通常是 127.0.0.1 或 0.0.0.0 local_ip 127.0.0.1 # 本地 LiuJuan20260223Zimage 服务的端口假设是 7860 local_port 7860 # 远程端口用户将通过访问 服务器IP:这个端口 来访问你的本地服务 # 请确保这个端口在服务器上未被占用且防火墙已放行 remote_port 6000重要将server_addr替换为你云服务器的真实公网IPtoken替换为服务端设置的那个令牌。remote_port可以选一个你喜欢的如 6000, 8080等但同样需要在服务器防火墙放行。运行客户端。Windows命令行打开命令提示符CMD或 PowerShell进入 frp 解压目录运行.\frpc.exe -c .\frpc.iniLinux/macOS终端./frpc -c ./frpc.ini如果看到start proxy success或类似的成功连接信息恭喜你客户端已经连上了服务端。3.3 第三步测试访问现在一切就绪。让不在你本地网络的朋友或者你自己用手机流量打开浏览器访问http://123.123.123.123:6000如果配置一切正确这个请求会经过你的云服务器123.123.123.123:6000通过 frp 通道最终到达你本地电脑上的127.0.0.1:7860也就是 LiuJuan20260223Zimage 服务的界面。你应该能看到和本地访问一模一样的页面。至此内网穿透已经成功实现4. 安全配置与进阶建议把本地服务暴露到公网安全是头等大事。以下是一些必须考虑的安全措施使用强密码和令牌务必修改 frps.ini 中的dashboard_pwd和token不要使用示例中的弱密码。限制访问来源在 frps.ini 的[common]部分可以添加allow_ports来限制客户端可以绑定的远程端口范围减少端口暴露。allow_ports 6000-6010, 8080 # 只允许映射这些端口启用 TLS 加密可选但推荐在[common]部分配置 TLS 证书可以对客户端与服务端之间的通信进行加密防止流量被窃听。为服务端配置域名和 HTTPS强烈推荐直接使用 IP 和端口访问既不友好也不安全。你可以购买一个域名并解析到你的云服务器 IP。使用 Nginx 或 Caddy 等反向代理工具监听 80/443 端口将域名访问反向代理到 frps 的6000端口。为域名申请 SSL 证书如 Let‘s Encrypt 免费证书启用 HTTPS。这样用户就可以通过https://your-domain.com安全地访问你的服务了。防火墙最小化原则在云服务器上只开放必要的端口如 frp 的 7000 你的服务端口 6000 以及 Nginx 的 80/443。关闭所有其他不必要的端口。定期更新关注 frp 的版本更新及时升级以修复可能的安全漏洞。5. 常见问题与故障排查即使按照教程有时也会遇到问题。别慌大部分问题都可以通过以下步骤解决问题客户端连接失败提示 “connection refused” 或 “timeout”。排查思路检查服务器IP和端口确认server_addr和server_port填写正确。检查服务器防火墙/安全组确保云服务器的安全组规则已经放行了7000端口TCP。检查服务端进程在服务器上运行sudo systemctl status frps确认服务正在运行。查看日志sudo journalctl -u frps -f。检查token确认客户端和服务端的token配置完全一致。问题公网可以访问但显示错误如 502 Bad Gateway。排查思路检查本地服务首先确保你在本地电脑上能通过http://127.0.0.1:7860正常访问 LiuJuan20260223Zimage 服务。检查客户端配置确认frpc.ini中的local_ip和local_port正是你本地服务监听的地址和端口。检查远程端口冲突确认remote_port如6000在服务器上没有其他程序占用。检查服务器防火墙确保云服务器安全组也放行了remote_port如6000端口。问题连接不稳定经常断开。排查思路网络问题可能是本地或服务器网络不稳定。frp 客户端默认有重连机制。查看日志分别查看服务端和客户端的日志寻找错误信息。客户端可以在启动命令后加-v参数查看更详细日志。问题想用域名访问而不是IP:端口。解决方案这就是前面安全建议第4条的内容。你需要配置一个反向代理如 Nginx。简单来说在 Nginx 配置中将你的域名指向http://127.0.0.1:6000即 frp 映射到的本地端口然后重启 Nginx 即可。整个过程走下来你会发现内网穿透的核心思想其实很直观建立一个从内网到公网的稳定通道。无论是用 frp 自己搭建还是用现成的云服务都是这个原理的不同实现。对于 LiuJuan20260223Zimage 这类本地部署的服务来说这无疑是一把打开外部访问大门的钥匙。自己动手配置一遍 frp虽然初期需要一点学习成本但换来的是对网络边界的深刻理解和完全的控制权。当然如果只是临时用一下云服务商的傻瓜式方案也确实非常方便。关键是你现在知道了这两种路该怎么走可以根据自己的实际需求灵活选择。最后提醒一句能力越大责任越大。将服务公开到互联网务必把安全配置做到位强密码、最小化开放端口、使用HTTPS这些好习惯能帮你避免很多不必要的麻烦。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。