Frp内网穿透实战:5分钟搞定远程桌面和SSH访问(含阿里云配置)
Frp内网穿透实战5分钟搞定远程桌面和SSH访问含阿里云配置你是否遇到过这样的场景出差在外急需访问公司内网的一台服务器进行紧急维护或者在家办公需要连接到办公室的电脑处理文件。传统的解决方案比如搭建复杂的VPN不仅配置繁琐而且对网络环境要求苛刻。对于个人开发者、小型团队或是需要远程运维的技术人员来说有没有一种更轻量、更直接的方法能够像访问公网服务一样轻松触达内网的设备呢内网穿透技术正是为此而生。它像一座架设在公网与内网之间的桥梁让你无需改动路由器或申请公网IP就能将内网的服务安全地暴露出来。在众多工具中Frp以其高性能、配置灵活和开源免费的特性成为了许多技术人的首选。今天我们就抛开那些冗长的理论直接从实战出发手把手教你如何利用Frp结合一台阿里云服务器在5分钟内建立起稳定的远程桌面和SSH访问通道。我们不仅会完成基础的单设备穿透更会深入探讨如何高效管理多台设备、优化端口策略并避开云平台安全设置的那些“坑”。1. 核心概念与准备工作为什么是Frp在开始动手之前我们有必要快速理解Frp的工作原理。Frp采用C/S客户端/服务器架构。服务端frps部署在具有公网IP的机器上比如我们的阿里云服务器它像是一个总接线员监听来自公网的连接请求。客户端frpc则运行在内网的设备上它主动连接到服务端并告知服务端“我这里有服务比如SSH的22端口或远程桌面的3389端口请把发往某个特定端口即remote_port的流量转发给我。”这个过程可以类比为快递柜公网IP是你的小区地址固定可寻址Frp服务端是小区里的快递柜。内网设备客户端把一件包裹本地服务存进快递柜连接到服务端并注册并生成一个取件码remote_port。任何在外的人公网用户只要知道小区地址和这个取件码就能拿到包裹而无需知道包裹具体来自小区的哪一户内网IP。Frp的优势在于其极简的配置和丰富的协议支持。你无需深究复杂的网络原理通过一个简单的INI配置文件就能定义转发规则。它原生支持TCP、UDP、HTTP、HTTPS等多种协议这意味着它不仅能用于远程桌面和SSH还能用于暴露内网的Web服务、数据库甚至是游戏服务器。注意选择Frp版本时请务必前往其GitHub官方仓库的Release页面下载。使用非官方渠道的二进制文件可能存在安全风险。准备工作清单一台具有公网IP的云服务器本文以阿里云ECS为例系统选用CentOS 7.x或8.x。最低配置1核1G即可满足Frp服务端运行带宽则直接影响远程操作的流畅度建议选择3Mbps或以上。待穿透的内网设备可以是Windows PC、Linux服务器、NAS甚至树莓派。确保其上已开启需要被访问的服务如SSH服务、远程桌面服务。基本的命令行操作能力需要在服务器和内网设备上执行简单的命令。2. 阿里云服务器端Frps部署与安全组配置我们的第一步是在阿里云服务器上搭建Frp服务端。这是整个穿透链路的核心枢纽。2.1 服务器环境初始化通过SSH连接到你的阿里云服务器。首先我们创建一个专用的目录来存放Frp文件这有助于后续管理。# 切换到用户主目录创建一个应用目录 cd ~ mkdir -p /usr/local/frp cd /usr/local/frp接下来从Frp的GitHub仓库下载最新版本的Linux 64位压缩包。你可以通过访问仓库页面查看最新版本号。以下以v0.52.3为例# 使用wget命令下载请将版本号替换为最新 wget https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_linux_amd64.tar.gz # 解压下载的压缩包 tar -zxvf frp_0.52.3_linux_amd64.tar.gz # 进入解压后的目录 cd frp_0.52.3_linux_amd64解压后你会看到几个关键文件frps服务端程序、frps.ini服务端配置模板、frpc客户端程序、frpc.ini客户端配置模板。我们只需要关注服务端部分。2.2 配置Frp服务端 (frps.ini)使用vim或nano编辑器修改frps.ini文件。一个强化了安全性和可观测性的基础配置如下[common] bind_port 7000 token YourStrongPassword123!# dashboard_port 7500 dashboard_user admin dashboard_pwd AnotherStrongPassword456!# enable_prometheus true log_file /var/log/frps.log log_level info log_max_days 3 # 可选限制客户端连接IP提升安全性 # authentication_method token # authenticate_new_work_conns true配置项解读bind_portFrp服务端监听的端口客户端将通过此端口连接。这是第一个关键端口。token用于客户端和服务端之间的身份验证密码必须复杂且一致。这是防止未授权连接的重要屏障。dashboard_portFrp内置Web管理面板的端口可用于查看连接状态和流量统计。这是第二个关键端口。dashboard_user/dashboard_pwdWeb管理面板的登录凭证。enable_prometheus开启监控指标导出便于集成到监控系统。log_file/log_level/log_max_days配置日志便于问题排查。2.3 阿里云安全组配置——最关键的“避坑点”仅仅配置好Frps还不够阿里云的安全组相当于云服务器的虚拟防火墙默认会拦截所有未明确放行的入站流量。如果忘记配置客户端将永远无法连接上服务端。你需要登录阿里云控制台找到你的ECS实例进入其安全组配置页面。添加如下两条入方向规则协议类型端口范围授权对象描述自定义 TCP70000.0.0.0/0放行Frp客户端连接端口自定义 TCP7500你的办公IP/32放行Frp仪表盘端口建议仅对固定IP开放提示将仪表盘端口如7500的“授权对象”设置为你的办公IP/32例如123.123.123.123/32而不是0.0.0.0/0可以极大降低管理界面被暴力破解的风险。你可以在百度搜索“我的IP”来获取当前网络的公网IP。2.4 启动服务端并设置开机自启配置完成后可以先在前台测试启动确保没有报错./frps -c ./frps.ini如果看到类似“frps started successfully”的日志说明服务端已正常启动。按CtrlC停止。为了持久化运行我们将其配置为系统服务。创建Systemd服务文件sudo vim /etc/systemd/system/frps.service写入以下内容注意修改ExecStart路径为你实际的frps路径[Unit] DescriptionFrp Server Service Afternetwork.target [Service] Typesimple Usernobody Restarton-failure RestartSec5s ExecStart/usr/local/frp/frp_0.52.3_linux_amd64/frps -c /usr/local/frp/frp_0.52.3_linux_amd64/frps.ini [Install] WantedBymulti-user.target启用并启动服务sudo systemctl daemon-reload sudo systemctl enable frps sudo systemctl start frps sudo systemctl status frps # 检查运行状态至此你的Frp服务端已经坚如磐石地运行在阿里云上并做好了接收内网客户端连接的准备。3. 内网客户端Frpc配置单设备与多设备策略服务端就绪后轮到内网设备上的客户端出场了。我们将分别配置LinuxSSH和Windows远程桌面的穿透。3.1 Linux设备SSH穿透配置在内网的Linux机器上同样下载并解压Frp客户端。编辑frpc.ini文件[common] server_addr 你的阿里云公网IP server_port 7000 token YourStrongPassword123!# [ssh_my_server] # 代理名称可自定义唯一即可 type tcp local_ip 127.0.0.1 # 通常就是本机也可写内网IP如192.168.1.100 local_port 22 # SSH服务默认端口 remote_port 6000 # 在公网服务器上映射的端口关键点解析server_addr填写你的阿里云服务器公网IP。remote_port这是你从外网访问时使用的端口。例如配置为6000那么外网连接地址就是你的阿里云IP:6000。你需要在阿里云安全组中额外放行此端口如6000。启动客户端同样建议配置为系统服务步骤类似服务端可参考上文将frps替换为frpc./frpc -c ./frpc.ini3.2 Windows设备远程桌面RDP穿透配置在需要被远程访问的Windows电脑上首先确保已启用“远程桌面”功能设置 系统 远程桌面。然后从Frp的GitHub Release页面下载Windows版本如frp_0.52.3_windows_amd64.zip。解压后在文件夹内新建一个frpc.ini文件内容如下[common] server_addr 你的阿里云公网IP server_port 7000 token YourStrongPassword123!# [rdp_my_pc] # 代理名称 type tcp local_ip 127.0.0.1 local_port 3389 # Windows远程桌面默认端口 remote_port 6001 # 分配另一个公网端口注意Windows防火墙可能会阻止Frpc或外部对3389端口的访问。你需要在Windows Defender防火墙中为frpc.exe添加入站规则或者临时关闭防火墙不推荐进行测试。为了方便可以创建一个start.bat批处理文件来启动echo off frpc.exe -c frpc.ini pause双击运行start.bat客户端启动并连接成功。3.3 多设备管理与端口分配策略当你需要管理多台内网设备时一个清晰的端口分配策略至关重要。不建议随意分配端口这会导致后期管理混乱。推荐采用按设备类型和序号进行规划。你可以在一个frpc.ini文件中配置多个[proxy]段落为每台设备服务单独定义。例如[common] server_addr xx.xx.xx.xx server_port 7000 token xxxxxxxx # 设备组1开发服务器 (SSH) [dev_server_1_ssh] type tcp local_ip 192.168.1.101 local_port 22 remote_port 22001 # 22开头表示SSH001表示第一台 [dev_server_2_ssh] type tcp local_ip 192.168.1.102 local_port 22 remote_port 22002 # 设备组2Windows办公机 (RDP) [win_pc_1_rdp] type tcp local_ip 192.168.1.201 local_port 3389 remote_port 33801 # 338开头表示RDP01表示第一台 # 设备组3内网Web服务 (HTTP) [internal_web] type tcp local_ip 192.168.1.50 local_port 8080 remote_port 80800对应的阿里云安全组需要批量放行这些规划好的remote_port如22001, 22002, 33801, 80800。这种命名和端口规划方式让你在一年后回头看配置文件也能立刻知道33801端口对应的是第一台Windows电脑的远程桌面。4. 连接测试、优化与故障排查配置完成后让我们进行实际连接测试并探讨如何让这套系统更稳定、更安全。4.1 测试SSH与远程桌面连接测试SSH连接在外网的任意一台电脑如咖啡馆的笔记本上打开终端使用以下命令连接你的内网Linux服务器ssh -p 6000 username你的阿里云公网IP系统会提示你输入内网Linux服务器的用户密码。连接成功即表示SSH穿透工作正常。测试远程桌面连接在Windows上按Win R输入mstsc打开远程桌面连接。在“计算机”栏输入你的阿里云公网IP:6001点击“连接”输入Windows电脑的用户名和密码。如果连接失败请按以下顺序排查4.2 常见故障排查清单“连接被拒绝”或“无法连接”首要检查阿里云安全组规则是否已正确放行所有相关端口7000, 7500, 6000, 6001...规则是否已生效通常立即生效检查Frps服务状态在服务器上运行sudo systemctl status frps查看是否正常运行日志 (sudo journalctl -u frps -f) 是否有错误。检查Frpc客户端查看客户端运行窗口或日志是否显示“login to server success”或类似的成功信息。如果显示连接失败检查server_addr、server_port和token是否正确。连接成功但认证失败SSH或登录失败RDP这通常意味着Frp隧道已通但目标服务本身有问题。请确保内网设备的SSH服务或远程桌面服务已开启并且防火墙允许本地连接。对于Windows检查“远程桌面”设置中的用户权限。连接不稳定时常断开可能是网络波动或Frp连接超时。可以在客户端配置中增加心跳检测参数[common] # ... 其他配置 ... tcp_mux true heartbeat_interval 30 heartbeat_timeout 90检查云服务器和内网设备的网络状况。4.3 安全强化建议使用非默认端口将服务端的bind_port如7000和客户端的remote_port如6000, 6001改为不常见的端口可以减少被自动化脚本扫描的风险。Token强化使用高强度、随机的字符串作为token避免使用简单密码。限制仪表盘访问如前所述将dashboard_port的访问源IP限制为你自己的固定IP。定期更新关注Frp项目的GitHub及时更新到新版本修复可能的安全漏洞。考虑TLS加密对于极高敏感的数据可以在Frp服务端和客户端配置中启用TLS加密传输防止流量被窃听。这需要在配置中增加证书相关配置。4.4 进阶使用域名与HTTPS访问可选如果你有一个域名可以进一步提升体验和安全性。例如为仪表盘配置域名访问并启用HTTPS。在域名DNS解析处将你的域名如frp.yourdomain.comA记录指向阿里云服务器的公网IP。修改Frps配置启用HTTPS和子域名绑定[common] # ... 其他配置 ... vhost_http_port 80 vhost_https_port 443 subdomain_host yourdomain.com # HTTPS所需证书可通过Let‘s Encrypt免费获取 # dashboard_tls_mode true # dashboard_tls_cert_file /path/to/cert.pem # dashboard_tls_key_file /path/to/key.pem在阿里云安全组放行80和443端口。这样你就可以通过https://frp.yourdomain.com:7500来访问加密的管理面板了。配置完成后我发现最省心的方式还是将客户端配置为系统服务并设置自动重启。这样即使内网设备意外重启Frp客户端也能自动恢复连接确保穿透隧道始终在线。对于多设备环境维护一个清晰的端口分配表格或文档能节省大量后期管理时间。

相关新闻

Vue+Three.js实战:5步打造炫酷3D地图可视化(附GeoJSON数据获取攻略)

Vue+Three.js实战:5步打造炫酷3D地图可视化(附GeoJSON数据获取攻略)

VueThree.js实战:5步打造炫酷3D地图可视化(附GeoJSON数据获取攻略) 你是否曾对那些科技大屏上流光溢彩、充满未来感的3D地图可视化效果心动不已?作为一名前端开发者,我们早已不满足于平面的ECharts图表,而是…

2026/7/7 5:44:36 阅读更多 →
NotificationManagerService:通知管理与优先级控制

NotificationManagerService:通知管理与优先级控制

Android 15 核心子系统系列 - 第24篇 本篇深入分析Android通知系统的核心服务NotificationManagerService,理解通知渠道、优先级控制和免打扰模式的工作机制。 引言 想象一下:你的手机一天收到几十上百条通知——即时消息、邮件、新闻推送、应用更新…如果每条通知都同样&qu…

2026/5/17 12:27:55 阅读更多 →
AirSim实战指南:利用MultirotorClient类实现无人机精准控制

AirSim实战指南:利用MultirotorClient类实现无人机精准控制

1. 从零开始:认识你的仿真无人机伙伴 如果你对无人机开发感兴趣,但又担心炸机、成本高或者法规限制,那么微软开源的AirSim仿真平台绝对是你的不二之选。我刚开始接触无人机算法时,也是从AirSim入手的,它让我在一个绝对…

2026/7/5 22:54:00 阅读更多 →

最新新闻

工业信号干扰解决方案与FOD4216光耦应用

工业信号干扰解决方案与FOD4216光耦应用

1. 工业环境中的信号干扰挑战在电机控制、PLC系统等工业场景中,电磁干扰(EMI)就像一场永不间断的暴雨。我曾在某自动化产线项目中,遇到过编码器信号被变频器干扰导致定位偏移5mm的案例——这足以让精密装配线彻底瘫痪。工业现场的…

2026/7/7 11:23:04 阅读更多 →
网易云音乐永久直链解析:告别链接失效的终极解决方案

网易云音乐永久直链解析:告别链接失效的终极解决方案

网易云音乐永久直链解析:告别链接失效的终极解决方案 【免费下载链接】netease-cloud-music-api 网易云音乐直链解析 API 项目地址: https://gitcode.com/gh_mirrors/ne/netease-cloud-music-api 还在为收藏的网易云音乐链接突然失效而烦恼吗?网易…

2026/7/7 11:21:03 阅读更多 →
门禁控制接线原理

门禁控制接线原理

一、NO、NC 基础概念(触点开关)1. 定义NO(Normally Open):常开触点 设备未触发、继电器线圈断电常态下,线路断开;触发后导通。NC(Normally Closed):常闭触点 …

2026/7/7 11:21:03 阅读更多 →
Vim编辑器完全指南与Shell命令补充:从零到实战

Vim编辑器完全指南与Shell命令补充:从零到实战

前言 在Linux的世界里,文本编辑器是每位开发者、运维人员最亲密的伙伴。无论你是编写代码、修改配置文件,还是记录笔记,都离不开一款趁手的编辑器。 今天,我们将系统学习Linux中最核心的两类编辑器——Vim(专业级&…

2026/7/7 11:21:03 阅读更多 →
Linux文本数据流处理完整知识框架体系

Linux文本数据流处理完整知识框架体系

一、echo 输出显示命令1. 概念理解echo 是Linux最基础的标准输出命令,作用是向标准输出(终端屏幕)打印文本字符串、变量值。它是数据流的“产生器”,经常用来生成测试文本、脚本提示信息,同时可以配合重定向完成文件内…

2026/7/7 11:19:03 阅读更多 →
模型降级策略:服务可用,不等于回答质量可以随便降

模型降级策略:服务可用,不等于回答质量可以随便降

模型降级策略:服务可用,不等于回答质量可以随便降 一、模型降级不能只按价格从高到低切 大模型应用为了控成本和保障可用性,通常会准备多个模型。主模型超时或限额时,切到便宜模型或本地小模型。这个策略有用,但不能简…

2026/7/7 11:19:03 阅读更多 →

日新闻

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

图片浏览是移动应用中最高频的场景之一。从社交应用的照片流到电商平台的商品图集,从旅游应用的景点相册到摄影作品展示——用户对图片浏览的体验要求不断提高:流畅的切换动画、直观的缩略图导航、便捷的收藏操作、自动播放模式。HarmonyOS NEXT ArkUI 虽…

2026/7/7 0:05:16 阅读更多 →
24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V稳压芯片完整选型指南 PW8600 PW75XX PW2815 PW2312B LDODC/DC全方案 一、24V稳压方案概述 24V直流电源在工业自动化、门禁系统、电梯控制、汽车电子、LED驱动、监控设备等场景中应用极广,是最常见的中压直流母线电压。要将24V母线稳定降压至下游MCU、传感器…

2026/7/7 0:05:16 阅读更多 →
RAG+知识图谱混合检索与Graph RAG核心对比

RAG+知识图谱混合检索与Graph RAG核心对比

做企业RAG落地的团队,往往容易卡在一容易踩坑的选型难题: 当需求单纯靠向量RAG搞不定、单纯靠知识图谱也搞不定,必须同时依赖「文本语义理解 实体关系推理」时,到底是做「向量图谱混合检索」就够了,还是必须上「Grap…

2026/7/7 0:07:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻