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

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

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

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

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

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

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

简单说:端口够用,但记不住。 你会在浏览器里敲http://服务器IP:7000去访问家里的路由器吗?体验太差,用域名绑定后,你可以同时开多个Web服务,每个服务分配一个子域名,比如nas.example.comgit.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,把流量路由到对应的localIplocalPort
  • 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 = httpsvhost_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 = tcpremotePort,通过VPS_IP:remotePort直接访问,域名仅在你配置HTTP/HTTPS虚拟主机(type = httptype = https)时作为路由依据发挥作用,一个容易混淆的点是:customDomains仅在HTTP/HTTPS类型中生效,TCP类型会忽略这个字段。

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

frp的stcp模式(Secret TCP)是一种不直接暴露端口的点对点隧道模式,它的特点是不需要公网VPS转发大量数据流量,而是借助VPS做信令握手,然后由双方尝试P2P直连,相比type = tcp,stcp多一层secretKey访问密钥的保护,不监听公网端口,安全性更高,但stcp要求访问方也必须安装frpc并配置相同的secretKey,访问门槛更高。适合不想把端口暴露在公网、且访问方是你自己的设备这类场景,比如远程桌面、SSH管理,如果只是给同事发个链接让他用浏览器看内网网页,还是老老实实用type = tcptype = 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
广州ECS云服务器如何提高物理内存,云服务器内存不足怎么解决
下一篇 2026年3月31日 10:39

相关推荐

  • 服务器平台搭建方案,服务器平台怎么搭建?

    构建高效、稳定且安全的服务器环境,核心在于前期架构设计的合理性与后期运维管理的自动化,而非单纯依赖硬件堆砌,一个成功的服务器平台搭建方案,必须兼顾性能扩展性、数据安全性以及运维成本控制,实现业务连续性与投资回报率的最大化, 前期规划:需求分析与架构选型服务器平台的搭建始于精准的需求评估,盲目追求高配置往往造成资……

    2026年4月6日
    8200
  • 服务器接收事件如何回调?服务器回调事件处理方法详解

    服务器接收事件进行回调机制是现代分布式系统实现高效数据交互与业务解耦的核心技术手段,其本质是一种“反向控制”模式,即服务端不再被动等待请求,而是通过事件驱动主动触发客户端逻辑,这种机制能够显著降低系统耦合度,提升实时响应能力,是构建高性能微服务架构的关键环节,通过建立稳定的长连接或轻量级的轮询机制,服务器能够将……

    2026年3月7日
    11300
  • 服务器收费标准是多少,2026年最新价格表一览

    服务器定价并非单一维度的数字,而是基于计算资源、存储性能、网络架构及服务等级的综合计算模型,核心结论在于:当前主流云服务商及IDC机房的定价遵循“按需付费”与“资源包折扣”并行的逻辑,基础入门级配置月均成本约在50至100元之间,而高性能企业级配置则根据带宽和CPU核心数呈指数级增长, 用户在评估预算时,不应仅……

    2026年2月19日
    25400
  • 高级数据开发是做什么的?高级数据开发薪资待遇好吗

    2026年高级数据开发的核心壁垒在于从单纯的数据搬运工跃迁为业务增长引擎,通过AI驱动的智能化数仓架构与实时计算,实现数据资产的高效变现,2026高级数据开发的核心能力演进从T+1到实时智能的范式转移传统T+1批处理模式已无法适应当下秒级决策的商业环境,根据中国信通院2026年最新报告,超78%的头部企业已将核……

    2026年4月26日
    5900
  • 服务器心跳配置windows怎么做,windows服务器心跳设置教程

    Windows服务器心跳配置的核心在于构建一套精准的“故障判定与自动转移机制”,其本质不是为了防止服务器宕机,而是为了确保在宕机发生的毫秒级时间内,备用节点能够通过心跳信号的缺失迅速接管服务,从而实现业务连续性的最大化,核心结论是:一个稳健的Windows心跳环境,必须依赖冗余的网络链路设计、科学的超时阈值设定……

    2026年3月23日
    12700
  • 中国联通服务器有哪些型号?,哪个性价比高?

    中国联通服务器主要包含自营的沃云系列云服务器、与持牌IDC服务商合作运营的物理服务器租用和托管服务,以及面向边缘计算的定制化节点,这些产品依托中国联通的骨干网络和核心机房,提供低延迟、高带宽的接入能力,同时通过合规服务商延伸出更灵活的配置方案,中国联通服务器产品线概述中国联通作为运营商,在服务器领域既有自营产品……

    2026年8月24日
    900
  • 高端服务器存储怎么选?企业级存储方案推荐

    2026年高端服务器存储的核心破局点在于全闪存架构普及、NVMe-oF协议纵深演进与AI驱动智能重删的深度融合,唯有构建低延迟、高密度的算存一体化底座,方能根治算力瓶颈,2026算力纪元:高端服务器存储的底层重构算力饥渴下的存储之痛进入2026年,大模型参数量迈入万亿级,推理与训练产生的数据洪流让传统存储架构捉……

    2026年4月29日
    4900
  • 你的服务器支持PHP吗,如何安装PHP环境?

    服务器支持PHP是建站的基础前提,绝大多数云服务器和虚拟主机都原生支持或可通过简单配置集成PHP环境,国内主流平台如阿里云、腾讯云的LNMP镜像均已默认集成PHP 7.4/8.x,无需额外购买“PHP支持”选项,服务器如何支持PHP:底层逻辑与配置真相要彻底搞懂服务器是否支持PHP,需要从运行机制和配置路径两方……

    2026年7月15日
    1400
  • 服务器pcie能装什么显卡,显卡兼容性怎么查

    PCIe服务器能装哪些显卡?核心答案:几乎任何标准PCIe接口的显卡,包括NVIDIA和AMD的数据中心计算卡、专业图形卡以及部分消费级显卡,但必须满足服务器物理空间、电源接口和散热方案三大硬性条件,PCIe服务器显卡类型解析PCIe服务器并非限定只能装某类显卡,而是取决于你的业务场景,根据接口标准,PCIe……

    2026年8月22日
    700
  • 苏宁银行服务器都有哪些类型,如何确保数据安全

    在讨论”苏宁银行有哪些服务器”之前,必须先把结论放在最前面:苏宁银行作为一家纯线上运营的互联网银行,其IT基础设施采用全云化分布式架构,自身并不持有物理服务器,而是通过租用持牌云服务商的计算资源,结合自研的分布式核心系统来完成数据处理与存储, 换句话说,它没有传统意义上的”机房”,你找不到贴着苏宁银行标签的机柜……

    2026年8月28日
    700

发表回复

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