基于frp实现windows远程桌面连接
基于frp内网穿透和服务器的windows远程桌面连接最佳实践\n
frpstech
48 views
Oct 08, 2024

本文介绍一种基于windows远程桌面,使用任意设备远程连接到windows电脑的方式

至少需要1台服务器(本文以centos7.9操作系统的云服务器为例)

需要1台windows电脑(本文以内核版本为19045.2965的windows10家庭版为例)

任意远程桌面软件(本文以mac操作系统下的Minecraft Remote Destop为例)

#服务端配置

##安装

centos7.9操作系统下载以下文件

image

  • 将文件上传到服务器用户目录,以root为例

使用tar -zxvf frp_0.48.0_linux_amd64.tar.gz解压

image

  • 进入frp_0.48.0_linux_amd64目录修改配置文件

其中以ftpc开头的文件均为客户端需要,服务端可以直接删除

image

##修改配置

修改frps.ini

    [common]
bind_port = 7000
dashboard_port = 7500
token = Dd112211
dashboard_user = violet
dashboard_pwd = Dd112211

  

bind_port:客户端与服务器通信的端口,默认为7000

dashboard_port:frp管理面板端口

token:客户端与服务器连接的验证token

dashboard_user:管理面板用户名

dashboard_pwd:管理面板密码

##启动

执行以下命令,此种方法需要服务器连接窗口一直开启,不推荐使用

    ./frps -c ./frps.ini

  

##自启动

使用system工具实现开机自启和后台运行

以下内容来自

  • 安装system工具
    yum install systemd

  
  • 修改启动配置文件
    vi /etc/systemd/system/frps.service

  
  • 文件写入内容
    [Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /root/frp_0.48.0_linux_amd64/frps -c /root/frp_0.48.0_linux_amd64/frps.ini

[Install]
WantedBy = multi-user.target

  
  • 启动命令
    # 启动frp
systemctl start frps
# 停止frp
systemctl stop frps
# 重启frp
systemctl restart frps
# 查看frp状态
systemctl status frps

  
  • 设置开机自启
    systemctl enable frps

  
  • 服务端开启端口7000,7500,7001(后面会用到)
    sudo firewall-cmd --permanent --zone=public --add-port=7000/tcp
sudo firewall-cmd --permanent --zone=public --add-port=7500/tcp
sudo firewall-cmd --permanent --zone=public --add-port=7001/tcp

# 重启防火墙
sudo firewall-cmd --reload

  

至此,服务端配置完毕

#客户端

##安装

image

下载后解压到D:\Program Files\frp_0.48.0_windows_amd64

以frps开头的文件均为服务端所需要,可以直接删除

##配置

修改frpc.ini

    [common]
server_addr = <此处替换为你的服务器ip>
server_port = 7000
token = Dd112211

[rdp]
type = tcp
local_ip = 127.0.0.1           
local_port = 3389
remote_port = 7001

  

server_addr:服务区地址

server_port:客户端同服务区交互端口

token:连接到服务端所需token

type:连接类型:udp或tcp

local_ip:本地访问ip

local_port:本地访问端口,windows远程桌面默认访问端口为3389

remote_port:远程访问端口

此处配置文件的意思时,使用server_addr:remote_port连接到local_ip:local_port,相当与访问<此处替换为你的服务器ip>:7001 == 访问127.0.0.1:3389

##启动

image

进入powershell,使用以下命令启动

    ./frpc.exe -c ./frpc.ini

  

image

之后使用其他设备通过<你的服务器ip>:7001,就可以远程访问到windows设备了

如果此时无法访问,请按照以下步骤检查

##自启动

程序目录新建文件start.bat

    @echo off
:home

./frpc.exe -c ./frpc.ini

goto home

  

打开任务计划程序

image

image

image

程序或脚本填start.bat文件位置,例如:D:\Program Files\frp_0.48.0_windows_amd64\start.bat

起始于填start.bat所在文件夹路径,例如:D:\Program Files\frp_0.48.0_windows_amd64

image

#错误检查

##服务器端口是否开启

    sudo firewall-cmd --list-ports

  

##客户端电脑是否允许3389端口

进入防火墙高级设置,新建入站规则

image
添加允许3389端口

image

##客户端是否开启远程桌面

image
如果以上检查无误,仍然无法连接,请到frp github查看相关issue

注:windows家庭版无法使用被远程桌面连接,专业版可以被远程桌面连接如果你是windows家庭版,需要进行以下配置

#windows家庭版配置

windows家庭版无法通过windows10设置开启远程桌面,需要使用补丁(此方法在windows版本19045.2965可用,高于此版本可能导致失效),如果该方法失效,请到github issue寻找最新的解决方案。

推荐升级到windows专业版

(此方法已在2020年失效)

2023年以后的请看以下方法,穿越回去的可以忽略

##下载软件

##安装1

将RDPWrap解压到C:\Program Files\RDP Wrapper

使用管理员身份运行install.bat

等待安装结束,点击RDPConf.exe

image
左上角Wrapper stateService stateListener state应该为全绿状态,此时远程桌面可以正常访问,如果有红色,请看下面方法

##安装2

解压autoupdate到C:\Program Files\RDP Wrapper目录下,使用管理员身份运行update.bat

以管理员身份打开powershell,运行以下命令

    net stop termservice

net start termservice

  

再次打开RDPConf.exe查看左上角状态是否为绿,如果不是继续下一步

打开rdpwrap.ini,如果没有自行创建,删除原文件内容,粘贴以下内容(从下方链接获取)

之后再执行:以管理员身份打开powershell,运行以下命令

    net stop termservice

net start termservice

  

再次打开RDPConf.exe查看左上角状态是否为绿,如果此时状态为绿的,再次启动客户端frp即可./frpc.exe -c ./frpc.ini,如果还是不行,到

寻找最新方法

至此,你应该可以使用任意软件通过服务器远程到windows电脑了。

#widnows安装服务

下载winsw

将下载的WinSW-x64.exe重命名为winsw.exe

创建winsw.xml

    <service>
  <id>frpc_service</id>
  <name>frpc Service</name>
  <description>frpc service for automatic startup and restart</description>
  <executable>frpc</executable>
  <arguments>-c ./frpc.toml</arguments>
  <onfailure action="restart" delay="10 sec" />
</service>

  

启动

    winsw.exe install

winsw.exe start

  
Total PV : 22920 UV : 4849
Copyright © 2024 陕ICP备2021015553号-2