admin管理员组

文章数量:1558103

2024 FRP内网穿透实现远程桌面

在学校有台笔记本放宿舍、有台主机放在实验室。过年回家用向日葵,10几帧能将就用但是还是受不了,于是想着用FRP做一下内网穿透,提高一下流畅度。

  • 内网设备:Windows10、Ubuntu20.04
  • 外网设备:Windows10
  • 服务器:阿里云服务器Ubuntu20.04

一、云服务器准备

  • 云服务器创建与SSH远程连接

阿里云对于学生用户可以领300元代金券,链接如下:https://university.aliyun/,可以自行挑选合适的服务器,如轻量应用服务器,尽可能挑选带宽大的服务器。

当然还有其他活动,我选择的是免费试用云服务ECS3个月,过完年也不会再用了,链接如下:https://cn.aliyun/product/ecs,我选择的是这款100Mb带宽,在创建实例时具体的步骤没有记录下来,最主要的操作大概是选择地域、选择操作系统为ubuntu20.0。云服务器的创建默认大家都会了。

然后在控制台点击远程连接、通过Workbench远程连接、重置一下密码、开启SSH密码登陆策略。

然后就可以使用CMD或者MobaXterm通过SSH连接云服务器了。

  • 下载FRP并开启服务

FRP项目:https://github/fatedier/frp/releases

下载最新的0.54.0版本,windows和linux都下载一份。

linux的版本上传到云服务器上,当然也可以通过命令行下载

#下载
wget https://github/fatedier/frp/releases/download/v0.54.0/frp_0.54.0_linux_amd64.tar.gz
#解压
tar -xzvf frp_0.54.0_linux_amd64.tar.gz
cd frp_0.54.0_linux_amd64/

编辑frps配置文件,现在已经改成toml格式

vim frps.toml

输入一下内容:

bindPort = 7000
webServer.port = 7500
# dashboard's username and password are both optional
webServer.user = "admin"
webServer.password = "admin"
webServer.addr = "0.0.0.0

开启frps服务:

./frps -c frps.toml #检查是否有报错,没有报错ctrl+c后输入下列命令实现后台服务
nohup ./frps -c frps.toml & #别忘了后面的&符号
  • 防火墙设置
sudo apt update #第一次使用云服务器需要update一下
sudo apt install firewalld
firewall-cmd --add-port=7500/tcp --permanent #其他端口重复类似的操作
firewall-cmd --reload
firewall-cmd --list-all

阿里云控制台设置:点开安全组->选择主机->手动添加,类似下面写就行,协议类型是TCP还是UDP根据你的应用而定,一般都是TCP

  • 测试frp服务器是否启动成功

用外网设备打开frp面板,打开地址公网IP:7500,如果成功打开算是成功。

二、内网设备准备

2.1 Windows

  • frpc 客户端

同样下载解压、配置frpc.toml,配置远程连接的端口,本地默认为3389,云服务器上任意端口,这里是6000

serverAddr = "公网ip"
serverPort = 7000

[[proxies]]
name = "mstsc"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3389
remotePort = 6000
  • 云服务器开放端口

按照上一节防火墙设置,在服务端开放端口。

  • 启动frpc客户端
frpc.exe -c frpc.toml

  • 外网设备远程连接

经测试,比向日葵流畅太多,基本上和局域网内远程连接速度差不多快。

2.2 Ubuntu20.04

在ubuntu的远程桌面我选择的软件是nomachine、端口号为4000,同时开启udp和tcp

  • frpc 客户端
serverAddr = "公网ip"
serverPort = 7000

[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 2222

[[proxies]]
name = "nomachine1"
type = "tcp"
localIP = "127.0.0.1"
localPort = 4000
remotePort = 4000

[[proxies]]
name = "nomachine2"
type = "udp"
localIP = "127.0.0.1"
localPort = 4000
remotePort = 4000
  • 云服务器开放端口

按照上一节防火墙设置,在服务端开放端口。

  • 外网设备远程连接

填上公网ip,登录。

参考链接:

FRP + NoMachine远程桌面开发指南

本文标签: 内网远程桌面frp