远程桌面中转,基于 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 端搭建

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

centos 端搭建

    csdn 上传的资源默认 5 个积分,后来会自动增长,我修改后发现没有用

  1. 下载 uvncrepeater 源代码
    csdn: uvncrep017-ws.tar.gz

  2. 解压源代码文件

tar -xvf uvncrep017-ws.tar
  1. 编译并安装
cd uvncrep017-wsmake & make install
  1. 为中继器服务添加一个用户
useradd uvncrep
  1. 根据需要编辑配置文件 /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
  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。

其他

最近看到一个关于远程桌面的项目
https://github.com/rustdesk/rustdesk

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

  1. pycharm remote 远程项目 同步 本地_利器:PyCharm本地连接服务器搭建深度学习实验环境的三重境界...

    作为实验室社畜,常需要在本地使用Pycharm写代码,然后将代码同步到服务器上,使用远程登录服务器并运行代码做实验. 这其中有很多事情如果没有好的工具,做起来会非常麻烦. 比如如何快速同步本地与服务器 ...

  2. 基于Gitlab Jenkins Docker集群 微服务搭建自动化部署平台

    随着公司应用系统的不断增多,原有手工部署流程越来越不满足上线的需求.为了各个系统能快速迭代与测试,减少上线流程时间和人为出错,迫切需要一套自动化部署系统. 转载原文:https://luoji.liv ...

  3. 云南高性能云桌面搭建解决方案、云桌面与传统PC优势对比,云桌面适用场景分析

    一.传统PC面临的问题 1.难管理:个体复杂度带来的管理困难 企业内部PC分布广.数量多.型号杂,难以标准化及统一管理 软件应用.业务系统安装部署繁琐.业务上线效率低 无法集中管控,维护跟着物理机跑等 ...

  4. Linux随笔16-主从DNS服务搭建以及智能DNS服务搭建、基于CentOS7.6编译安装MySQL-5.7.32

    Contents 1. DNS主从服务器搭建 1.1. DNS简介 1.2. DNS主从服务搭建 1.2.1. 主DNS服务器配置 1.2.2. 从DNS服务器配置 1.2.3. Web服务器准备 1 ...

  5. 【win11远程桌面访问--基于云端服务器(腾讯云为例)frp的内网穿透实现】

    win11远程桌面访问--基于云端服务器(腾讯云为例)&frp的内网穿透实现 frp介绍 服务器账号配置 服务器安装ubuntu系统 服务器 ubuntu系统内配置frps开机自启动 下载服务 ...

  6. 基于IPv6的Windows 3389端口远程桌面使用方法,从此告别第三方远程控制软件

    文章目录 1. 按 2. 环境 2.1. Windows 专业版(旗舰版)或企业版 2.2. 网络支持IPv6 3. 受控端配置 3.1. 打开服务 3.2. 查看IP 4. 控制端连接 4.1. 电 ...

  7. 【快速远程桌面应用程序】上海道宁为您提供远程桌面软件——AnyDesk,轻松实现远程支持和远程维护以及在线协作、远程工作

    AnyDesk是一款 快速远程桌面应用程序 可以让您远程访问和管理设备 轻松的.安全的与任何人协作 上海道宁专注于软件工具经销 为您带来强大的 远程桌面软件--AnyDesk 您可以从任何地方轻松连接 ...

  8. java毕业设计——基于java+Socket+sqlserver的远程监控系统软件设计与实现(毕业论文+程序源码)——远程监控系统

    基于java+Socket+sqlserver的远程监控系统软件设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Socket+sqlserver的远程监控系统软件设计与实现,文章 ...

  9. 基于windows server 2012 的微软桌面虚拟化实战教程

    Windows Server2012 中的"远程桌面服务"服务器角色中就提供了允许用户连接到虚拟机.RemoteApp 程序和基于会话的计算机的技术.通过远程桌面服务,用户可以从企 ...

  10. win8.1计算机开启远程桌面连接不上,启动Win8.1远程桌面不得不知的方案

    Win8.1系统最为新的系统,增加了很多新的功能,如何才能更好地利用这些功能,需要我们对其进行学习和利用.启动远程桌面功能并不是一件难的事情,只是因为远程桌面涉及到接收和输出两个方面,所以需要对其分开 ...

最新文章

  1. 第五次作业 何雅
  2. Ubuntu下ssh免password登录安装
  3. 解决在vscode使用webpack指令显示“因为在此系统中禁止运行脚本“问题
  4. 安全狗:云时代的服务器安全守护者
  5. typescript 方法后面加感叹号_使用 TypeScript 模板字面类型
  6. 来自闪闪宝石的光芒 - “宝石迷阵” x 信息检索 | 论文访谈间 #20
  7. 微信加入新功能,60秒语音不必从头听到尾,网友:还需要进度条
  8. ART、JIT、AOT、Dalvik之间有什么关系?
  9. Fiddler改包场景2——拦截请求,修改响应,放行请求
  10. QQ快速登录实现原理分析之localhost.ptlogin2.qq.com 怎么会映射到 127.0.0.1问题
  11. 莫言2012诺贝尔奖颁奖词
  12. 文明与征服最全兵种克制关系介绍
  13. 计算机网络基础之互联网总结
  14. C语言动态开辟多维数组空间
  15. java查找算法:线性查找
  16. linux 7 开启远程桌面,CentOS 7 开启VNC远程桌面
  17. 使用容联云获取短信验证码
  18. Combo( 自定义下拉框) 组件
  19. Centos7 安装部署apache。简单易上手
  20. 如何用计算机控制家带你开关,计算机控制系统复习点及答案

热门文章

  1. 【数据预测】基于matlab双向长短时记忆BiLSTM(多输入单输出)数据预测【含Matlab源码 1826期】
  2. 【优化算法】晶体结构算法【含Matlab源码 1800期】
  3. 【运动学】基于matlab平抛小球地面跳跃规律【含Matlab源码 981期】
  4. 【路径规划】基于matlab GUI粒子群算法机器人避障路径规划【含Matlab源码 923期】
  5. 【语音识别】基于matlab隐马尔可夫模型(HMM)孤立字语音识别【含Matlab源码 576期】
  6. 【三维路径规划】基于matlab麻雀搜索算法无人机三维路径规划【含Matlab源码 171期】
  7. SPSS统计检验中的边缘显著及其转化处理【SPSS 063期】
  8. 合振动的初相位推导_如何理解单自由度系统振动
  9. python鼠标选中文本内容_【求助】使用Python脚本如何获取Windows中选中的文本
  10. linux输入法变成乱码,Linux ibus输入法五笔打字的时候出现乱码框框的解决方案