【实用技巧】云服务器+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

相关推荐
千墨22 分钟前
VMware安装Centos 9虚拟机+设置共享文件夹+远程登录
linux·运维·centos
网络安全(华哥)2 小时前
网络安全服务实施流程管理 网络安全服务体系
运维·服务器·网络
致奋斗的我们2 小时前
Nginx反向代理及负载均衡
linux·运维·mysql·nginx·负载均衡·shell·openeluer
Ares-Wang2 小时前
负载均衡 方式
运维·负载均衡
钗头风2 小时前
3.Docker常用命令
运维·docker·容器
忧虑的乌龟蛋2 小时前
嵌入式 Linux:使用设备树驱动GPIO全流程
linux·服务器·嵌入式·imx6ull·gpio·点灯·pinctrl
朝九晚五ฺ2 小时前
【Linux探索学习】第三十弹——线程互斥与同步(上):深入理解线程保证安全的机制
linux·运维·学习
六六六六六66663 小时前
企业组网IP规划与先关协议分析
服务器·网络·tcp/ip
不要吃栗子李3 小时前
高级运维:1. 对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,比较其各自的优势 。2. 基于 openEuler 构建 LVS-DR 群集。
运维·负载均衡·lvs
ITPUB-微风3 小时前
网易严选DevOps实践:从传统到云原生的演进
运维·云原生·devops