frp穿透你的远程桌面

2023-05-16

缘起

作为一个程序员,经常会遇到需要使用远程桌面的述求(居家办公、加班,你懂的)。所以,在网上找一圈远程桌面解决方案之后,最终还是使用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

启动命令:

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

启动成功后访问监控界面,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

启动命令:

frpc.exe -c fprc.ini

设置frpc服务并开机自启

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

安装服务fprc:

nssm install frpc


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

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

得道

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

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

测试

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

frp穿透你的远程桌面 的相关文章

随机推荐

  • 运算符(代码及操作)

    运算符基础题 1 1 算术运算符 span class token comment 算术运算符 xff1a 43 xff1a 求和 xff1a 求差 xff1a 求积 xff1a 求商 xff1a 求余数 span span class t
  • 角谷猜想(c++代码)

    include using namespace std int main int n cin gt gt n if 1 lt 61 n amp amp n lt 61 2000000 do if n 2 61 61 1 cout lt
  • SpringBoot应用接口无法访问,但应用看起来正常

    背景 xff1a 应用中有多个实现了CommandLineRunner接口的类 xff0c 其中一个类A单独起了一个线程去执行逻辑 xff0c 另一个类B也实现了CommandLineRunner接口但是没有new新线程的操作 现象 xff
  • ubuntu PATH 出错修复

    我的 ubuntu10 10设置交叉编译环境时 xff0c PATH 设置错误了 xff0c 导致无法正常启动 xff0c 错误情况如下 xff1a PATH xff1a 找不到命令 ubuntu201 span class hljs nu
  • mybatis-plus中使用pagehelper避坑

    1 你的传参对象的分页字段是pageNum和pageSize 今天测试一个接口 xff0c 没有传递分页字段 xff0c 但是后台还是进行了分页查询 这个是因为虽然没有传递分页查询 xff0c 但是后台的参数对象中有pageNum和page
  • 结构体和二进制文件操作

    老师给我们分布里一个作业 xff0c 让我们定义一个怪物的结构体 xff0c 输入你想创建的数字就可以创建出相应个数的怪物 然后再输入每个怪物的信息并保存到一个文本文件里面 xff0c 以供以后读取 这里我定义了 一个结构体 xff0c 还
  • 如何解决苹果账号续费时支付失败的问题

    事件 苹果开发者账号 xff08 公司 xff09 准备到期了 用双币信用卡续费的时候 xff0c 一直提示 你的支付授权失败 请核对你的信息并重试 xff0c 或尝试其他支付方式 请联系你的银行了解更多信息 xff0c 如下图所示 xff
  • java-读取javabean中所有属性和属性的类型

    java读取文件中的属性类型 64 param model 64 return 64 throws Exception public static Map lt String String gt getModelAttriButeType
  • java项目linux jar包部署问题

    1 当我们项目打包成jar包后 xff0c 上传到linux服务器上 xff0c 用 java jar xxxxx jar 启动项目后 xff0c 会发现我们代码中的日志输出会变乱码 xff0c 这时只需要在命令加上如下参数即可 xff1a
  • pip安装到指定路径

    在pycharm的Terminal窗口输入 xff1a pip install numpy target 61 F py Analysis vv Lib site packages numpy xff1a python库的名称 后面 tar
  • PostgreSQL标准建表语句

    建表 CREATE TABLE if not exists public user id character varying 32 NOT NULL DEFAULT sys guid name character varying 100 N
  • table-cell布局

    display table cell属性简介 display xff1a table cell xff1b 会使元素表现的类似一个表格中的单元格td xff0c 利用这个特性可以实现文字的垂直居中效果 同时它也会破坏一些CSS属性 xff0
  • 使用Visual Studio 2019时遇到的两个问题

    由于近期要做计算机网络第一次上机作业 xff0c 我暂时抛弃了已经用习惯的Devcpp xff0c 下载并安装了VS2019 xff0c 在编译样例代码 用VS2017平台编写 时成功地解决了遇到的两个问题 MSB803 xff1a 找不到
  • 树莓派3B+(04):xrdp远程桌面连接

    xrdp远程桌面连接 一 xrdp和vnc区别 通过可视化界面远程访问 xff0c 像Windows下的自带的远程工具一样 xff0c 能够以图形化的界面远程操作 xff0c 最常见的是通过xrdp和vnc这两种远程桌面协议来进行可视化远程
  • Docker安装教程(看这篇就够了)

    Docker安装教程 一 CentOS安装Docker1 卸载 xff08 可选 xff09 2 安装docker3 启动docker4 配置镜像加速 二 CentOS7安装DockerCompose1 下载2 修改文件权限3 Base自动
  • cmd找不到conda以及通过cmd启用Anaconda中的Python环境(base)

    cmd找不到conda以及通过cmd启用Anaconda中的Python环境 xff08 base xff09 1 在系统环境中添加Anaconda路径2 通过cmd启用Anaconda中的Python环境 xff08 base xff09
  • 在使用flex布局方式让最后一个元素居右(最右边)显示,一层 HTML 结构实现左“右”布局,使用flex实现居中对齐

    我们在布局的时候通常会在导航栏上有居左和居右显示 xff0c 中间留白 xff0c 这样页面伸缩的时候不会影响效果 形如下图 以往我们可能更多会使用float浮动布局来实现这种效果 xff0c 但是flex得到广泛支持以后就可以更方便和快捷
  • Linux网络服务管理&防火墙详解&端口问题

    每次配置访问服务器都会一团迷雾 xff0c 今天来尝试弄清楚同时借鉴一下大佬的博文当做笔记 文章目录 防火墙简介一 防火墙基础二 iptables防火墙策略iptables 命令格式 xff1a iptables案例1 查看开放的端口2 开
  • Linux环境下Jenkins安装

    目录 1 部署 JDK 1 1 安装 JDK 2 部署 Jenkins 2 1 上传压缩包 2 2 创建相关文件夹 2 3 安装 Jenkins 2 3 1 拷贝 Jenkins 主体文件 2 3 2 离线安装 Jenkins 插件 2 3
  • frp穿透你的远程桌面

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