FRP指定访问者:安全地暴露内网服务

[[348466]]

 

 

之前的教程介绍的frp内网穿透都是用tcp模式,但是tcp模式是直接把端口映射到公网IP上,很容易被扫描爆破,还是存在一定的风险。我们可以使用frp提供的stcp模式来避免公开暴露端口,要求访问者运行一个frpc作为身份认证和流量转发,把访问者的本地端口绑定到内网frpc服务上。不再公开映射内网frpc端口。

 

frps配置

作为中间传输的服务器端的frps配置不变,参考之前的文章,如果想自定义其他端口,注意两端的frpc中的”server_addr”、”server_port”参数要一致。frps用到的端口要在防火墙或者宝塔那里放行。

frps.ini

  1. [common] 
  2. bind_port = 7100 
  3. token=12310086N 
  4.  
  5. dashboard_port = 7501 
  6. dashboard_user = admin 
  7. dashboard_pwd = admin123 

 

 

[[348467]]

 

客户端

stcp模式的演示,我们以windwos的远程桌面为例,不再直接把内网的3389端口映射到公网IP的端口上,而是通过stcp模式指定验明访问者分身,要求访问者也要运行一个frpc 作为身份校验和流量转发,让访问者把访问本地端口的请求转发到内网机器上。

frpc两端分为外部的”控制端”和处于内网中的”受控端”。

内网中的受控端

编辑 fcpc.ini文件。服务[secret_rdp]之类的服务名可以自定义,见名知意即可。

  1. [common] 
  2. server_addr = 服务器ip 
  3. server_port = 7100 
  4. token=12310086N 
  5.  
  6. [secret_rdp] 
  7. type = stcp 
  8. sk = 58iD9tfjPIHQ0dWO 
  9. local_ip = 127.0.0.1 
  10. local_port = 3389 
  1. frpc.exe -c frpc.ini 

 

外网的控制端

编辑 fcpc.ini文件,服务[secret_rdp_visitor]之类的服务名可以自定义,见名知意即可。

  1. [common] 
  2. server_addr = 服务器ip 
  3. server_port = 7100 
  4. token=12310086N 
  5.  
  6. [secret_rdp_visitor] 
  7. type = stcp 
  8. role = visitor 
  9. sk = 58iD9tfjPIHQ0dWO 
  10. server_name = secret_rdp 
  11. bind_addr = 127.0.0.1 
  12. bind_port = 30009 
  1. frpc.exe -c frpc.ini 

 

牵线成功

两端都显示连接成功了,frp的在线面板里也看到stcp中多了”secret_rdp”一个连接记录。

 

 

 

 

 

控制端启动连接成功时候也会看到frps出现连接成功的日志。

 

连接

我们在外网的控制端,打开远程桌面,输入 “127.0.0.1:30009”,就弹出来连接成功的登录界面了。

 

原 理

原理两端的frpc启用的stcp模式,就是要求frps把一端访问本地端口的请求转发到内网frpc上。一端必须运行访客模式的frpc表明身份才会被frps接纳再转发。

受控端

受控端中frpc读取配置文件:

  1. “[secret_rdp]”服务中,以stcp模式,把受控端本地的3389转发到服务器的frps上。
  2. “sk”是stcp服务的密钥,两端中的”sk”不匹配,不允许连接。
  3. 受控端stcp模式以服务名的形式匹配连接,不需要映射到公网IP的端口上,也不再需要remote_port。

控制端

控制端中的配置:

  1. [secret_rdp_visitor]服务中”role=visitor”是指定本机的服务为”访问者”的stcp模式。
  2. “sk”密钥。
  3. 控制端中的“server_name”是指定要连接的受控端中的服务名,服务名必须一致。
  4. 控制端中的”bind_addr”必须是”127.0.0.1″。
  5. “bind_addr”、”bind_port”这两个参数是指本地端口。指定本地frpc转发要通过frps和受控端连接的本地端口。

流程

  1. frps启动,等着两端frpc的stcp转发配置。
  2. 受控端frpc启动,读取配置文件:服务名[secret_rdp]以stcp模式,将本地的3389端口转发到frps上。
  3. 控制端frpc读取配置文件和frps连接。
  4. 控制端frpc的配置指定”sk”密钥和受控端的服务名,要frps把控制端本地30009端口和受控端的[secret_rdp]服务绑定上。
  5. 控制端访问本地30009端口,请求被控制端的frpc转发到frps上,frps再将请求转发到受控端的[secret_rdp]服务上。
  6. 受控端[secret_rdp]服务里也指明了受控端哪些端口来接收响应处理被转发请求。

 

[[348467]]

 

总 结

流程就是frpc指定使用stcp访问,要求校验正确身份和服务名后再转发请求,把访问者的本地端口绑定到内网frpc服务上。不再直接把受控端映射到公网端口上,也避免因为公开被扫描爆破的风险,安全的暴露内网服务。表达水平有限,多读几遍上面的步骤,就是把访问者的本地端口绑定到内网frpc服务上,这一套下来比较绕,如果没看懂,照着教程操作一次,理解了就豁然开朗了。同时也可以着手实践安全的暴露其他的内网服务,比如MySQL:指定控制端访问本地的33306端口的响应由内网的MySQL 3306响应。

本文转载自微信公众号「Linux就该这么学」,可以通过以下二维码关注。转载本文请联系Linux就该这么学公众号。

 

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/123433.html<

(0)
运维的头像运维
上一篇2025-02-22 19:32
下一篇 2025-02-22 19:33

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

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