一次内网开发环境访问方式的改进实践:使用 FRP 替代远程桌面

一次内网开发环境访问方式的改进实践:使用 FRP 替代远程桌面

一、背景

在公司项目中,经常会遇到这样一种开发环境限制:

项目内网服务器禁止直接访问外网

为了在该环境下进行开发和调试,常见的做法是:

  • 准备一台 可以联网的台式机
  • 通过 向日葵 / ToDesk / Windows 远程桌面 等方式远程控制这台机器
  • 再由该机器访问内网服务器进行开发、调试等操作

二、问题描述

2.1 现有方案的痛点

远程桌面主要有下面几个问题:

  1. 受网络质量影响较大

    网络如有波动,画面就会卡顿、延迟断连,影响开发体验。

  2. 开发环境重复搭建

    需要在"中转的联网机器"上安装 IDE、SDK、编译工具以及各种依赖,维护成本较高。

  3. 图形化并非必需

    实际开发过程中,大多数操作(代码编辑、服务运行、日志查看等)完全可以通过 SSH 完成,并不依赖 GUI,甚至当你需要调试前端代码时也可以通过将该前端端口也映射出来的方式实现。


三、思路分析

仔细想想:

我们主要为的不是"远程控制一台电脑",而是"访问内网服务器"。

由此便可得出一个新路线:

  • 联网台式机可以访问内网服务器
  • 联网台式机可以访问外网
  • 那么它天然可以作为一个 网络转发节点

由此引入 FRP(Fast Reverse Proxy),通过端口映射的方式,将内网服务器的服务暴露到外网。


四、方案设计

4.1 网络结构示意

text 复制代码
本地开发电脑
        |
        | SSH
        v
外网服务器 (frps)
        |
        | 端口转发
        v
联网台式机 (frpc)
        |
        | 内网访问
        v
内网服务器 (192.168.1.144:22)

4.2 端口映射说明

假设环境如下:

  • 内网服务器 SSH 地址:192.168.1.144:22
  • 外网服务器地址:114.113.112.111
  • 映射端口:6666

最终可以通过以下方式访问内网服务器:

bash 复制代码
ssh user@114.113.112.111 -p 6666

等价于:

bash 复制代码
ssh user@192.168.1.144 -p 22

4.3 FRP 客户端配置示例

frpc 运行在 联网台式机 上,配置示例:

ini 复制代码
[ssh_proxy]
type = tcp
local_ip = 192.168.1.144
local_port = 22
remote_port = 6666

frps 部署在外网服务器上,用于接收外部连接并转发流量。


五、结果与效果

5.1 方案对比

方案 稳定性 延迟 维护成本
远程桌面 较差
SSH + FRP 稳定

5.2 实际收益

  • 不再依赖图形化远程桌面
  • SSH 连接稳定性显著提升
  • 中转机器只需保持开机,无需长期占用
  • 不影响现场工作人员正常使用联网台式机

六、总结

  1. 默认方案不一定是最优方案

    远程桌面更适合运维或临时操作,而非高频开发场景。

  2. FRP 非常适合内外网桥接场景

    显著提升开发效率和体验。

相关推荐
Chloeis Syntax12 小时前
JAVAEE初阶 --- 构造HTTP请求
网络·网络协议·http·postman
我变秃了也没变强12 小时前
oepnssh版本升级
ssh
砚凝霜12 小时前
软考网络工程师|第 1 章 计算机网络基础 完整备考笔记
网络·笔记·计算机网络
rcms1527026921812 小时前
NIKON 4S019-394 接口模块
网络
某不知名網友13 小时前
Linux Socket 编程完整讲解
网络
ICT系统集成阿祥13 小时前
不用复杂命令,快速定位二层 / 三层网络故障
网络·网络排查·二层故障·三层故障
CHANG_THE_WORLD13 小时前
1.简单的服务端和客户端(仅作为内容补充)
linux·服务器·网络
学术小白人13 小时前
【倒计时4个月】-AI赋能图像处理与计算机视觉技术国际学术研讨会
网络·人工智能·神经网络·数据分析·光学
无锡耐特森14 小时前
解决网关数据异常EtherNetIP 转Modbus TCP专用动态监测
网络·网络协议·tcp/ip
盟接之桥15 小时前
为制造而生:制造业EDI如何重塑全球连接力
网络·安全·低代码·汽车·制造