1. 为什么需要内网穿透?
作为一个常年跟Linux服务器打交道的运维,我经常遇到这样的场景:实验室的Ubuntu工作站跑着重要任务,但人不在办公室时想查看进度;家里的NAS存了大量资料,出差时急需某个文件却无法访问。这时候就需要内网穿透技术了。
内网穿透的本质是打通内外网之间的通信壁垒。举个例子,就像你家的内线电话(内网设备)无法直接拨打外网手机,需要在总机(公网服务器)上开通转接服务。frp就是这样一个"智能总机",它通过建立稳定的转发通道,让外部请求能够抵达内网中的设备。
相比传统的端口映射或DDNS方案,frp有三大优势:一是配置简单,10分钟就能跑通基础功能;二是性能稳定,实测在5M带宽的VPS上能保持SSH流畅操作;三是安全性好,支持TLS加密传输。最重要的是,它完美解决了没有公网IP这个痛点。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与安装
2.1 硬件设备选择
我的实验环境采用腾讯云轻量应用服务器(1核2G,Ubuntu 20.04)作为服务端,本地用树莓派4B模拟内网设备。这里有个省钱小技巧:如果只是用于SSH管理,选择最便宜的按量计费云服务器即可,实测1核1G配置完全够用。
VPS需要满足两个硬性条件:一是必须有公网IP(推荐选择BGP多线机房),二是防火墙要开放相应端口。以腾讯云为例,需要在控制台的安全组里放行7000(服务端口)和6000(转发端口)的TCP入站规则。
2.2 软件环境配置
首先在两台机器上同步安装frp。截至2023年7月,稳定版是v0.51.3。这里有个避坑提示:务必保持服务端和客户端版本一致!我曾在升级时混用版本导致连接异常。
bash复制# 下载解压(服务端和客户端同样操作)
wget https://github.com/fatedier/frp/releases/download/v0.51.3/frp_0.51.3_linux_amd64.tar.gz
tar -zxvf frp_0.51.3_linux_amd64.tar.gz
mv frp_0.51.3_linux_amd64 frp
cd frp
解压后的目录结构需要注意这几个关键文件:
- frps/frps.ini:服务端程序与配置
- frpc/frpc.ini:客户端程序与配置
- systemd/:系统服务管理
