【win11远程桌面访问--基于云端服务器(腾讯云为例)&frp的内网穿透实现】

本文详细介绍了如何在腾讯云服务器上配置frp实现内网穿透,包括下载和安装frp软件、配置frps服务开机自启、开放端口以及在Windows 11上配置frpc。步骤涵盖了从云端服务器设置到本地访问的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

frp介绍

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。关于frp的详细介绍详见github

frp的工作架构如下图,主要是在服务端部署frps,在待访问的远程机器上部署frpc,实现服务端对远程机器的反向代理。通过访问服务端来实现对远程机器的访问。
在这里插入图片描述

服务器账号配置

假设已经拥有了云端服务器账号,这里以腾讯云界面进行展示。
在这里插入图片描述

服务器安装ubuntu系统

我这边是腾讯的轻量应用服务,2核、4G、80G硬盘、8M带宽、1200G/月,去年双十二活动买了一年的75元。这里直接创建安装了ubuntu的镜像,后续相关配置均基于ubuntu来操作。
在这里插入图片描述
在这里插入图片描述

服务器 ubuntu系统内配置frps开机自启动

下载服务器系统对应的frp软件

frp的github链接在此frp我这边就要下载形式为frp_x.xx.x_linux_amd64.tar.gz的版本。我这边具体下载好的版本为:frp_0.34.3_linux_amd64.tar.gz
需要解压:

tar -zxvf frp_0.34.3_linux_amd64.tar.gz

需要编辑frps.ini文件 :

[common]
bind_port = 7000 # frp服务的端口号,可以自己定
dashboard_port = 7500 # frp的web界面的端口号
dashboard_user = user # web界面的登陆账户,自己修改
dashboard_pwd = pass # web界面的登陆密码,自己修改
authentication_method = token
token = xxxxx # frp客户端连接时的密码,自己修改

添加配置服务器端frps开机自启动的脚本

首先需要新建 /etc/systemd/system/frps.service 之后编辑frps.service内容为:

[Fusion] # 可以修改为你喜欢的样子
Description=Frp Server Daemon # 可以修改为你喜欢的描述
After=syslog.target network.target
Wants=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/frp/frps -c /usr/local/bin/frp/frps.ini # 修改为你的frps实际安装目录
ExecStop=/usr/bin/killall frps
#启动失败1分钟后再次启动
RestartSec=1min
KillMode=control-group
#重启控制:总是重启
Restart=always

[Install]
WantedBy=multi-user.target

执行命令启用脚本

sudo systemctl enable frps.service
sudo systemctl start frps.service

查看服务状态

sudo systemctl status frps.service

如果webshell中是running的话就说明可以了。

云服务器对应涉及端口的开放

上面都进行完后,云服务器端需要开放以上涉及到的端口,即所有的port(后面win11的端口映射也需到这里来开放)。腾讯云中是在防火墙选项进行开放配置。
在这里插入图片描述
此外,在浏览器输入 [云服务器的公网ip]:dashboard_port 即可访问到你的 frp的web管理界面。

win11远程机器的配置

win11中配置frpc开机自启动

1、去github下载frp形式为 frp_x.xx.x_windows_amd64.tar.gz的版本,解压后放入固定文件夹下。我下载的是frp_0.43.0_windows_amd64.tar.gz,并将解压后文件夹重命名为frp。
2、修改frp下frpc.ini内容:

[common]
server_addr = xx.xx.xx.xx # 自己云端服务器的公网ip地址
authentication_method = token # 云端服务器token
token = xxxxxx # 云端服务器token值
server_port = 7000 # 云端服务器的bind_port
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 3389 # win11远程机器的远程桌面端口,一般都是固定的3389
remote_port = 6000 # 自定义云服务器映射端口(3389的远程映射),需在云服务器防火墙对其进行开放配置

3、windows中可使用winsw来部署常驻服务。去github下载WINSW,我下载的是WinSW v2.x.x,第一次下载的最新的WinSW v3.0.0-alpha.10,但是服务老是启动不了,换了v2老版本就好了于是就沿用了v2版本。
4、将2中下载的文件名改为winsw.exe(这里改不改都行,改名只是个人习惯而已),将其放在frp文件夹下面。
5、frp文件夹下新建winsw.xml,内容最好在代码编辑器中编辑,txt格式容易出问题。内容如下:
在这里插入图片描述
6、以管理员的身份cmd到frp文件夹下,执行命令:

.\winsw install
.\winsw start

上面两句运行后显示成功就可以了,最后也可以通过以下命令查看服务状态:

.\winsw status

在这里插入图片描述

最后可以重启电脑,使用远程桌面连接(计算机:云端服务器的公网ip地址:remote_port)来远程访问试试看。

PS:远程ubuntu机器的内网穿透访问可以参考稚晖君的文章

内网穿透是指从互联网访问位于私有网络内部的服务的能力,比如您想通过阿里云服务器访问本地电脑或手机上运行的应用服务。当您的设备(如手机)处于路由器后的局域网环境中,并未分配到公网IP地址时,默认情况下外界无法直接连接到该设备提供的服务。 对于手机来说,如果希望将家中或办公室内的手机应用暴露给外部网络进行测试、调试或是提供远程访问等功能,则需要借助于一些特定的技术手段来完成这个过程: 1. **端口映射**:最简单的方式可能是配置家用路由器做静态端口转发规则指向目标手机的局部 IP 地址及相应开放端口;不过这通常只适用于拥有固定公网 IP 的用户环境。 2. **反向代理工具**:利用类似 ngrok 或者 frp 这样的第三方开源项目,在阿里云等公有云端部署一台VPS实作为中间节点建立隧道,以此达到穿越 NAT 屏障的效果。其中frp是由国内开发者推出的方案,支持HTTP(S)协议的同时也可以处理TCP/UDP流量请求,非常适合个人用途下的简易快速搭建场景。 3. **云服务商特性功能**:部分云计算平台会针对此需求推出官方解决方案腾讯云"外联网", 阿里巴巴集团旗下的EDAS微服务平台同样具备一定的Serverless FaaS能力可用于构建简单的API Gateway实现有限制性的移动端内外互通效果. 4. **使用专门的应用程序**:有一些应用程序可以更简便地帮助我们实现在家里的机器甚至移动电话与外面世界之间的连通。像TeamViewer之类的软件不仅限于桌面共享还包含了文件传输和个人热点创建等功能模块可供选择按需启用;另外还有些专业领域的App如Parsec主攻低延迟的游戏串流体验优化亦能起到异曲同工之妙。 为了保证安全性和稳定性建议采用成熟稳定的框架来做这件事儿,同时要注意防火墙策略设置防止非授权人员获取敏感信息造成损失泄露风险!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值