一次内网开发环境访问方式的改进实践:使用 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 非常适合内外网桥接场景

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

相关推荐
pt104331 分钟前
网络自动化Python课程:Netconf与Restconf及Cisco自动化配置实验
网络·python·自动化
神仙别闹41 分钟前
基于C++ WinPcap 的网络抓包软件
网络·c++·php
LabVIEW开发1 小时前
使用 LabVIEW 获取文件的创建日期:从内置函数到 Windows API 封装
网络·windows·labview·labview知识·labview功能·labview程序
DevOpenClub1 小时前
全球区域与 IP 定位工作台案例方案
大数据·网络·网络协议·tcp/ip
wuyk5551 小时前
从零吃透 Modbus 通信|第 6 章:线圈功能码 05/0F 实现 & Modbus‑TCP 基础入门
c语言·网络·网络协议·tcp/ip
NJCloud2 小时前
Docker 私有仓库部署:Registry、加密传输与认证鉴权
运维·网络·docker·云原生·容器
CC城子2 小时前
Bootloader + OTA -Ymodem 协议
网络·ymoden
又见情义2 小时前
RK3568 + RTL8211F 网络唤醒(WOL)功能适配全记录
android·网络·驱动开发
Titan20242 小时前
HTTPS基础知识梳理
服务器·网络·c++·网络协议·学习·http·https
自然石人2 小时前
石都随笔:深耕不张扬,平凡自有千钧力
网络·经验分享·百度·传媒·新浪微博