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


    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机器的内网穿透访问可以参考稚晖君的文章

  • 相关阅读:
    机器学习——决策树
    【目标检测】43、YOLOv1 | YOLO 系列开山之作
    LeetCode48. 旋转图像
    nasm用c语言调用汇编输出所有的函数参数
    [NOIP1999 普及组] 导弹拦截
    图像识别和机器视觉区别,比较两幅图像的相似度
    Vue.js核心技术解析与uni-app跨平台实战开发学习笔记 第7章 Vue.js高级进阶 7.2 vue-cli目录结构
    Zookeeper系统模型_客户端命令行
    Loopback for Mac:专业级的音频处理能力
    在react+typescript中使用echarts
  • 原文地址:https://blog.csdn.net/zmy_666/article/details/125463095