Frp内网穿透快速实现远程桌面
1.前言
TeamViewer、向日葵等第三方软件大多是商业化软件,有各种限制。
本文介绍如何使用Frp搭建实现远程桌面连接(服务端为Linux,客户端windows)
2.Frp
Frp 是一款开源的、简洁易用、高性能的反向代理软件
它支持 TCP、UDP、HTTP、HTTPS 等协议类型
官方地址:https://github.com/fatedier/frp
3.操作步骤
1)部署Frp服务端到云服务器(如阿里、腾讯、华为等)
根据系统平台,从下面链接下载 Frp 源码上传到云服务器
https://github.com/fatedier/frp/releases
也可以通过 wget 命令直接下载
wget https://github.com/fatedier/frp/releases/download/v0.43.0/frp_0.43.0_darwin_amd64.tar.gz
解压缩
tar zxf frp_0.43.0_darwin_amd64.tar.gz
移动至/usr/local
mv frp_0.43.0_darwin_amd64 /usr/local/frp
配置服务端frps.ini
在线文档地址 https://gofrp.org/docs/overview/
[common] bind_port = 7000 #是自己设定的frp服务端端口 token = 123456 #核实身份用,加了更安全 #配置frp后台管理账号 dashboard_port = 6000 dashboard_user = admin dashboard_pwd = 123456 #配置日志配置文件夹 log_file = /var/log/frps.log log_level = info log_max_days = 3
配置systemctl来控制,服务端运行
vim新建文件并写入配置内容(使用ins或i插入,完成复制完成之后,按esc退出 :wq 保存退出)
vim /usr/lib/systemd/system/frp.service
[Unit] Description=The nginx HTTP and reverse proxy server After=network.target remote-fs.target nss-lookup.target [Service] Type=simple ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini KillSignal=SIGQUIT TimeoutStopSec=5 KillMode=process PrivateTmp=true StandardOutput=syslog StandardError=inherit [Install] WantedBy=multi-user.target
开放云服务器防火墙端口、配置安全组规则,启动Frp 服务
启动/停止/重启,查看状态,设置开机自启/关闭开机自启 systemctl start frp systemctl stop frp systemctl restart frp systemctl status frp systemctl enable frp systemctl disable frp
2)客户端
从下面链接下载Frp客户端(与服务端版本保持一直)
https://github.com/fatedier/frp/releases
修改frpc.ini
[common] server_addr = xx.xx.xx.xx server_port = 7000 token = 123456 [rdp] type = tcp local_ip = 127.0.0.1 local_port = 3389 remote_port = 3389
启动
cmd命令切换到文件夹执行
frpc -c frpc.ini
输出:login to server success, get run id [], server udp port [0]即为登录成功
3)测试远程连接
另一台电脑打开win远程桌面,输入云服务器ip地址测试远程连接(注意先开启远程连接权限)
也可以通过手机 App,如「 RD Client 」来控制远程桌面
4)设置开机自启
windows 设置开机自启的方法有很多,这里推荐使用winsw将frp注册为系统服务。
参考链接:https://blog.csdn.net/atmosphere_/article/details/104018900
为了保证目标计算机永久在线,可以利用「 winsw 」将客户端连接配置做成一个服务,并配置为开机自启
1.此处需要使用到winsw 下载地址: https://github.com/kohsuke/winsw/releases
这里将下载WinSw.Net4.exe重命名为winsw.exe,以方便后面操作
新建一个配置文件 winsw.xml(注意编码格式utf-8,否则会提示给定编码中的字符无效),添加运行 Frp 客户端的命令
<service> <!-- 该服务的唯一标识 --> <id>frp</id> <!-- 该服务的名称 --> <name>frp</name> <!-- 该服务的描述 --> <description>frp远程控制客户端服务</description> <!-- 要运行的程序路径 --> <executable>D:\Program Files\frp_0.43.0_windows_amd64\frpc.exe</executable> <!-- 携带的参数 --> <arguments>-c frpc.ini</arguments> <!-- 第一次启动失败 60秒重启 --> <onfailure action="restart" delay="60 sec"/> <!-- 第二次启动失败 120秒后重启 --> <onfailure action="restart" delay="120 sec"/> <!-- 日志模式 --> <logmode>append</logmode> <!-- 指定日志文件目录(相对于executable配置的路径) --> <logpath>logs</logpath> </service>
使用管理员身份打开CMD终端,CD进入目录运行下面命令,使得Frp客户端能变成系统服务在后台运行了
//注册服务 winsw.exe install //卸载服务 winsw.exe uninstall //启动服务 winsw.exe start //停止服务 winsw.exe stop //重启服务 winsw.exe restart //查看状态 winsw.exe status
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix