30.如何用frp内网穿透搭建windows远程桌面控制
使用frp搭建内网穿透Windows远程桌面的详细步骤
FRP(Fast Reverse Proxy)是一种高效的开源内网穿透工具,可通过公网服务器将内网服务(如Windows远程桌面)暴露到公网,实现远程访问。
FRP简介
FRP是一个高性能的反向代理工具,支持TCP、UDP、HTTP、HTTPS等多种协议,适用于将内网服务映射到公网,广泛用于远程桌面、Web服务、NAS访问等场景。
FRP核心配置文件
服务端(frps.toml/frps.ini):配置监听端口、认证方式(如token)、管理面板等。
客户端(frpc.toml/frpc.ini):配置服务端IP、端口、代理类型(如TCP)、本地服务地址及端口等。
frp使用场景
远程桌面连接(如Windows RDP)。
内网Web服务或API的公网访问。
远程访问NAS、IoT设备等。
环境准备
公网服务器:一台具有公网IP的服务器(如云服务器Ubuntu或CentOS)
内网Windows设备:需要远程访问的Windows电脑,确保已启用远程桌面功能。
启用方法:
Win + I→系统→远程桌面→启用远程桌面→添加允许访问的用户。
frp下载:从GitHub Releases获取,
https://github.com/fatedier/frp/releases
服务端配置(以Ubuntu为例)
步骤1:下载并安装FRP
登录公网服务器,使用wget下载frp:
cd /opt wget https://github.com/fatedier/frp/releases/download/v0.64.0/frp_0.64.0_linux_amd64.tar.gz解压并重命名:bash
sudo tar -zxvf frp_0.64.0_linux_amd64.tar.gz mv frp_0.64.0_linux_amd64 frp cd frp
步骤2:编辑服务端配置文件(frps.toml)
使用vim编辑frps.toml:
vim frps.toml添加以下内容:toml
[common] bind_addr = "0.0.0.0" bind_port = 7000 auth.method = "token" auth.token = "your_secret_token" # 自定义令牌 dashboard_addr = "0.0.0.0" dashboard_port = 7500 dashboard_user = "admin" dashboard_pwd = "your_password" log.to = "/var/log/frps.log" log.level = "info" log.maxDays = 7说明:
bind_port:服务端监听端口,客户端将连接此端口。
auth.token:用于客户端和服务端认证,需保持一致。
dashboard_port:Web管理面板端口,可通过
http://<公网IP>:7500访问。确保防火墙和云服务器安全组放行7000和7500端口。
步骤3:配置防火墙
检查防火墙状态:
sudo firewall-cmd --state开放必要端口(如7000、7500):
sudo firewall-cmd --zone=public --add-port=7000/tcp --permanent sudo firewall-cmd --zone=public --add-port=7500/tcp --permanent sudo firewall-cmd --reload验证端口是否开放:
sudo firewall-cmd --zone=public --query-port=7000/tcp
步骤4:配置服务端自启动
创建systemd服务文件:
sudo vim /etc/systemd/system/frps.service添加以下内容:
[Unit] Description=frp server After=network.target Wants=network.target [Service] Type=simple ExecStart=/opt/frp/frps -c /opt/frp/frps.toml Restart=on-failure RestartSec=3 [Install] WantedBy=multi-user.target启用并启动服务:
sudo systemctl daemon-reload sudo systemctl enable frps sudo systemctl start frps sudo systemctl status frps
步骤5:启动服务端
前台运行(测试用):
./frps -c frps.toml后台运行:通过systemd启动(如上)。
客户端配置(Windows设备)
步骤1:下载并解压FRP客户端
从GitHub下载Windows版本(如frp_0.64.0_windows_amd64.zip),解压到指定目录(如C:\frp),保留frpc.exe和frpc.toml。

步骤2:编辑客户端配置文件(frpc.toml)
编辑frpc.toml:
[common] server_addr = "your_public_server_ip" # 公网服务器IP server_port = 7000 auth.method = "token" auth.token = "your_secret_token" # 与服务端一致 [[proxies]] name = "rdp" type = "tcp" localIP = "127.0.0.1" localPort = 3389 # Windows远程桌面默认端口 remotePort = 6000 # 公网访问端口,需在服务端防火墙放行说明:
server_addr:公网服务器IP。
localPort:Windows远程桌面默认端口为3389。
remotePort:公网访问的端口,需唯一且在服务端放行。
步骤3: 确保Windows远程桌面启用
检查3389端口是否监听:
netstat -ano | findstr 3389确保Windows防火墙允许3389端口:- 打开控制面板 → 系统和安全 → Windows Defender 防火墙 → 高级设置 → 入站规则 → 新建规则,允许TCP 3389端口。
步骤4:启动客户端
打开命令提示符,进入FRP目录:
cd C:\frp frpc.exe -c frpc.toml成功启动后,日志显示类似:
[I] [service.go:XXX] login to server success [I] [proxy_manager.go:XXX] proxy added: [rdp] [I] [control.go:XXX] [rdp] start proxy success
步骤5: 配置客户端自启动(使用NSSM)
如果嫌本步骤麻烦,可以直接在终端执行 .\frpc.exe -c .\frpc.toml即可启动,之后不要关闭窗口。
下载NSSMhttps://nssm.cc/download,将nssm.exe复制到C:\frp。
以管理员身份打开命令提示符:
cd C:\frp .\nssm.exe install frpc
在弹出的NSSM窗口中:
Path:选择
frpc.exe路径(如C:\frp\frpc.exe)。Startup directory:设置为
C:\frp。Arguments:输入
-c frpc.toml。点击
Install service。
启动服务:
net start frpc通过services.msc管理服务,确保开机自启。


远程连接测试
步骤1:在外网设备上测试
打开Windows远程桌面连接(mstsc)。
输入公网IP:remotePort(如your_public_server_ip:6000)。
输入Windows设备的用户名和密码。
连接成功后即可访问Windows桌面。

步骤2:验证Web管理面板
访问http://your_public_server_ip:7500,使用配置的用户名和密码登录,查看连接状态。
最后编辑:admin 更新时间:2025-08-15 17:57