• frp穿透你的远程桌面


    缘起

    作为一个程序员,经常会遇到需要使用远程桌面的述求(居家办公、加班,你懂的)。所以,在网上找一圈远程桌面解决方案之后,最终还是使用frp来穿透远程桌面。(推荐使用)

    前提

    • 需要一台有公网ip的服务器,腾讯云服务器或者阿里云服务器都可以
    • 需要会docker的基本使用
    • 知晓内网穿透frp的使用
    • 针对windows系统的远程桌面配置

    公网搭建frps服务端

    本文服务端基于 docker安装 frps,镜像使用snowdreamtech/frps
    详细配置请参考frp文档

    配置文件frps.ini

    # [common] is integral section
    [common]
    # A literal address or host name for IPv6 must be enclosed
    # in square brackets, as in "[::1]:80", "[ipv6-host]:http" or "[ipv6-host%zone]:80"
    bind_addr = 0.0.0.0
    bind_port = 7000
    
    # udp port to help make udp hole to penetrate nat
    #bind_udp_port = 7001
    
    # udp port used for kcp protocol, it can be same with 'bind_port'
    # if not set, kcp is disabled in frps
    #kcp_bind_port = 7000
    
    # specify which address proxy will listen for, default value is same with bind_addr
    # proxy_bind_addr = 127.0.0.1
    
    # if you want to support virtual host, you must set the http port for listening (optional)
    # Note: http port and https port can be same with bind_port
    vhost_http_port = 81
    #vhost_https_port = 443
    
    # response header timeout(seconds) for vhost http server, default is 60s
    # vhost_http_timeout = 60
    
    # set dashboard_addr and dashboard_port to view dashboard of frps
    # dashboard_addr's default value is same with bind_addr
    # dashboard is available only if dashboard_port is set
    dashboard_addr = 0.0.0.0
    dashboard_port = 7500
    
    # dashboard user and passwd for basic auth protect, if not set, both default value is admin
    dashboard_user = admin
    dashboard_pwd = a123456@
    
    # dashboard assets directory(only for debug mode)
    # assets_dir = ./static
    # console or real logFile path like ./frps.log
    log_file = ./frps.log
    
    # trace, debug, info, warn, error
    log_level = info
    
    log_max_days = 3
    
    # disable log colors when log_file is console, default is false
    disable_log_color = false
    
    # auth token
    token = a123456@
    
    # heartbeat configure, it's not recommended to modify the default value
    # the default value of heartbeat_timeout is 90
    # heartbeat_timeout = 90
    
    # only allow frpc to bind ports you list, if you set nothing, there won't be any limit
    #allow_ports = 2000-3000,3001,3003,4000-50000
    
    # pool_count in each proxy will change to max_pool_count if they exceed the maximum value
    max_pool_count = 5
    
    # max ports can be used for each client, default value is 0 means no limit
    max_ports_per_client = 0
    
    # if subdomain_host is not empty, you can set subdomain when type is http or https in frpc's configure file
    # when subdomain is test, the host used by routing is test.frps.com
    #subdomain_host = meiflower.top
    
    # if tcp stream multiplexing is used, default is true
    tcp_mux = true
    
    # custom 404 page for HTTP requests
    # custom_404_page = /path/to/404.html
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73

    启动命令:

    docker run --restart=always --network host -d -v /etc/frp/frps.ini:/etc/frp/frps.ini --name frps snowdreamtech/frps
    
    • 1

    启动成功后访问监控界面,http://ip:7500

    本地windows电脑配置开启远程桌面

    在我的电脑右键属性,进入远程桌面设置。

    给系统账号添加密码。

    注意事项:

    • 如果不想设置防火墙,建议将防火墙关掉,避免外网访问不到。
    • 建议设置电源休眠选型,将电脑设置为永不休眠,笔记本盖上屏幕也不休眠。
    • Windows的远程桌面端口默认为3389。
    • 需要设置账号密码,无密码无法登录远程桌面。

    本地安装frpc客户端并配置

    下载frpc并启动

    下载windows版本的fprc到本地,版本地址为https://github.com/fatedier/frp/releases

    修改配置frpc.ini

    [common]
    # 公网ip
    server_addr = xxxx
    server_port = 7000
    token= a123456
    
    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 3389
    remote_port = 9999
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    启动命令:

    frpc.exe -c fprc.ini
    
    • 1

    设置frpc服务并开机自启

    基于服务封装工作nssm,安装fprc为服务,并设置开机自启。

    安装服务fprc:

    nssm install frpc
    
    • 1


    安装成功后,继续设置服务frpc自启动。

    如此Windows的远程桌面就成功在线了,且在电脑重启后会自动启动上线。如果电脑断电,也只需要联系同事帮忙打开电脑电源,就能成功远程。不需要像向日葵等软件掉线后还要一番操作,省心。

    得道

    最后可以用远程桌面连接工具,远程到您的电脑,如此就能愉快的玩耍了。
    优点:

    • 连接稳定,图像清晰。
    • 电脑重启后自动上线。
      缺点:
    • 需要公网IP
    • 速度受公网ip带宽影响(建议将自己公网ip服务器的带宽调高一点,比如5M按量付费)

    测试

    • mac系统可以安装Microsoft Remote Desktop来连接windows的远程桌面。

    • windows系统可用远程桌面连接工具:

    • 安卓手机可以安装相应远程桌面连接软件,如下是手机连接测试图:

  • 相关阅读:
    模式分类与“组件协作模式”
    _Linux理解软硬链接
    java 注解信息说明
    Linux 入门
    vue 对axios进行封装
    【一文秒懂——SLF4j日志】
    32 位计算机时间戳溢出的思考 —— 整数的二进制表示
    基于TCP协议与Python中Socket模块的人群分布数据传输与远程CNN识别模型部署
    基于JAVA中学网站设计与实现演示录像2020计算机毕业设计源码+系统+数据库+lw文档+部署
    Python编程 字符串介绍以及切片
  • 原文地址:https://blog.csdn.net/mg0324/article/details/128022678