由于TeamViewer的高额使用费及其安全问题,萌生了自己搭建FRP实现Windows远程桌面的想法,网上找了一圈基本没有全面且安全落地的,大部分都是面向技术达人的,对于新手的我来说走了不少弯路,在摸索中终于搞定了远程桌面管理,省一点是一点,如有不完美的请各位达人指教。
tips:
1.不差钱的可以买带宽大点的服务器
2.新建服务器入站规则时,一定要一个端口一个端口建,尝试过端口端建规则,结果折腾了两天没成功,差点放弃
3.frp的KCP方式还在研究,据说握手后就能直连了,速度会快不少
1.购买阿里云ECS服务器,选择UBUNTU系统,版本16以上
2.云服务器启动后进入管理界面设置管理员密码
3.防火墙放行相应端口
重复以上操作,把7000和其他客户端需要使用的端口一个个制定入站规则,每个端口可对应一台远程客户端,有些端口设置后可能无法连接,这是因为你设置的端口被系统占用了,重新换个端口试试,切记一定要单个端口一个规则,不要设置成端口段,我就在这里卡了好久
4.用ECS控制台自带远程登录服务器
登录成功后进入命令行界面
1.下载frp服务器端
wget https://github.com/fatedier/frp/releases/download/XXXXX/frp_XXXXX_linux_amd64.tar.gz
XXXXX 为frp最新版本号,可以通过frp官网查询FRP,我以0.32.0为例:wget https://github.com/fatedier/frp/releases/download/v0.32.0/frp_0.32.0_linux_amd64.tar.gz
下载完成后会有如下提示
因FRP官网部署在国外,可能下载速度较慢,可以先自行下载到本地再上传到服务器,比较简单的方式是用Xshell
首先下载对应的版本文件
创建一个会话
创建完成后进入会话列表,选中后点击连接
出现以下提示即表示连接成功
在命令行界面空白处右键鼠标,选择传输模式,我选的是ZMODEM,三个模式看哪个速度快选哪个
弹出文件选择框后选择文件,打开即可上传
如果出现以下提示,请按提示安装lrzsz即可,安装完成后再重新上传
如果上传速度慢可以尝试用其他模式方式来传,传输完毕后会有如下提示:
在当前命令行下输入:ls 看看有没有上传成功
2.安装frps
2.1解压安装包
tar -zxvf frp_0.32.0_linux_amd64.tar.gz
解压后为了后续操作命令简短,可以将解压的文件移动到frp文件夹,
mv frp_0.32.0_linux_amd64 frp
移动之后再查看下目录内的文件夹对不对
然后进入frp目录:cd frp 并再次确认文件是否齐全
2.2配置frps.ini文件:vi frps.ini
默认配置如下:
按两次“D”把默认配置逐行删除
按“i”键进入编辑模式
更改配置
[common]
bind_addr=0.0.0.0
bind_port = 7000
auto_token=XXXXX
dashboard_port = 7800
dashboard_user = admin
dashboard_pwd = XXXXXXX
更完成后按ESC键退出编辑模式,输入:wq 保存并退出
2.3运行 frp
给frp文件夹提权:
sudo chmod -R 777 /root/frp
运行frp
./frps -c ./frps.ini
出现如下提示即表示运行成功
3.设置frps开机自动运行
新建服务
vi /etc/systemd/system/frps.service
按“I”键进入编辑模式,注意ExecStart中要配置成自己的路径
输入
[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
按ESC退出编辑模式,输入:wq 保存并退出
然后使用
systemctl start frps
即可启动frps
用
systemctl enable frps
即可将frps设置为开机启动。
1.下载安装Microsoft .NET Framework 4
自行百度下载并安装,win10可以直接在程序和功能——》启用或关闭Windows功能中找到并安装
2.下载PC版frp
我下的是64位版,请按需下载
3.安装客户端frpc
解压文件包,最好把减压的文件夹重命名为frp并复制到D:\等根目录,编辑frpc.ini文件,建议用VScode或者Notepad编辑(下载地址: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
4.运行客户端 frpc
按win+r键打开运行命令框,输入powershell 回车进入命令窗口
cd d:\frp
这里的路径自己改成你放frp的地址,我是放在D盘frp文件夹下的
输入运行命令
./frpc -c ./frpc.ini
运行成功后会有如下提示,下面设置使其随系统启动,
5.设置客户端frpc随系统启动
下载winsw最新版,为了方便将其重命名为winsw.exe, 将该文件和frpc.exe放在一起,然后新建winsw.xml
写入以下内容:
frp
frp
用frp发布本地电脑网站到外网
frpc
-c frpc.ini
reset
保存后进入powershell,CD到frp所在目录,然后使用
winsw install
和
frpc start
命令即可将frpc安装为系统服务。
win+r后通过
services.msc
进入到服务列表页面找到frp服务。
为了确保frpc在连接失败后自动尝试重新连接,在恢复tap页进行如下设置:
完成后下次启动系统,服务就会自动启动运行。
设置客户端远程桌面
四、通过Windows远程桌面连接到受控客户端
通过开始菜单打开远程桌面程序
或者通过命令行打开:使用win+r然后mstsc 进入远程桌面
点连接后输入受控端电脑的用户名密码即可登录
如果提示无法连接,请检查受控端远程桌面设置是否有问题,尝试关闭受控端防火墙,如果还是无法连接请跟换端口,并在服务器安全组中把更改后的端口号写入入站规则