• 5 分钟,使用内网穿透快速实现远程桌面


    image

    1. 前言

    大家好,我是安果!

    一提到远程桌面,可能大家都会想到 TeamViewer、向日葵等第三方软件

    但是,它们大多是商业化软件,价格昂贵;即使有提供免费版本,也是各种限制,稳定性和安全性也没法得到保证

    本篇文章将介绍如何使用「 内网穿透 」实现远程桌面管理

    2. 内网穿透 Frp

    常见实现内网穿透的方案有:Frp、Ngrok、natapp

    其中,Frp 是一款开源的、简洁易用、高性能的反向代理软件

    它支持 TCP、UDP、HTTP、HTTPS 等协议类型

    官方地址:https://github.com/fatedier/frp

    3. 操作步骤

    下面以 Frp 内网穿透为例,实现远程桌面访问

    3-1  部署 Frp 服务端到云服务器

    根据系统平台,从下面链接下载 Frp 源码上传到云服务器

    https://github.com/fatedier/frp/releases

    当然,也可以通过 wget 命令直接下载

    # 使用wget命令下载0.37.1版本
    wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_amd64.tar.gz
    

    接着,解压文件压缩包

    # 解压文件
    tar -zxvf frp_0.37.1_linux_amd64.tar.gz
    

    然后,使用 vi/vim 编辑 Frp 服务端配置文件「 frps.ini 」

    其中

    • bind_port 用于指定 Frp 服务端的端口号

    • dashboard_user、dashboard_pwd、dashboard_port 分别用于配置 Frp 后台管理的账号信息及访问端口号

    # frps.ini
    
    [common]
    bind_addr = 0.0.0.0
    bind_port = 7777
    token = 12345678    # 授权码
    
    # 配置frp后台管理账号
    dashboard_user = admin
    dashboard_pwd = admin
    dashboard_port = 8888 
    enable_prometheus = true
    
    # 配置日志配置文件夹
    log_file = /var/log/frps.log
    log_level = info
    log_max_days = 3
    

    最后,开放云服务器防火墙端口、配置安全组规则,运行 Frp 服务

    # 开放防火墙端口号、配置安全组规则
    # 这里配置7777、8888端口号
    
    # 配置服务
    mkdir -p /etc/frp
    cp frps.ini /etc/frp
    cp frps /usr/bin
    cp systemd/frps.service /usr/lib/a
    ​
    # 启动frps服务
    systemctl enable frps
    systemctl start frps
    

    3-2  访问 Frp 后台管理

    打开浏览器,访问云服务器的 ip 地址 + 上面指定的端口号「 8888 」,输入上面的用户名和密码,即可以进入到 Frp 后台管理界面

    image

    管理界面实时查看 Frp 的运行状态及代理统计信息展示

    3-3  部署 Frp 客户端到目标计算机

    PS:由于目标计算机是 Windows,所有需要先下载 Windows 版本的 Frp 源码

    首先,修改客户端配置文件「 frpc.ini 」

    # 配置Frp客户端信息
    # frpc.ini
    
    [common]
    server_addr = frp公网ip地址   #frp服务公网ip地址
    server_port = 7777  # frps.ini中指定的端口号
    token = 12345678   # 和frps.ini中的token保持一致
    
    [ssh]
    type = tcp   # 通信方式
    local_ip = 127.0.0.1
    local_port = 3389   # 远程访问服务默认端口是3389
    remote_port = 6000  # 定义远程端口通过6000指向本地3389端口
    

    然后,使用 CMD 中使用下面命令运行 Frp 客户端

    # 运行frp客户端
    frpc -c frpc.ini
    

    最后,刷新 Frp Dashboard 管理页面,可以观察到 Frp 客户端的连接信息

    image

    3-4  目标计算机开机自启 - winsw

    为了保证目标计算机永久在线,可以利用「 winsw 」将客户端连接配置做成一个服务,并配置为开机自启

    项目下载地址:https://github.com/winsw/winsw/releases

    配置步骤如下:

    • 根据系统版本下载对应源码,解压后放置到 Frp 同一级目录下

    • 修改可执行文件名称为 winsw.exe

    • 新建一个配置文件 winsw.xml,添加运行 Frp 客户端的命令

    配置信息如下:

    # winsw.xml
    <service>
        <id>frp</id>
        <name>frp</name>
        <description>frp远程控制客户端服务</description>
        <executable>frpc</executable>
        <arguments>-c frpc.ini</arguments>
        <logmode>reset</logmode>
    </service>
    

    最后,使用管理员身份打开 CMD 终端,运行下面命令,使得 Frp 客户端能变成系统服务在后台运行了

    # 管理员身份运行
    winsw install
    winsw start
    

    3-5  远程桌面访问

    通过云服务器 ip + 客户端指定的远程访问端口号,就可以对目标计算机进行远程桌面控制了

    假设云服务器 ip 为「 *.*.*.* 」,Frp 客户端配置文件中指定的远程端口号为 6000

    只需要使用命令「 mstsc 」进入到远程桌面窗口,计算机输入「 *.*.*.*:6000 」,输入目标计算机的用户名、密码即可以远程控制目标计算机了

    当然,也可以通过手机 App,比如「 RD Client 」来控制远程桌面

    4. 最后

    上面通过 Frp 内网穿透实现了远程桌面控制,实际使用下来体验真的不要太好

    事实上内网穿透的用途远不止此,大家可以查阅资料去自行扩展

    如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!

    分享 Python 自动化及爬虫、数据分析实战干货,欢迎关注。
  • 相关阅读:
    跨域问题----CORS
    java设计模式--简单工厂模式
    vue+java后台通信报403,cors解决跨域问题(该贴说的不是很清楚,不过大概如此,可再去网上查相关内容)
    CMake实践(2)
    CMake实践(1)
    Centos6.5下编译安装ACE6.0
    回调函数的应用误区4(c/s OK版本回调小程序)
    回调函数的应用误区3(大彻大悟的回调小程序,例子的解释相当给力)
    回调函数的应用误区2(与原理相悖的回调函数)
    回调函数的应用误区1(原汁原味的函数指针应用)
  • 原文地址:https://www.cnblogs.com/xingag/p/15306428.html
Copyright © 2020-2023  润新知