远程桌面中转,基于 UltraVNC Repeater(中继器)的远程桌面服务搭建,用于复杂网络环境
远程桌面中转,基于 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解压源代码文件
tar -xvf uvncrep017-ws.tar
- 编译并安装
cd uvncrep017-wsmake & 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。
其他
最近看到一个关于远程桌面的项目
https://github.com/rustdesk/rustdesk
远程桌面中转,基于 UltraVNC Repeater(中继器)的远程桌面服务搭建,用于复杂网络环境相关推荐
- pycharm remote 远程项目 同步 本地_利器:PyCharm本地连接服务器搭建深度学习实验环境的三重境界...
作为实验室社畜,常需要在本地使用Pycharm写代码,然后将代码同步到服务器上,使用远程登录服务器并运行代码做实验. 这其中有很多事情如果没有好的工具,做起来会非常麻烦. 比如如何快速同步本地与服务器 ...
- 基于Gitlab Jenkins Docker集群 微服务搭建自动化部署平台
随着公司应用系统的不断增多,原有手工部署流程越来越不满足上线的需求.为了各个系统能快速迭代与测试,减少上线流程时间和人为出错,迫切需要一套自动化部署系统. 转载原文:https://luoji.liv ...
- 云南高性能云桌面搭建解决方案、云桌面与传统PC优势对比,云桌面适用场景分析
一.传统PC面临的问题 1.难管理:个体复杂度带来的管理困难 企业内部PC分布广.数量多.型号杂,难以标准化及统一管理 软件应用.业务系统安装部署繁琐.业务上线效率低 无法集中管控,维护跟着物理机跑等 ...
- 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 ...
- 【win11远程桌面访问--基于云端服务器(腾讯云为例)frp的内网穿透实现】
win11远程桌面访问--基于云端服务器(腾讯云为例)&frp的内网穿透实现 frp介绍 服务器账号配置 服务器安装ubuntu系统 服务器 ubuntu系统内配置frps开机自启动 下载服务 ...
- 基于IPv6的Windows 3389端口远程桌面使用方法,从此告别第三方远程控制软件
文章目录 1. 按 2. 环境 2.1. Windows 专业版(旗舰版)或企业版 2.2. 网络支持IPv6 3. 受控端配置 3.1. 打开服务 3.2. 查看IP 4. 控制端连接 4.1. 电 ...
- 【快速远程桌面应用程序】上海道宁为您提供远程桌面软件——AnyDesk,轻松实现远程支持和远程维护以及在线协作、远程工作
AnyDesk是一款 快速远程桌面应用程序 可以让您远程访问和管理设备 轻松的.安全的与任何人协作 上海道宁专注于软件工具经销 为您带来强大的 远程桌面软件--AnyDesk 您可以从任何地方轻松连接 ...
- java毕业设计——基于java+Socket+sqlserver的远程监控系统软件设计与实现(毕业论文+程序源码)——远程监控系统
基于java+Socket+sqlserver的远程监控系统软件设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Socket+sqlserver的远程监控系统软件设计与实现,文章 ...
- 基于windows server 2012 的微软桌面虚拟化实战教程
Windows Server2012 中的"远程桌面服务"服务器角色中就提供了允许用户连接到虚拟机.RemoteApp 程序和基于会话的计算机的技术.通过远程桌面服务,用户可以从企 ...
- win8.1计算机开启远程桌面连接不上,启动Win8.1远程桌面不得不知的方案
Win8.1系统最为新的系统,增加了很多新的功能,如何才能更好地利用这些功能,需要我们对其进行学习和利用.启动远程桌面功能并不是一件难的事情,只是因为远程桌面涉及到接收和输出两个方面,所以需要对其分开 ...
最新文章
- 第五次作业 何雅
- Ubuntu下ssh免password登录安装
- 解决在vscode使用webpack指令显示“因为在此系统中禁止运行脚本“问题
- 安全狗:云时代的服务器安全守护者
- typescript 方法后面加感叹号_使用 TypeScript 模板字面类型
- 来自闪闪宝石的光芒 - “宝石迷阵” x 信息检索 | 论文访谈间 #20
- 微信加入新功能,60秒语音不必从头听到尾,网友:还需要进度条
- ART、JIT、AOT、Dalvik之间有什么关系?
- Fiddler改包场景2——拦截请求,修改响应,放行请求
- QQ快速登录实现原理分析之localhost.ptlogin2.qq.com 怎么会映射到 127.0.0.1问题
- 莫言2012诺贝尔奖颁奖词
- 文明与征服最全兵种克制关系介绍
- 计算机网络基础之互联网总结
- C语言动态开辟多维数组空间
- java查找算法:线性查找
- linux 7 开启远程桌面,CentOS 7 开启VNC远程桌面
- 使用容联云获取短信验证码
- Combo( 自定义下拉框) 组件
- Centos7 安装部署apache。简单易上手
- 如何用计算机控制家带你开关,计算机控制系统复习点及答案
热门文章
- 【数据预测】基于matlab双向长短时记忆BiLSTM(多输入单输出)数据预测【含Matlab源码 1826期】
- 【优化算法】晶体结构算法【含Matlab源码 1800期】
- 【运动学】基于matlab平抛小球地面跳跃规律【含Matlab源码 981期】
- 【路径规划】基于matlab GUI粒子群算法机器人避障路径规划【含Matlab源码 923期】
- 【语音识别】基于matlab隐马尔可夫模型(HMM)孤立字语音识别【含Matlab源码 576期】
- 【三维路径规划】基于matlab麻雀搜索算法无人机三维路径规划【含Matlab源码 171期】
- SPSS统计检验中的边缘显著及其转化处理【SPSS 063期】
- 合振动的初相位推导_如何理解单自由度系统振动
- python鼠标选中文本内容_【求助】使用Python脚本如何获取Windows中选中的文本
- linux输入法变成乱码,Linux ibus输入法五笔打字的时候出现乱码框框的解决方案