远程桌面中转,基于 UltraVNC Repeater(中继器)的远程桌面服务搭建,用于复杂网络环境

Hea ·
更新时间:2024-09-21
· 501 次阅读

看过的大佬们,帮吗 github 点个 star 啊,跪求

远程桌面中转,基于 UltraVNC Repeater(中继器)的远程桌面服务搭建概述搭建 UltraVNC Repeater 中继器服务器windows 端搭建centos 端搭建客户端安装 UltraVNC Server 和 UltraVNC Viewer启动 UltraVNC Server启动 UltraVNC Viewer用 Java 代码调用 Ultra VNC有兴趣可以搭建 Apache Guacamole 服务器,可以在 WEB 端访问远程桌面,支持 ssh、vnc、rdp、telnet。 概述

    常见的远程桌面服务,大多数是点对点的,需要控制端和被控制端双方互相能够连通,若不在同一个局域网内,仅仅通过内网 ip 地址和端口,是不能直接远程桌面的,所以需要一个服务器来中转双方的数据,这样只要大家能够连通服务器,那么任意两台 PC 都可以互相远程桌面。市面上出现的 TeamViewer 和向日葵,原理应该也是这样的。本文讲解如何使用 UltraVNC 搭建远程桌面服务器,并介绍如何用 Java 代码调用。

    如下图所示:两个不同的局域网A、B,PC1、2、3无法直接 ping PC4、5、6,但是全部都能连通 Server(中继器服务),那么任意两台机器都可以用 UltraVNC 互相远程。

在这里插入图片描述

搭建 UltraVNC Repeater 中继器服务器

     可以根据服务器环境选择在 windows 上或者 linux 上面搭建,UltraVNC 官网只有 windows 端的源代码和可执行程序,本文提供 centos 版本的源代码,下面介绍。

windows 端搭建 下载可执行文件 ultravncrepeater1400 直接运行即可
中继器服务器 ip:运行 repeater 的服务器地址
中继器 UltraVNC Viewer 监听端口:
名称 描述
中继器服务器 ip 运行 repeater 的服务器地址
中继器 UltraVNC Server 监听端口 5500
中继器 UltraVNC Viewer 监听端口 5901
WEB 端管理页面 浏览器中直接访问中继器 ip 地址,端口默认 80
centos 端搭建

    csdn 上传的资源默认 5 个积分,后来会自动增长,我修改后发现没有用,您可以下载百度云的资源

下载 uvncrepeater 源代码
csdn: uvncrep017-ws.tar.gz
百度云:https://pan.baidu.com/s/13OcU1QAL6eqKFnFWG8mPrw
提取码 1234

解压源代码文件

tar -xvf uvncrep017-ws.tar 编译并安装 cd uvncrep017-ws make & make install 为中继器服务添加一个用户 useradd uvncrep 根据需要编辑配置文件 /etc/uvnc/uvncrepeater.ini ,默认如下 viewerport = 5901 maxsessions = 10 runasuser = uvncrep logginglevel = 2 srvListAllow1 = 192.168.0.0 ;Allow network 192.168.x.x srvListDeny0 = 127.0.0.1 ;Deny loopback requirelistedserver=1 启动服务 /etc/init.d/uvncrepeater start 客户端安装 UltraVNC Server 和 UltraVNC Viewer

     UltraVNC 下载地址,若地址失效,可去官网下载

名称 描述
winvnc.exe UltraVNC Server 程序
vncviewer.exe UltraVNC Viewer 程序
启动 UltraVNC Server

     打开 cmd 命令行,切换到软件根目录,执行

// 命令行参数如下 // id number: 被控制端编号(只能是数字,唯一,且至少三位,即最小是 100,最大是 2147483647,源码中此为 int 类型) // ip: repeater 中继器服务器 IP // port: 中继器 UltraVNC Server 监听端口 winvnc.exe -autoreconnect ID:[id number]-connect [repeater ip]:[server listen port] -run // 示例如下 winvnc.exe -autoreconnect ID:10001 -connect 192.168.1.2:5500 -run 启动 UltraVNC Viewer

     打开 cmd 命令行,切换到软件根目录,执行

// 命令行参数如下 // id number: 被控制端编号(只能是数字,唯一,且至少三位,即最小是 100,最大是 2147483647,源码中此为 int 类型) // ip: repeater 中继器服务器 IP // port: 中继器 UltraVNC Viewer 监听端口 vncviewer.exe -proxy [repeater ip]:[viewer listen port] ID:[id number] // 示例如下 vncviewer.exe -proxy 192.168.1.2:5901 ID:10001 用 Java 代码调用 Ultra VNC

     在 Java 程序里执行 cmd 命令,达到调用的效果,源码请参考 github: ultravnc-call
https://github.com/tudan110/ultravnc-call

Runtime.getRuntime ().exec (command); 有兴趣可以搭建 Apache Guacamole 服务器,可以在 WEB 端访问远程桌面,支持 ssh、vnc、rdp、telnet。
作者:王坦.



中继器 环境 复杂网络 远程桌面

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章