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

相关推荐

  • rex Python到底是什么,怎么用?

    “pattern = r”[\u4e00-\u9fff]+” # 匹配连续中文result = ‘ ‘.join(re.findall(pattern, text))print(result) # 输出:欢迎 来到 世界- 先用 `re.findall` 提取所有中文片段,再用空格连接,去除多余空格和标签……

    2026年7月22日
    600
  • 服务器操作系统linux中杀死进程怎么写,linux强制结束进程命令是什么

    在服务器操作系统Linux中,杀死进程的核心操作在于精准获取进程标识符(PID)并选择合适的信号类型,通常遵循“查找PID -> 选择信号 -> 执行终止 -> 验证结果”的标准流程,生产环境中应优先使用优雅终止信号(SIGTERM),避免暴力强杀(SIGKILL)导致数据损坏, 核心操作逻辑……

    2026年3月2日
    12400
  • 山东企业租服务器年付和月付费用怎么算,哪个更划算?

    山东企业租服务器,年付方案的总费用通常低于月付,但月付在初期投入和灵活性上更有优势,具体费用需根据配置、带宽、机房等级以及合同期限综合计算,山东企业租服务器年付和月付的费用差异分析年付套餐的定价逻辑服务商愿意给年付客户让利,本质是锁定长期合作,降低续费流失率和运维成本,年付方案下,月均单价通常比月付低出一截,具……

    2026年8月11日
    600
  • 服务器安全方面有哪些常见威胁,如何有效防护?

    服务器安全的核心在于构建一个覆盖物理层、系统层、应用层和数据层的纵深防御体系,同时依赖持牌合规的IDC服务商提供基础环境保障,这不是装几个安全软件就能搞定的事,你需要从机房硬件到操作系统,再到业务代码,每一层都堵住漏洞,服务器安全风险从哪来先看清楚对手长什么样,才知道怎么防,风险来源通常集中在以下几类场景:网络……

    2026年8月27日
    500
  • 个人网站名称怎么取才好听?个人网站起名技巧有哪些

    个人网站名称请遵循“短小精悍、易记易拼、品牌关联”三大原则,最佳选择是包含核心业务关键词的自定义域名,而非通用模板名称,在2026年的互联网生态中,一个优秀的个人网站不仅是数字名片,更是SEO流量的入口,许多新手在搭建站点时,往往纠结于“个人网站名称请”怎么起才合适,名字只是表象,背后的逻辑才是决定排名的关键……

    2026年5月25日
    7400
  • 服务器发送和客户端发送哪个效果更好,有什么区别

    服务器发送和客户端轮询,核心区别在于谁主动发起请求,而WebSocket作为服务器主动推送的代表,在实时性、性能和双向通信能力上全面优于客户端轮询,是目前绝大多数高并发、低延迟场景的首选方案,WebSocket与轮询对比:实时通信技术选型指南从技术演进角度看,服务器发送事件(主要体现为WebSocket协议)和……

    2026年7月28日
    600
  • 个人网站备案吗需要多久,个人网站备案流程及所需时间

    个人网站备案通常需要1-20个工作日,其中工信部审核阶段为法定20个工作日内,而各地通信管理局的实际审核速度差异较大,多数地区在3-7个工作日内即可完成,很多刚接触建站的朋友,往往在服务器购买和域名解析后,才意识到“备案”这道门槛,这不仅是合规要求,更是网站能否正常访问的关键,备案流程看似繁琐,实则只要理清逻辑……

    服务器运维 2026年5月25日
    4300
  • 服务器有一个盘看不到怎么办,服务器硬盘丢失怎么修复?

    面对服务器硬盘无法显示的问题,核心结论通常是硬件连接接触不良、BIOS或RAID卡配置未识别、操作系统磁盘管理未分配或驱动程序冲突,通过系统化的“由硬到软”排查流程,绝大多数非物理损坏的硬盘都可以恢复正常识别,运维人员应遵循先检查物理连接,再确认底层配置,最后处理系统层逻辑的顺序,避免误操作导致数据丢失, 物理……

    2026年2月21日
    13800
  • 服务器挂耳机构到底有哪些类型,哪个牌子好?

    服务器挂耳机构是固定在服务器机箱两侧、用于将设备平稳安装到机柜立柱上的金属连接件,主要分为标准机架式挂耳、加长滑轨式挂耳、免工具快拆挂耳和定制型挂耳四类,服务器挂耳的核心作用与适用场景挂耳是服务器与机柜之间的物理桥梁,没有挂耳,一台标准19英寸服务器就无法在机柜内固定,更谈不上散热理线和抗震防护,不同机房环境对……

    2026年9月18日
    100
  • 哪些服务器群控工具最好用,服务器群控系统怎么搭建?

    开源自动化工具(Ansible、SaltStack)、轻量面板(宝塔、1Panel)以及IDC云管平台自带批量管理(如简米科技、酷番云),选型核心看机器规模、技术栈和合规资质,服务器群控工具解决什么具体场景假设你手上管着30台电商服务器,双11前要统一改Nginx配置、更新SSL证书、查看磁盘使用率,逐台SSH……

    2026年9月11日
    300

发表回复

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