【实用技巧】云服务器+FRP搭建自己的远程控制向日葵

组内公共机(windows系统)采用向日葵远程连接,向日葵本身提供的免费服务速度很慢,尤其是多人同时连接时情况更颇为糟糕。于是打算利用windows本身自带的远控服务,开辟一条自己的绿色通道。

1.运行环境

服务器:阿里云ubuntu22.04 LTS

被控端:台式电脑windows10

控制端:台式电脑windows10

2.基本原理

基本原理如下图所示,图源[1]:

控制端(计算机A)向云服务器发送请求,云服务器将请求转发到被控端(计算机B)。如果计算机A和计算机B在同一局域网下,则无需公网服务器进行请求转发。这里考虑到更加通用的场景,往往这两者不在同一局域网中。

需要配置两个东西:

  1. FRP内网穿透:计算机B无法直接被A访问到,配置穿透后,使A对C的请求能够顺利转发到B中,这里默认FRP通过7000端口通信。

  2. 远程控制请求:计算机A需要向公网服务器发送控制申请,此时需要通过端口进行通信,本文中端口设置为7003,计算机B无需设置端口,windows默认远控端口为3389

3.操作步骤

下面开始具体操作。

3.1 端口设置开放

首先在阿里云服务器控制台中开放端口。

阿里云服务器控制台:https://ecs.console.aliyun.com/server/i-2zeilcvb1tnjoanrzkku/group?regionId=cn-beijing#/

进入控制台,入方向,开放70007003两个端口。

在云服务器防火墙中,同步开放这两个端口,开放完重启防火墙:

c 复制代码
sudo ufw allow 7000
sudo ufw allow 7003
sudo ufw reload

3.2 服务器FRP配置

首先查看服务器系统架构:

c 复制代码
lscpu | grep Architecture

输出:

复制代码
Architecture:  x86_64

如果输出结果中包含 x86_64 或 i686,则表示系统的 CPU 架构是 AMD(或者是 x86 架构的 Intel

CPU)。如果输出结果中包含 armv7l、aarch64 或 arm64,则表示系统的 CPU 架构是 ARM[2]。

下载FRP:

c 复制代码
wget https://github.com/fatedier/frp/releases/download/v0.61.1/frp_0.61.1_linux_amd64.tar.gz

解压:

c 复制代码
tar -xvzf frp_0.61.1_linux_amd64.tar.gz 

进入到frp_0.61.1_linux_amd64目录中,编辑frps.toml配置文件:

c 复制代码
vim frps.toml

内容如下:

c 复制代码
bindAddr = "0.0.0.0"
bindPort = 7000
auth.method = "token"
auth.token = "自己的token"

bindAddr= "0.0.0.0"表示监听所有IP信息,bindPort=7000即绑定7000端口,auth.token设置自己的密码,用来FRP服务连接时验证。

修改完成后,保存,用screen无间断启动FRP服务:

c 复制代码
screen -S frps ./frps -c frps.toml

3.3 被控端FRP配置

被控端可以直接下载原生的frp:

下载链接:https://github.com/fatedier/frp/releases/tag/v0.61.1

也可以下载封装好的图形化界面frpc-desktop

下载链接:https://github.com/luckjiawei/frpc-desktop/releases/tag/v1.1.6

为方便起见,我这里直接下载后者。

下载完成后,首先在穿透列表这里配置代理,信息填写如下图所示:

之后在里面下载FRP,我这里下载最新版本,注意和服务器端最好保持版本对应。

配置FRP信息,服务器地址填写自己服务器的公网IP,端口号和token和上一节设置的相对应,配置完点右上角进行保存。

最后,到首页启动FRP。如有报错,可查看具体日志信息。

配置完成后,在控制端打开windows自带的远程桌面连接

计算机名称填写公网ip:7003

最后输入用户名和密码,即可进入远控界面,并且控制端和被控端是共享剪切板的,用来直接传输一些小文件很流畅。

4. 错误原因排查

默认情况下,按照上述流程进行配置,应该不会出现问题。如出现问题,可从以下几个角度进行排查:

  1. 被控端FRP连接异常
    直接看软件生成的日志

  2. 服务器端FRP异常
    可通过如下语句,查看错误信息:

    c 复制代码
    ./frps -c frps.toml
  3. 被控端连接异常
    可以检查远程服务是否启动,默认情况是启动的,具体到服务管理栏检查Remote Desktop Services这个服务的启动情况。
    其次可检查是否开启远控权限,具体位置在控制面板 系统->允许远程访问中。

参考

1\] 如何利用云服务搭建自己的远程连接工具 https://blog.csdn.net/qq_42108331/article/details/140397923 \[2\] linux 查看CPU架构是AMD还是ARM https://blog.csdn.net/qq_50247813/article/details/133314899

相关推荐
正在学习前端的---小方同学1 小时前
Harbor部署教程
linux·运维
牛奔2 小时前
Docker Compose 两种安装与使用方式详解(适用于 Docker 19.03 版本)
运维·docker·云原生·容器·eureka
翼龙云_cloud2 小时前
阿里云渠道商:如何手动一键扩缩容ECS实例?
运维·服务器·阿里云·云计算
墨风如雪3 小时前
拒绝被找回!MJJ必修课:Outlook邮箱交易后的“防回手”安全设置全攻略
服务器
DX_水位流量监测4 小时前
大坝安全监测之渗流渗压位移监测设备技术解析
大数据·运维·服务器·网络·人工智能·安全
电商API&Tina4 小时前
京东 API 数据采集接口接入与行业分析
运维·服务器·网络·数据库·django·php
Mr_Xuhhh4 小时前
博客标题:深入理解Shell:从进程控制到自主实现一个微型Shell
linux·运维·服务器
f***24117 小时前
高效自动化管理临时文件的技术方案
运维·自动化
m0_738120727 小时前
应急响应——知攻善防靶场Linux-1详细应急过程
linux·运维·服务器·网络·web安全·ssh
obboda8 小时前
磁盘管理(MBR、LVM)
运维·5g