资讯动态

FRP内网穿透|第三篇:核心实战|主流穿透场景全覆盖

发布时间:2026/8/15 9:41:27 来源:尧图企业网站定制
专栏FRP 内网穿透从入门到实战前置阅读已完成第二篇部署frps 服务端正常运行frpc 客户端可成功连接服务端。本篇目标掌握 TCP/UDP、HTTP、HTTPS、STCP 常用代理模式覆盖日常绝大多数内网穿透需求。前言第二篇已完成基础部署本篇进入核心实战。你将学会在不同场景下选择合适的代理模式并完成对应配置。 提示修改完 frpc.toml 配置后需要重启 frpc 客户端生效。Linux 执行sudo systemctl restart frpc。一、TCP / UDP 通用端口穿透TCP、UDP 是最基础的代理适用于几乎所有端口类服务SSH、远程桌面、数据库、NAS、摄像头、游戏等。1.1 TCP 代理回顾 SSH 示例[[proxies]] name ssh-inner type tcp localIP 127.0.0.1 localPort 22 remotePort 6022逻辑访问云IP:6022→ 转发内网127.0.0.1:22name代理名称唯一即可仪表盘会展示localIP内网服务所在地址服务在本机填127.0.0.1内网其他设备填局域网 IP例如192.168.1.100localPort内网服务端口remotePort公网服务器对外开放端口安全组务必放行该端口1.2 示例Windows 远程桌面穿透内网 Windows 机器 RDP 默认端口3389[[proxies]] name rdp-win type tcp localIP 192.168.1.20 localPort 3389 remotePort 6389⚠️安全提醒远程桌面直接暴露公网风险很高生产环境优先使用后面讲的 STCP 模式不要直接对外开端口。1.3 UDP 代理实战适用场景游戏联机、DNS、部分摄像头流媒体、SNMP。[[proxies]] name dns-udp type udp localIP 127.0.0.1 localPort 53 remotePort 10053注意UDP 的 remotePort 端口服务端安全组放行 UDP 协议不要只放 TCP。 小技巧同一个 frpc 配置文件可以写多组[[proxies]]实现一次性穿透多个服务。 提示FRP 适合个人或小规模穿透几路摄像头。若你需要接入大量视频设备、做多协议适配与统一管理可了解视频物联网设备接入平台如畅联云平台与 FRP 的 DIY 穿透是不同层级的方案。二、HTTP 代理内网 Web 服务绑定域名访问TCP 需要用「IP 端口」访问HTTP 代理支持绑定域名不需要占用多个公网端口80 端口复用。前置条件域名把域名 A 记录解析到你的 FRP 公网服务器 IPfrps.toml 必须配置vhostHTTPPort。2.1 修改 frps.toml服务端需要重启 frpsbindPort 7000 auth.method token auth.token MyStrongToken123456 # HTTP虚拟主机端口默认80 vhostHTTPPort 80 webServer.addr 0.0.0.0 webServer.port 7500 webServer.user admin webServer.password AdminPass123 log.to /var/log/frps.log log.level info服务器安全组放行80 端口 TCP。修改完成执行sudo systemctl restart frps2.2 frpc.toml 客户端配置假设域名web-demo.xxx.com解析指向云服务器 IP内网本地 Web 服务地址127.0.0.1:8080serverAddr 你的云服务器公网IP serverPort 7000 auth.method token auth.token MyStrongToken123456 [[proxies]] name local-web type http localIP 127.0.0.1 localPort 8080 customDomains [web-demo.xxx.com]配置生效后浏览器直接访问http://web-demo.xxx.com即可打开内网的 8080 网页。优势多个不同域名共用服务器 80 端口不需要每一个网站分配一个 remotePort。三、HTTPS 代理实现加密域名访问很多场景需要 HTTPS 加密访问两种实现方案方案一frp 直接承载 HTTPS证书放在 frpc 客户端方案二云服务器 Nginx 反向代理 frpNginx 做 SSL 证书更推荐便于证书管理。方案一frpc 内置 HTTPS 证书frps 增加配置虚拟主机 HTTPS 端口# frps.toml vhostHTTPSPort 443安全组放行 443 端口重启 frps。frpc 配置[[proxies]] name local-web-https type https localIP 127.0.0.1 localPort 8080 customDomains [web-demo.xxx.com] # 证书文件路径客户端机器上的证书 crtFile /etc/ssl/fullchain.pem keyFile /etc/ssl/privkey.pem缺点证书需要部署在内网客户端机器多客户端证书管理麻烦。方案二推荐Nginx 在公网服务器处理 SSL推荐公网服务器 Nginx 监听 443配置 SSL 证书Nginx 反向代理转发到 frps 的 HTTP vhost 端口。Nginx 接收 HTTPS 请求解密为 HTTP转发给 frp 的vhostHTTPPort(80)frp 隧道传输 HTTP 流量到内网。Nginx 配置片段示例server { listen 443 ssl; server_name web-demo.xxx.com; ssl_certificate cert/web-demo/fullchain.pem; ssl_certificate_key cert/web-demo/privkey.pem; location / { proxy_pass http://127.0.0.1:80; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }该方案证书统一放在公网服务器更新证书不需要操作内网设备生产环境优先选择。四、STCP 安全 TCP 代理不对外暴露公网端口重点STCP 不会在 frps 服务器监听开放端口。外网不能直接访问必须运行一个frpc 访问端作为访问入口适合 SSH、RDP、数据库这类敏感服务。场景不想把远程桌面、SSH 端口暴露在公网只允许自己访问。架构内网设备 A运行 frpcSTCP 服务端代理被访问端你在外网电脑 B同样运行 frpc作为 STCP 访问者连接 frps访问内网 A 的服务。4.1 被访问端内网机器 A frpc.tomlserverAddr 云服务器IP serverPort 7000 auth.methodtoken auth.tokenMyStrongToken123456 [[proxies]] name stcp-rdp type stcp secretKey MySecretKey_789 # 自定义密钥访问端必须一致 localIP 127.0.0.1 localPort 33894.2 外网访问端你的笔记本 B frpc.toml你的笔记本 B同样需要 frpc连接同一个 frps 服务端serverAddr 云服务器IP serverPort 7000 auth.methodtoken auth.tokenMyStrongToken123456 [[visitors]] name stcp-rdp-visitor type stcp serverName stcp-rdp # 和被访问端name保持一致 secretKey MySecretKey_789 bindAddr 127.0.0.1 bindPort 13389 # 在你本地笔记本监听端口笔记本 B 启动 frpc visitor 之后访问本机127.0.0.1:13389就可以连通内网机器 A 的 3389 远程桌面。公网服务器没有开放任何业务端口外部扫描不到安全性大幅提升。五、XTCP 点对点 P2P 直连进阶XTCP 在网络条件满足时两台 frpc 之间直接 P2P 通信流量不走云服务器中转降低延迟节省服务器带宽如果 NAT 不支持 P2P会自动降级走 frps 中转。配置格式和 STCP 几乎一致把 type 改成xtcp。注意家用宽带对称 NAT 才可以 P2P 成功运营商 CGNAT 大概率无法打通 P2P自动回退中转模式。# 被访问端 [[proxies]] name xtcp-ssh type xtcp secretKey XtcpKey123 localIP 127.0.0.1 localPort 22访问端[[visitors]] name xtcp-ssh-visitor type xtcp serverName xtcp-ssh secretKey XtcpKey123 bindAddr 127.0.0.1 bindPort 10022六、本篇常见踩坑总结HTTP 代理必须 frps 开启vhostHTTPPort域名解析指向服务器 IPUDP 代理安全组记得放行 UDP 协议只放 TCP 无法通信STCP/XTCP 分为proxies被访问端 和visitors访问端配置不要写混STCP 不会生成 remotePort不能直接访问云服务器 IP必须要有 visitor 客户端修改 frps 配置务必重启 frps 服务修改 frpc 配置重启 frpc。本篇小结TCP/UDP通用端口转发适合几乎所有端口服务HTTP域名访问内网网站复用 80 端口HTTPS 两种部署方式推荐公网 Nginx 处理证书STCP高安全场景不暴露公网端口适合远程桌面、SSHXTCP尝试 P2P 直连节省服务器带宽网络差自动降级中转。下一篇预告第四篇进阶优化性能调优、多设备管理、监控与自动化运维主要内容包括传输压缩、TLS 加密、缓冲区调优多客户端接入 frps、配置模块化拆分监控指标、掉线重连、日志配置连接数、带宽限流配置

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价