随时随地远程桌面

随时随地远程桌面

因为国庆回家,但又有办公需求(离不开电脑了已经),远程桌面是最方便的了。但是平时的远程桌面是建立在校园网基础下的,并不需要公网IP,恰巧手上有台云服务器,便使用Frp来进行内网穿透,实现随时随地远程桌面

服务器环境为Ubuntu20.4 客户端环境为Windows11


下载安装包

在服务器端和Windows客户端都需要安装Frp,下载的安装包内同时存在frpc和frps,注意这两个的区别,按照本文对照好文件名进行配置就可以了。

下载链接:Frp

Linux下载命令,命令下载太慢可以Windows端下载,再上传到服务器

wget https://github.com/fatedier/frp/releases/download/v0.51.3/frp_0.51.3_linux_arm64.tar.gz

image-20230928132322704


服务端配置

我使用的是WindTerm软件SSH远程连接的服务器

image-20230928161405513

找到自己下载或者上传的文件在哪里,我的放在了Download文件夹里,frp开头的那个文件

image-20230928161538502

解压缩

tar -zxvf Frp包的名字

image-20230928161753094

解压完就看到这个了

image-20230928161904753

进入这个文件夹

cd frp_0.51.3_linux_amd64/

image-20230928162012086

这两个框出来的文件就是客户端和服务端的配置文件,frpc.ini是客户端配置文件,frps.ini是服务端配置文件,因为我们现在是在配置服务端,所以客户端的文件就不用去管,删了都行。

vim编辑frps.ini,如果你有别的办法,例如,vscode SSH连接然后编辑这个文件,都是可以的

vim frps.ini

输入上面这行指令后,就可以按 i 进入编辑模式,在这个文件里面写入如下内容:

[common] bind_addr=0.0.0.0 bind_port = 7000 auto_token= xxxx #服务器看台密码,随意设置 dashboard_port = 7800 dashboard_user = admin dashboard_pwd = xxxx #frp看台密码,随意设置

image-20230928163153059

输入完成之后,按左上角ESC,然后输入:wq保存并退出

如果出现了权限问题,可以输入以下指令,给文件权限

cd ..

sudo chmod 777 frp_0.51.3_linux_amd64

image-20230928163747225

运行frp

./frps -c ./frps.ini

出现‘start frps success’就算成功了

设置开机启动,在/etc/systemd/system文件夹中,新建文件frps.service

sudo mkdir frps.service

编辑frps.service文件

vi frps.service

在文件中输入以下内容,记得改写路径

[Unit]

Description=frps daemon

After=syslog.target network.target

Wants=network.target

``

[Service]

Type=simple

ExecStart=/root/frp/frps -c /root/frp/frps.ini

Restart= always

RestartSec=1min

``

[Install]

WantedBy=multi-user.target

image-20230928164949743

最后启动frps

systemctl start frps

设置开机启动

systemctl enable frps


客户端配置

把文件下载完成之后解压到一个自己能找到的地方,这里我解压到D盘

image-20230928165235884

进入到文件夹中,编辑frpc.ini文件,可以用记事本打开,也可以用notepad++,配置客户端,输入以下内容

[common]
server_addr = 你的服务器ip地址
server_port = 7000
auto_token= 跟服务器端对应
[rdp-bty]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 7800

image-20230928165659234

进入到文件夹,右键,选择在终端中打开

image-20230928165317885

输入以下命令

./frpc -c ./frpc.ini

image-20230928165844933

frp服务就开始运行了,这个时候就已经可以通过云服务器IP地址加端口号访问远程桌面了,当然前提是你得把服务器端的7000和7800端口都给打开

接下来是将frp服务设置为开机自启动

下载winsw

image-20230928170206388

下载好了之后将其更名为winsw.exe,然后放进之前解压到D盘里的frp的文件夹里面,同时创建一个叫winsw.xml的配置文件

image-20230928170401355

打开winsw.xml,可以使用记事本或其他。在winsw.xml文件中写入这些,这些是frp进程的描述文件

<service>

<id>frp</id>
 
<name>frp</name>
 
<description>frp远程桌面</description>
 
<executable>frpc</executable>
 
<arguments>-c frpc.ini</arguments>
 
<logmode>reset</logmode>

</service>

image-20230928170627497

保存之后,进到frp文件夹里面,再右键打开一个终端

输入

.\winsw install

然后按win键+r,输入services.msc

image-20230928170946557

找到frp服务

image-20230928170936955

双击,设置启动类型为自动,服务状态启动起来

image-20230928171022544

点击上方的恢复,进行如下设置

image-20230928171124842


结束

简单有趣的frp内网穿透,但现在还有ipv6的内网穿透,不需要云服务器和公网ip,以后再研究吧…