精
【原创】使用frp实现远程桌面 |
|
红叶遍山
L12
• 2022-02-27 • 回复 3 • 最后编辑于2022-02-28 08:54 • 只看楼主
• 举报
|
因为经常需要用公司的电脑进行一些操作,但是不在公司,这就需要远程控制电脑的一些软件,比如向日葵之类的...但是不太满意,又因为之前买过一个服务器,所以就自己搭建一个。
原理:端口透传,即把微软的远程桌面服务的端口通过frp服务映射到自己的公网云主机上,在家里的电脑上输入自己的公网IP连接公司电脑。
准备:一个大带宽的云主机(不小于8M/s即可),两台电脑。
过程:
1.在github上下载frp到本地PC,我的架构都是X86,我选择Linux和Windows的,frp_0.39.1_windows_amd64.zip and frp_0.39.1_linux_amd64.tar.gz
2.把Linux的frp上传到云主机,
3.在云主机上操作,解压
解压之后
目录展示:
frpc 要远程的电脑用的执行文件
frpc.ini 要远程的电脑用的配置文件
frps 公网云主机上运行的服务
frps.ini 公网云主机上的服务配置文件
system 服务后台配置文件
4.在云主机上操作, 进入frp的文件夹,修改配置文件frps.ini。
修改配置文件,其实GitHub上有配置的详细说明,我这里精简一下。
[common]
bind_port = 7000 //端口号
token=123456 //传输加密的密码,操作时用不到,但使你的远程连接更加安全。
5.在云主机上操作, 启动服务
./frps -c frps.ini
启动成功:
保持这样,
6.在被控的PC机上操作,解压frp压缩包。
目录结构:
7.在被控的PC机上操作 ,进入解压文件夹,配置frpc.ini。
[common]
server_addr = X.X.X.X // 云主机的公网IP
server_port = 7000 //和云主机一致
token = 123456 //和云主机一致
[rdp]
type = tcp
local_ip = 127.0.0.1
local_port = 3389 //本地远程桌面端口
remote_port = 3389 //要在云主机上转的端口
8.在被控的PC机上操作 ,在这个文件夹打开cmd命令行运行frpc.exe。
./frpc.exe -c frpc.ini
如下:如果上一步没有配置VNC就没有,这个不是必要的,
同时你的云主机:
就连接上去了。
9.使用另一台电脑,打开远程桌面,连接。
输入自己的云主机公网IP。
连接
登录即可。
10.优化
a.一直打开cmd命令行运行不太行,写一个bat脚本运行,就方便多了。
@echo off
:home
frpc -c frpc.ini
goto home
放到frp的文件夹里面就可以了。
b.在云主机里面,把frps设置为后台常驻服务和开机自启。
把system下的frps.service复制到/lib/systemd/system 下,
cp frps.server /lib/systemd/system
配置自启和后台运行
systemctl daemon-reload
systemctl enable frps.server //加入开机自启
systemctl start frps.server //开始运行
systemctl status frps.server //查看服务状态
服务状态:
c.下班了,但是忘记打开frp,你可以设置计划任务,下班之后,自己打开。
结束!