使用Frp进行反向代理实现远程桌面控制[teamviewer/nomachine]

news2024/11/23 21:19:11

.使用Frp进行反向代理实现远程桌面控制

V1.0.0 – by Holden

Date : 2023-06-20

文章目录

  • .使用Frp进行反向代理实现远程桌面控制
    • 1. 简介
    • 2. 工具准备
    • 3. 服务器端搭建
    • 4. 受控端配置&&运行teamviewer
    • 5. 控制机端运行teamviewer
    • 6. 切换成nomachine

1. 简介

​ frp 是一个可用于内网穿透的高性能的反向代理,支持 tcp, udp 协议,为http和https应用协议提供了额外的能力,且尝试性支持了点对点穿透。

​ 目前由于teamviewer经常被认为进行商业活动,从而出现禁止使用的问题;

TeamViewer有一个功能,就是允许Lan直连,就是说允许在局域网内部使用,而不经过TeamViewer的服务器,这就为我们提供了思路,找到了一款反向代理工具,可以实现远程桌面连接的端口转发。

​ 如下图分为服务器端、控制机端、受控端

在这里插入图片描述

2. 工具准备

​ 在https://github.com/fatedier/frp/releases页面下载对应的安装文件,根据自己的服务器系统类型选择对应的文件版本;

​ 如果客户端系统为windows或者其他系统的话,还需要下载对应版本的安装文件。

在这里插入图片描述

​ 下载好以后,即可开始进行搭建工作。

3. 服务器端搭建

​ 以服务器X86_64-ubuntu为例,下载对应的frp_0.48.0_linux_amd64.tar.gz安装文件并上传到服务器目录。

$ uname -a
Linux VM-12-4-ubuntu 5.15.0-48-generic #54-Ubuntu SMP Fri Aug 26 13:26:29 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

​ 解压安装文件后,查看frps.ini,默认配置端口7000。

$ tar -zxvf frp_0.48.0_linux_amd64.tar.gz
$ cd frp_0.48.0_linux_amd64
$ vim frps.ini
[common]
bind_port = 7000
$ ./frps -c ./frps.ini

​ 运行结果如图所示:

在这里插入图片描述

!!!注意:服务器需要开启对应的端口访问!!!

在这里插入图片描述

4. 受控端配置&&运行teamviewer

​ 以受控端为ARM架构ubuntu1804为例,下载对应的frp_0.48.0_linux_arm64.tar.gz安装文件并放到ARM架构ubuntu1804。解压安装文件后,解压后,配置文件:frpc.ini,添加如下配置:

[common]
server_addr = xxx.xxx.xxx.xxx 
server_port = 7000
 
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
 
[teamview]
type = tcp
local_ip = 127.0.0.1
local_port = 5938
remote_port = 5938

​ 假设服务器ip为xxx.xxx.xxx.xxx(需要设置为自己的服务器IP地址),teamviewer默认代理端口为5938,配置完成后运行如下指令。

./frpc -c ./frpc.ini

​ 打开teamviewer客户端软件,基本操作为平时使用teamviewer时的一样,需要下载对应的版本:https://www.teamviewer.com/en-us/download/linux/

注意需要在teamviewer设置允许Lan直连,且设置好teamviewer远程密码。

在这里插入图片描述

5. 控制机端运行teamviewer

​ 受控端配置好frp代理后,控制机端的teamviewer客户端只需要在平时输入ID的地方改为输入服务器的IP地址即可。

6. 切换成nomachine

​ 原理跟teamviewer一样,只需要添加nomachine的端口4000即可,需要tcp/udp都改动。

​ 以受控端为ARM架构ubuntu1804为例,下载对应的frp_0.48.0_linux_arm64.tar.gz安装文件并放到ARM架构ubuntu1804。解压安装文件后,解压后,配置文件:frpc.ini,添加如下配置:

[common]
server_addr = xxx.xxx.xxx.xxx 
server_port = 7000
 
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
 
[teamview]
type = tcp
local_ip = 127.0.0.1
local_port = 5938
remote_port = 5938

[namachine_tcp]
type = tcp
local_ip = 127.0.0.1
local_port = 4000
remote_port = 4000

[namachine_udp]
type = udp
local_ip = 127.0.0.1
local_port = 4000
remote_port = 4000

​ 假设服务器ip为xxx.xxx.xxx.xxx(需要设置为自己的服务器IP地址),nomachine默认代理端口为4000,配置完成后运行如下指令。

./frpc -c ./frpc.ini

​ 打开nomachine客户端软件,基本操作为平时使用nomachine时的一样,需要下载对应的版本:https://downloads.nomachine.com/

在这里插入图片描述

注意需要在在server里面running。

在这里插入图片描述

​ 到此结束。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/668791.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

winform多语言资源管理

SailingEase WinForm Framework WinForm开发框架开发手册:http://docs.shengxunwei.com/Home/Browser/sewinformfw/ 这是我2010年左右,写 Winform IDE (使用 .NET WinForm 开发所见即所得的 IDE 开发环境,实现不写代码直接生成应用…

什么是算法

有人说程序算法数据结构,虽说这样的认为有失偏颇,一个程序决定的东西实在太多,但某些方面也说明了算法是很重要的(数据结构承上启下,最终也是要为算法服务)。 算法是用来解决问题的,要理解什么是…

AI Image Codec技术落地实践

AI Codec自2016年首次提出以来,众多海内外高校、企业研究院等机构对此展开了广泛研究。6年时间里,AI Codec 的SOTA方案的压缩性能已经超越了H.266(最新的传统Codec标准),展现了强大的技术潜力。但受限于计算复杂度、非标等原因,AI…

Vue中的JSX的特性

JSX简介 JSX是一种Javascript的语法扩展&#xff0c;即具备了Javascript的全部功能&#xff0c;同时又兼具html的语义化和直观性。它可以让我们在JS中写模板语法&#xff1a; const el <div>Vue 2</div>; 复制代码上面这段代码既不是 HTML 也不是字符串&#xf…

java阿里云sls基于LoghubAppender自定义日志上传

1、背景&#xff1a;阿里sls日志提供快捷日志平台&#xff0c;平替elk公司使用这个日志服务&#xff0c;需要对接写入日志 目前日志集成有3种 1&#xff09;基于封装manager手动写日志手动send 弊端&#xff1a;本地日志和阿里云日志共用日志代码很臃肿 2&#xff09;基于云服…

开启数字时代,分享电脑监控和录制工具

近年来&#xff0c;随着网络技术的快速发展和普及&#xff0c;电脑屏幕录制和监控越来越成为企业、学校、家庭等不可或缺的工具。无论是在线教学、远程工作&#xff0c;还是家长对孩子上网行为的关注&#xff0c;电脑屏幕录制和监控都具有极大的帮助和重要性。今天就给大家推荐…

【Visual Studio】使用 C++ 语言,配合 Qt,开发了一个串口通信界面

知识不是单独的&#xff0c;一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏&#xff1a;Visual Studio。 文章目录 1. 获取串口名字1.1 文件 GUI.ui1.2 文件 GUI.h1.3 文件 GUI.cpp 2. 配置串口连接2.1 文件 GUI.ui2.2 文件 GUI.h2.3 文件 GUI.cpp 3. 配置串口连接…

chatgpt赋能python:Python排错大全:10年经验总结,快速定位并解决问题!

Python排错大全&#xff1a;10年经验总结&#xff0c;快速定位并解决问题&#xff01; 作为一名有着10年Python编程经验的工程师&#xff0c;在这篇文章中&#xff0c;我将详细介绍常见的Python排错技巧&#xff0c;以及我在实际工作中使用的一些技巧和最佳实践。我们将学习如…

《网络安全0-100》安全策略制定

安全策略制定 安全策略制定是指制定一系列的规范、标准和 流程&#xff0c;以保护企业或组织的信息资源和业务活 动&#xff0c;确保其安全性和可靠性。安全策略制定通 常包括以下几个步骤&#xff1a; 风险评估&#xff1a;对企业或组织的信息系统进行全面 评估&#xff…

Electron 和 Angular 项目升级

Electron 和 Angular 项目升级: Angular4Electron1.7.8 升级到 Angular13Electron2 原项目 Angular 和 Electron 版本: angular/cli: 1.4.9angular/core: 4.4.6Electron: 1.7.8 升级后 Angular 和 Electron 版本: Angular: 13.3.1Electron: 21.2.1 流程: angular-electro…

一次服务器被入侵的处理过程分享

一、服务器入侵现象 近期有一个朋友的服务器(自己做了网站)好像遭遇了入侵&#xff0c;具体现象是&#xff1a; 服务器 CPU 资源长期 100%&#xff0c;负载较高。 服务器上面的服务不能正常提供服务。 ​ 朋友处理了一会没有解决&#xff0c;我开始想说我不是搞安全的&#xf…

【Visual Studio】报错 LNK2019,使用 C++ 语言,配合 Qt 开发串口通信界面

知识不是单独的&#xff0c;一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏&#xff1a;Visual Studio。 文章目录 问题解决方案Ref. 问题 使用 C 语言&#xff0c;配合 Qt 开发串口通信界面时&#xff0c;报错代码 LNK2019。 复制以下错误信息&#xff0c;方便别…

15、SQL注入之Oracel,MongoDB等注入

这里写目录标题 引言补充上篇文章Json注入案例分析 简要学习各种数据库的注入特点Access数据库Mssql数据库PostgreSQL数据库Oracle数据库MongoDB数据库 简要学习各种注入工具的使用指南 引言 mysql的注入方法跟其它的数据库注入方法是差不多的&#xff0c;是可以举一反三的&am…

【Pandas】pandas用法解析(下)

一、生成数据表 二、数据表信息查看 三、数据表清洗 四、数据预处理 ———————————————— 目录 五、数据提取 1.按索引提取单行的数值 2.按索引提取区域行数值 3.重设索引 4.设置日期为索引 5.提取4日之前的所有数据 6.使用iloc按位置区域提取数据 7…

elasticsearch8.5.2 报错(SearchPhaseExecutionException: all shards failed)

一、问题 logstash突然无法对elasticsearch服务进行读写操作了&#xff0c;提示elasticsearch的地址有问题&#xff0c;检测elasticsearch发现端口存在。查看日志发现有报错。 二、问题原因 有一些索引的数据损坏了 三、解决 官网文档&#xff1a;https://www.elastic.co/…

记录HBuilderX将uniapp项目运行到华为手机

解压并运行刚从官网下载的HBuilder X&#xff0c;新建一个项目 一、电脑下载【华为手机助手】并安装 下载地址&#xff1a; https://consumer.huawei.com/cn/support/hisuite/ 二、华为手机设置 1、手机准备&#xff1a;华为&#xff08;没有插入手机卡&#xff09;&#x…

《网络安全》0-100 零基础

网络安全基础 什么是网络安全 网络安全是指保护计算机网络不受未经授权的攻击、损伤、窃取或破坏的一系列措施。它包括保护计算机系统、网络和数据的完整性、可用性和保密性&#xff0c;以及防止未经授权的访问、使用、披露、破坏、修改、记录或丢失数据。 网络安全是保护信息…

探秘华为交换机:端口类型全解析

在下列情况下&#xff0c;判断的一般方法是什么&#xff1f; 1.交换机某个端口下的用户丢包。 2.交换机下的所有用户都在丢失数据包。 3、用户反映网速缓慢 检查网络电缆&#xff0c;重做水晶头&#xff0c;检查用户的计算机网卡&#xff0c;并重新启动交换机。 这几种做法都能…

在 PyTorch 中实现可解释的神经网络模型

动动发财的小手&#xff0c;点个赞吧&#xff01; 目的 深度学习系统缺乏可解释性对建立人类信任构成了重大挑战。这些模型的复杂性使人类几乎不可能理解其决策背后的根本原因。 ❝ 深度学习系统缺乏可解释性阻碍了人类的信任。 ❞ 为了解决这个问题&#xff0c;研究人员一直在…

chatgpt赋能python:Python中算法的几种描述方法

Python中算法的几种描述方法 在Python中&#xff0c;我们可以采用不同的方法来描述和实现不同的算法。本文将介绍三种常见的描述算法的方法&#xff0c;希望能够帮助读者更好地理解算法和Python编程。 方法一&#xff1a;自然语言描述 自然语言是我们最熟悉的方式来描述算法…