frp配置TCP域名穿透内网怎么做,frp内网穿透安全吗?

frp tcp域名配置的本质,就是把公网流量通过一条加密隧道,转发到你家里或公司内网的某台设备上,让外网像访问普通网站一样访问你的内部服务。这条隧道由服务端(一台有公网IP的VPS)和客户端(内网机器)组成,域名只负责把请求带到服务端,真正干活的是tcp端口转发规则,下面按步骤拆开讲。

先搞清楚frp tcp和域名的关系

很多人一开始会混淆:既然tcp转发用的是端口,域名有什么意义?实际上frp的tcp模式本身不依赖域名,它靠的是remote_port,但当你需要通过域名访问内网服务时,域名的作用就体现在两个层面:

轻松搞定FRP通用域名配置
加载中
轻松搞定FRP通用域名配置
  • 服务端通过vhost_http_port或vhost_https_port监听来自域名的HTTP/HTTPS请求,按域名规则转发给内网。
  • 你的域名解析到VPS的IP,用户的访问请求先到达VPS,再由frp服务端根据配置映射到内网对应端口。

如果你用的是纯TCP端口映射(比如远程SSH、远程桌面、游戏服务器),那么配置里不需要域名,直接frp tcp加remote_port就能通,但如果你的目标是通过http://你的域名访问内网的Web服务、NAS管理界面、GitLab这类应用,那就要走frp的虚拟主机功能,域名就成了入口的关键。

为什么你的场景需要域名绑定

简单说:端口够用,但记不住。 你会在浏览器里敲http://服务器IP:7000去访问家里的路由器吗?体验太差,用域名绑定后,你可以同时开多个Web服务,每个服务分配一个子域名,比如nas.example.com、git.example.com,理清内网服务的同时,外网访问体验也接近真实公网站点。

frp内网穿透域名解析配置:从服务端到客户端完整步骤

开始之前,做好准备工作:一台拥有公网IP的服务器(国内厂商的VPS需要备案域名,香港或海外服务器可以跳过备案),一个解析权限在手的域名,以及一台要暴露到外网的内网设备,服务端装frps,客户端装frpc,两者版本保持一致。

第一步:服务端frps.ini基础配置

服务端的配置核心是定义bindPort和虚拟主机监听端口,以下是一份实践验证过的配置示例:

[common]
bindPort = 7000          # frp服务端通信端口
vhost_httpPort = 8080    # http虚拟主机端口
vhost_httpsPort = 443    # https虚拟主机端口
token = 你的连接密码      # 服务端与客户端校验的token

配置完成后启动frps,默认监听7000端口,把域名解析的A记录指向这台VPS的IP,TTL设短一些(比如600秒),方便测试生效。

第二步:客户端frpc.ini配置tcp域名转发

内网机器的frpc配置里,serverAddr填VPS的IP,serverPort填7000,Web服务的转发规则用type = http:

[common]
serverAddr = 你的VPS_IP
serverPort = 7000
token = 你的连接密码
[nas-web]
type = http
localIp = 192.168.1.10
localPort = 5000
customDomains = nas.example.com

frp配置TCP域名穿透内网怎么做,frp内网穿透安全吗?

customDomains就是你要绑定的域名,一行一行解释:

  • type = http表示走HTTP虚拟主机模式,frp根据请求中的Host头来匹配customDomains,把流量路由到对应的localIp和localPort。
  • localIp填内网设备的地址,localPort是内网服务的真实端口。
  • customDomains是你的完整子域名,必须已经解析到VPS的IP。

第三步:通过域名访问内网服务

启动frpc后,访问http://nas.example.com:8080就能到达你的内网NAS了,注意端口号是服务端vhost_httpPort暴露的端口,如果想让用户直接输http://nas.example.com不敲端口,就在Nginx或Caddy层面反向代理到http://VPS_IP:8080,或者在服务端直接改监听80端口。

纯TCP应用和Web服务有个关键差异:SSH、远程桌面这类协议不需要域名,直接用remote_port暴露。

[ssh]
type = tcp
localIp = 192.168.1.20
localPort = 22
remotePort = 6000

这样配置后,ssh -p 6000 用户@VPS_IP就能连回内网,但如果你希望用ssh.example.com来访问SSH,那就复杂许多,因为SSH协议不认Host头,只能连不同端口,行业共识认为,不写域名也能用才是tcp模式的优势,域名只用在http类型的服务上更顺手。

frp tcp和http端口冲突怎么规避

在实际配置时,一个高频故障场景是端口被占用,比如你VPS上已经跑了Nginx占用了80端口,这时frp服务端的vhost_httpPort再设置成80就起不来,业内专家指出,生产环境中多数Nginx都会劫持80/443端口,让frp服务端监听这些端口是不现实的做法。

  • 方案A:让Nginx监听80/443,把符合特定域名的请求反向代理到0.0.1:8080,frp管内部流量,Nginx管对外入口,这样你在浏览器里输的仍是标准网址,同时不必在frp里直接开特权端口。
  • 方案B:frp服务端直接用80端口,前提是这台VPS没跑其他Web服务,适合干净环境的独立机器。
  • 方案C:如果你用的是type = tcp模式,端口冲突就靠自己规划了。remotePort不要小于1024(除非用root启动),常见服务端口(22、80、443、3306)尽量避开。

HTTPS要怎么配

很多人的需求是https://域名访问内网,frp支持type = https和vhost_httpsPort = 443,但证书怎么处理是个绕不开的话题。

最简单的策略:frp客户端本地服务本身就是HTTPS(比如群晖NAS的443端口),那直接type = https并把customDomains绑上即可,但你需要让VPS的443端口不被占用,并且把证书放在内网设备上,另一种常见组合是在VPS上配置Caddy自动获取证书,反向代理到frp的vhost_httpPort,好处是证书自动续期,不用在内网设备上折腾证书文件。

frp配置TCP域名穿透内网怎么做,frp内网穿透安全吗?

多个域名、多个端口怎么管理

内网不止一台设备,你的frpc配置可能同时需要暴露多个服务,这时每个服务在frpc.ini里就是一个独立的模块,共用一个[common]段。

服务 模块名 类型 localIp localPort 对外端口/域名
群晖NAS nas-http http 168.1.10 5000 nas.example.com
内网GitLab gitlab http 168.1.30 8929 git.example.com
SSH ssh-proxy tcp 168.1.20 22 remotePort: 6000

注意几个细节:

  • 每个模块名不能重复,否则frpc会报错。
  • HTTP和HTTPS都可以共用同一个customDomains下的不同端口,但如果你想用不同域名区分服务,就分配不同的子域名。
  • TCP模式下每个服务必须有独一无二的remotePort,VPS的防火墙和安全组要放行对应端口(如6000),否则流量到不了frp。

frp内网穿透域名绑定多个端口时怎么配置

一个域名对应多个内网端口是常见需求,实现方式有两种思路:

  1. 一个域名,多个路径:利用Nginx的location分流,把nas.example.com/photo代理到内网的相册服务,把nas.example.com/video代理到视频服务,这种模式frp只需暴露一个customDomains即可,具体路由规则由Nginx完成。
  2. 多个子域名,各绑一个端口:如files.example.com指向内网5000,sync.example.com指向内网8888,每增加一个服务,就在frpc.ini里加一个模块。

大多数场景下第二种更清晰,因为frp的customDomains是按域名精确匹配的,子域名越独立,管理越省心。

frp内网穿透vps推荐与速度优化

既然frp需要一台有公网IP的VPS做跳板,选择哪里的服务器直接决定你能跑多远,如果你是个人用户,追求性价比和免备案,香港和日本的小带宽VPS是主流选择,带宽尽量选择3Mbps~5Mbps以上,因为有相当一部分用户反映,frp的实际吞吐量瓶颈往往出现在VPS的入网带宽上,而不是frp本身。

  • 地域选择:访问你服务的用户在哪,VPS就离哪近,你的用户群体主要在国内,选国内节点(备案要求高)或香港节点(延迟40-80ms)更合适;主要自己用、用户群在海外,新加坡和洛杉矶的线路表现更好。
  • 带宽规格:传输大文件、看视频、跑数据库同步,对带宽消耗极大,建议VPS带宽不低于5Mbps,如果只是SSH管理、偶尔访问一下NAS页面,1~2Mbps的带宽也够用。
  • 内存要求:frp本身就是轻量级工具,1GB内存的VPS随便跑,512MB的小鸡也能带得动,主要资源消耗还是取决于你VPS上还跑了多少其他服务。

配置正确但访问慢怎么办

frp配置TCP域名穿透内网怎么做,frp内网穿透安全吗?

排除VPS本身带宽不足的情况后,frp内网穿透速度快不快,还取决于以下几个环节:

  • 内网上行带宽:你家里宽带的公网上传速度决定了frp的上限,一般家庭宽带上行也就20~30Mbps,跑满5Mbps的VPS链路绰绰有余。
  • 加密开销:frp默认启用加密与压缩时,CPU会承担一部分加解密成本,老旧的软路由或树莓派上,开启useCompression = true反而可能拖慢速度,建议低功耗设备上关闭压缩、保留加密即可。
  • 路由绕行:VPS所在机房的线路质量直接影响延迟,晚高峰时期,部分国际线路会出现丢包和抖动,这是物理距离导致的,frp本身无法优化,换成CN2 GIA线路的VPS通常能明显改善。

frp内网穿透q&a:常见问题解答

frp的tcp域名配置必须使用域名吗?

不需要,纯TCP转发可以不使用域名,只需在frpc.ini中配置type = tcp和remotePort,通过VPS_IP:remotePort直接访问,域名仅在你配置HTTP/HTTPS虚拟主机(type = http或type = https)时作为路由依据发挥作用,一个容易混淆的点是:customDomains仅在HTTP/HTTPS类型中生效,TCP类型会忽略这个字段。

frp tcp和stcp有什么区别,我该选哪个?

frp的stcp模式(Secret TCP)是一种不直接暴露端口的点对点隧道模式,它的特点是不需要公网VPS转发大量数据流量,而是借助VPS做信令握手,然后由双方尝试P2P直连,相比type = tcp,stcp多一层secretKey访问密钥的保护,不监听公网端口,安全性更高,但stcp要求访问方也必须安装frpc并配置相同的secretKey,访问门槛更高。适合不想把端口暴露在公网、且访问方是你自己的设备这类场景,比如远程桌面、SSH管理,如果只是给同事发个链接让他用浏览器看内网网页,还是老老实实用type = tcp或type = http加域名的方式更方便。

frp内网穿透配置后外网还是无法访问域名,最常见的隐患有哪些?

排查方向按以下顺序逐一排查,多数情况下可以快速定位问题:

  • 域名解析是否已生效:在命令提示符执行ping 你的域名,看返回的IP是不是VPS的IP。
  • VPS防火墙/安全组是否放行端口:国内云厂商默认安全组只放行22、80、443等常用端口,frp的服务端口(7000)和remotePort(如6000)都需要手动放行。
  • frpc和frps的token必须一致:两端token不一致,连接会在握手阶段被拒绝,日志里能看到auth failed。
  • frpc日志是否显示login to server success:看到这行字样说明隧道已建立,问题基本出在域名或VPS入口侧。

这些步骤走完,绝大多数配置问题都能暴露出来,最后的建议是:先用最简单的SSH隧道模式(type = tcp)跑通链路,再加域名和HTTP模式。 这样每一步的变数都隔离了,定位起来也省事。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/641741.html

赞 (0)
cloudshards7美元KVM配置如何,VPS哪家好
上一篇 2026年9月11日 06:55
网易免费邮箱域名解析如何设置,MX记录怎么添加?
下一篇 2026年9月11日 06:59

相关推荐

  • nodejs如何实现二级域名动态解析?, 路由配置怎么做?

    Node.js实现二级域名动态解析与路由配置,核心是应用层Host请求头匹配加域名泛解析,而不是自己维护DNS服务器, 只要把*.example.com指向服务器,再让Node读取请求头里的Host字段,就能按二级域名动态分发路由,新增子域不用重启服务,nodejs二级域名动态解析怎么实现?先拆开链路看很多开发……

    2026年9月15日
    400
  • 个人域名如何转企业?域名主体变更需要什么材料

    个人域名转企业主体并非简单的信息修改,而是涉及ICP备案主体变更、服务器资源迁移及法律主体重构的系统工程,核心在于将备案资质从自然人名下合规转移至企业法人名下,很多站长在业务起步阶段,为了方便快速上线,往往使用个人身份证进行域名备案,这种“先上车后补票”的做法在初期确实节省了不少时间成本,但随着业务规模扩大、品……

    2026年6月4日
    6200
  • 服务器怎么调用本地mysql数据库,连接不上怎么办?

    要让服务器成功调用本地MySQL数据库,核心在于数据库用户权限的精准配置、连接字符串的正确选择,以及服务间的网络策略统一,服务器连接本地数据库的几种常见方式使用localhost和127.0.0.1的区别连接本地数据库时,很多人以为localhost和127.0.0.1完全等价,其实它们走的是不同通道,loca……

    服务器运维 2026年8月10日
    1000
  • gajs完整版是什么?gajs完整版下载教程

    Gajs完整版并非单一软件,而是一套涵盖游戏辅助开发、脚本自动化及底层逻辑解析的综合技术解决方案,其核心价值在于通过模块化组件实现高效的任务自动化与性能优化,创作与游戏开发领域,”gajs”往往指向基于JavaScript引擎的高级自动化框架或特定领域的辅助工具集,随着2026年人工智能与自动化技术的深度融合……

    2026年6月23日
    2000
  • 高级威胁检测系统多少钱?企业级安全防护报价贵吗

    2026年企业级高级威胁检测系统均价在30万至150万元之间,具体价格受部署形态、检测引擎深度、授权节点数及是否集成AI大模型能力四大核心维度决定,价格解构:高级威胁检测系统到底多少钱?部署形态与基线价格根据2026年网络安全市场定价规律,不同交付模式直接决定采购门槛:云端SaaS化订阅:按探针数量与日志量计费……

    2026年4月26日
    6400
  • 服务器宽带租用多少钱?服务器宽带租用价格及配置指南

    企业上云的高效低成本选择核心结论: 在带宽成本持续攀升、业务流量波动加剧的背景下,服务器宽带租用已成为中大型企业部署线上服务的最优解——它兼顾性能、弹性与成本,比自建带宽节省30%以上年支出,同时规避了带宽闲置与突发拥塞风险,为什么企业需优先考虑宽带租用方案?带宽成本结构失衡自建带宽需一次性投入光纤接入、路由器……

    2026年4月16日
    5900
  • 个人网站主页欢迎语怎么写?如何设置才能提升用户停留时长

    个人网站主页欢迎语不仅是访客的第一印象,更是建立信任、引导转化并提升SEO排名的关键触点,其核心在于通过拟人化叙事与价值前置,在3秒内回答“你是谁”与“我能为你做什么”,在2026年的搜索生态中,百度算法对内容的E-E-A-T(专业性、权威性、经验性、信任度)评估更加严苛,主页欢迎语不再是一段简单的问候,而是一……

    2026年5月26日
    4900
  • 服务云真的能帮助企业降本增效吗?,服务云哪家好?

    服务云是IT服务交付模式的现代化升级,它通过云平台统一管理资源,让企业实现按需付费、弹性扩展,彻底告别传统运维的复杂性,无论你是正在评估服务云的中小企业主,还是负责技术选型的IT经理,都需要先看清一个事实:服务云不是简单的工具迁移,而是从采购、部署到运维的全链路重构,下面从对比、成本、场景和选型四个维度,拆解服……

    2026年7月23日
    800
  • 个人云存储nas哪个好用?家庭nas私有云搭建方案

    2026年个人云存储NAS选购的核心结论是:追求极致性价比与极客折腾乐趣首选群晖或威联通等成熟品牌;看重开箱即用、家庭影音共享及隐私安全,推荐绿联或极空间等国产新锐品牌;若有海量冷数据备份需求,则考虑搭建基于TrueNAS或Unraid的DIY私有云,2026年NAS市场格局与核心选购逻辑随着数据爆炸式增长,个……

    2026年6月17日
    4400
  • 防火墙三大类型分别应用于哪一层?层间防火墙与链路层防火墙有何区别?

    防火墙作为网络安全的核心防线,主要分为应用层防火墙、链路层防火墙和网络层防火墙三大类型,它们在网络协议栈的不同层级工作,分别针对特定类型的安全威胁提供防护,理解这三种防火墙的区别与适用场景,对于构建高效、立体的网络安全防护体系至关重要, 应用层防火墙:智能的内容审查官应用层防火墙,也称为代理防火墙或第七层防火墙……

    2026年2月3日
    14530

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注