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

相关推荐
朝阳58135 分钟前
在一台服务器上通过 Nginx 配置实现不同子域名访问静态文件和后端服务
服务器·前端·nginx
学渣6765636 分钟前
mac连接lniux服务器教学笔记
服务器·笔记·macos
云卓SKYDROID1 小时前
物流无人机自动化装卸技术解析!
运维·人工智能·自动化·无人机·科普·遥控器·云卓科技
小米bb1 小时前
nginx之proxy_redirect应用
运维·nginx
余辉zmh1 小时前
【Linux系统篇】:Linux线程控制基础---线程的创建,等待与终止
linux·运维·服务器
秋说2 小时前
监控系统进阶方案:OpenObserve的Docker部署与远程访问配置指南
运维·docker·容器
oioihoii2 小时前
C++23 views::as_rvalue (P2446R2) 深入解析
运维·服务器·c++23
周之鸥3 小时前
Ubuntu 服务器管理命令笔记
服务器·笔记·ubuntu
东南门吹雪3 小时前
Debian系统上PostgreSQL15版本安装调试插件及DBeaver相应配置
linux·运维·postgresql·debian
搬码临时工4 小时前
内网和外网怎么互通?外网访问内网的几种简单方式
服务器·网络·智能路由器·外网访问