FRP内网穿透进行Windows远程访问

2023-05-16

背景

  • 内网计算机:Windows 10 x64

  • FRP服务器:腾讯云 Ubuntu 20.04

本文重点介绍 FRP 服务器端和客户端配置,远程桌面连接属于常规内容,不再详细说明。

准备工作

下载软件

GitHub下载 FRP release 的程序

Snipaste_2022-05-28_15-21-26.png

因为本次需要配置 Ubuntu 和 Windows 两个环境,所以两个包都下载下来(Linux 的包可以到终端上去操作,但是云服务器没有代理,所以一并在本地电脑上解决了)

服务器配置

打开 frp_linux_amd64.tar.gz ,里面有客户端(client)和服务端(server)的可执行文件和配置文件,其中frpsfrps_full.inifrps.ini 是服务器端的可执行文件和配置文件。

Snipaste_2022-05-28_15-26-22.png

修改配置文件

修改 frps.ini 文件

[common]
bind_addr=0.0.0.0
bind_port = 7000
# token=1234567890
dashboard_port = 7500
dashboard_user = username
dashboard_pwd = password

说明

  • bind_addr 服务器本地 IP
  • bind_port FRP 监听端口
  • token 验证 token 根据需要设置
  • dashboard_port FRP面板端口
  • dashboard_userdashboard_pwd 是面板的账号密码
  1. 除了bind_addr参数之外的其他参数,都可以根据需求自行修改。
  2. token和面板的配置都是非必须的。
  3. 如果使用云服务器,那么bind_portdashboard_port都需要在云服务器安全组放行。

修改权限

然后给服务器端 frps 赋予执行权限:

sudo chmod 755 ./frps

运行 frps

./frps -c ./frps.ini

出现[root.go:209] frps started successfully 即代表运行成功。

Snipaste_2022-05-28_15-46-51.png

如果运行出现错误 bash: ./frps: Permission denied 表示还是权限错误,参考上一步修改权限

Snipaste_2022-05-28_15-44-39.png

访问面板

frps 运行成功后可以通过 http://公网IP:面板端口 访问 frp 面板(前提是配置了访问面板)。登录面板可以看到如下界面:

Snipaste_2022-05-28_15-52-29.png

进阶

使用 nohupfrps 后台运行

nohup ./frps -c ./frps.ini > nohup.out 2>&1 &

查看后台服务,通过这个指令就能看到 frps 的 PID

ps -aux | grep "./frps -c ./frps.ini"

客户端配置

打开 frp_windows_amd64.zip ,里面有客户端(client)和服务端(server)的可执行文件和配置文件,其中frpc.exefrpc_full.inifrpc.ini 是客户端的可执行文件和配置文件。

Snipaste_2022-05-28_16-00-04.png

修改配置文件

本地演示用到程序是 windows 远程桌面,使用 3389 端口。需要用 FRP 将 windows 客户端的 3389 转发到服务器端上。比如将客户端的 3389 转发到服务器端的远程端口。用文本编辑器打开 frpc.ini 文件:

[common]
server_addr = FRP服务器公网地址
server_port = 7000
# token=1234567890

[RDP]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 服务器端远程端口

说明

  • server_addr FRP服务器公网地址

  • server_port 服务器FRP服务端口需要与服务器配置一致

  • token token 验证,如果服务器端配置了 token,客户端需要与服务器一致

  • type 转发端口协议类型

  • local_ip 本地地址,一般为 127.0.0.1

  • local_port 本地服务端口,不同程序端口不同

  • remote_port 转发到服务器的某个端口

如果FRP服务使用的云服务器,要想通过公网IP加远程端口访问到转发的服务,需要云服务器安全组将此处配置的 remote_port 放行。

运行 frpc

打开CMD 在 frpc 所在目录下运行

frpc.exe -c frpc.ini

出现 success 就是连接成功

Snipaste_2022-05-28_16-15-14.png

说明

  • [RDP]的服务代理启动成功

  • [ssh]启动失败: 端口已经被占用

    因为我除了添加了[RDP]的服务,我还添加了一个[ssh]的服务,服务器端口使用的是 6000

    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
    remote_port = 6000
    

    但是因为服务器 6000 这个端口已经被其他服务占用了,所以就启动失败

服务器

客户端的操作,在服务器端也能看到记录

Snipaste_2022-05-28_16-27-04.png

面板中也会出现相应的记录

Snipaste_2022-05-28_16-29-06.png

进阶

使用 winsw 注册 windows 后台服务

下载 winsw

GitHub下载 winsw.exe

Snipaste_2022-05-28_16-37-41.png

重命名

将软件重命名为 winsw.exe,并将该软件放到 frpc 客户端所在目录下备用。

创建配置文件

还是在 frpc 客户端所在目录下创建 winsw.xml 文件,并写入一下内容并保存:

<service>
    <id>frpc</id>
    <name>frpc</name>
    <description>frpc</description>
    <executable>frpc</executable>
    <arguments>-c frpc.ini</arguments>
    <onfailure action="restart" delay="60 sec"/>
    <onfailure action="restart" delay="120 sec"/>
    <logmode>reset</logmode>
</service>

启动 winsw

管理员权限启动 CMD,进入到 frpc 客户端所在目录下,添加服务

winsw.exe install

启动服务

winsw start

其他

#添加服务
winsw.exe install
#开始
winsw start
#关闭
winsw stop
#卸载服务
winsw uninstall

远程访问

内网计算机配置允许远程访问,然后其他任何计算机通过 Windows 自带的远程桌面工具通过访问 公网IP:远程桌面转发端口 连接远程桌面。

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

FRP内网穿透进行Windows远程访问 的相关文章

  • Springboot实现VNC的反向代理

    背景 用户需要通过前端HTML页面的noVNC xff08 noVNC是什么 xff1f xff09 客户端连接底层VNC Server服务端 xff0c 为了防止VNC Server的IP暴露 xff0c 因此需要做一层代理 正常情况下使
  • Visual Studio Code 的C++环境配置和调试

    目录 前言 xff1a 1 为什么要写这篇文章 xff1f 2 为什么选择VS Code xff1f 3 如何联系我 xff1f 简而言之 xff0c VS Code免费 43 快速 43 好用 43 潜力无穷 xff1b 一 安装VS C
  • 浅析向量(Vector),迭代器(Iterator)和数组(Array)

    目录 前言 Foreword 向量 Vector 1 何为向量 xff1f 2 如何初始化Vector向量 xff1f 3 向量的基本操作 xff1a 4 Range based For Statement 5 向量的插入操作 xff1a
  • 《数字电路分析》学习札记

    目录 前言 xff1a Chapter 1 数字逻辑基础 进制 xff1a 进制间转换方法 xff1a BCD xff1a 余3码 xff1a 余3循环码 xff1a 格雷码 xff08 循环码 xff09 xff1a 二进制数 格雷码 x
  • Ubuntu 22.04 双系统安装和卸载

    前言 xff1a 一 为什么选择Ubuntu系统 xff1f 1 免费且提供长期系统维护支持 xff1b 2 是主流的Linux服务器发行版 xff1b 3 强大的Shell xff1b 4 简洁好看的图形化UI界面 xff1b 5 丰富的
  • CSS-Div居中方法(Position方法)

    目录 代码展示 xff1a 实际效果 xff1a 具体分析 xff1a 如何联系我 xff1f 代码展示 xff1a lt DOCTYPE html gt lt html lang 61 34 en 34 gt lt head gt lt
  • 字符设备驱动-linux驱动开发第3部分-朱有鹏-专题视频课程

    字符设备驱动 linux驱动开发第3部分 4561人已学习 课程介绍 本课程是linux驱动开发的第3个课程 xff0c 接上部分继续讲解字符设备驱动的开发要点 xff0c 重点是相关的内核源代码的解析和一些真正驱动惯用的编程手法的引入 本
  • C++测试代码运行时间

    如果我们想直观地看出朴素算法和其他算法对程序运行时间的影响 xff0c 那么就可以采取以下方式 方法1 xff1a 基于头文件ctime和函数clock 的实现 代码1 xff1a include lt iostream gt includ
  • VMware虚拟机安装CentOS 7

    目录 1 VMware软件安装 2 CentOS 7 镜像下载 3 VMware安装CentOS 1 安装前内容设置 xff1a 2 安装中操作步骤 3 安装后语言设置 4 将图形化界面切换为命令符界面 如何联系我 xff1f wei ha
  • 解决Windows开机后无启动项的问题

    前言 为什么会出现这个问题 xff1f 此前PC上装有Windows 43 Ubuntu双系统 xff0c 由于又配置了虚拟机下的Centos xff0c 我把Ubuntu系统卸载了 没想到手滑删除了Windows的引导项 如图所示 xff
  • KMP算法图文详解

    简介 xff1a Knuth Morris Pratt xff08 KMP算法or字符串查找算法 xff09 可在一较长串S内查找一子串P出现的位置 xff0c KMP算法利用最长公共前后缀的特性以避免重新检索先前配对的字符串 xff0c
  • 离散数学期末习题

    前言 xff1a 本文适用于应对HUEL离散数学 期末考试 xff0c 重点整理了HUEL离散数学 期末考试范围内的题型 xff0c 既可以应对HUEL离散数学期末考试 xff0c 亦可以作为数据结构与算法的预备知识 如何联系我 xff1f
  • VMware Tools在Centos 7环境的安装教程

    前言 xff1a 阅读本文 xff0c 您可以得到 xff1a VMware Tools在Centos7环境下的安装步骤 xff1b 正文 xff1a VMware Tools在Centos7环境下安装步骤 xff1b 1 您需要保持虚拟机
  • 宝塔面板快速部署SSL证书

    前言 xff1a 发现自己的网站不能使用https访问 xff0c 原来是没有为网站部署SSL证书 通过本文 xff0c 您可以一键免费部署SSL证书 xff08 Let 39 s Encrypt xff09 正文 xff1a 1 如图显示
  • 宝塔面板部署WordPress(保姆式教程)

    前言 xff1a 通过本篇文章 xff0c 您可以掌握 xff1a 1 基于宝塔面板的快速建站操作 xff1b 2 一些浅浅的建站知识与技能 xff1b 3 WordPress助您快速建站 xff0c 节省您的时间 xff1b 如何联系我
  • VS 2022 C++ 自定义头文件示例

    前言 xff1a 博主最近刚从VS Code转到VS 2022 xff0c 但发现自定义的方法和VS Code有些不同 xff0c 故出一期VS 2022自定义头文件的博客 xff0c 时间仓促 xff0c 请不吝赐教 如何联系我 xff1
  • 零基础搭建网站(保姆级教程)

    前言 xff1a 本教程不需要任何前置知识 xff0c 零基础教您搭建网站 如何联系我 xff1f wei haoran 64 outlook com 正文 xff1a 搭建网站需要什么 xff1f 1 域名 xff1b 2 服务器 xff
  • 驱动框架入门之LED-linux驱动开发第4部分-朱有鹏-专题视频课程

    驱动框架入门之LED linux驱动开发第4部分 5199人已学习 课程介绍 本课程是linux驱动开发的第4个课程 xff0c 主要内容是驱动框架的引入 通过led驱动框架和gpiolib的这两个框架的详细解释 xff0c 让大家学习内核
  • VSCode远程连接服务器(SSH免密登录)

    前文 连接远程服务器的方式众多 xff0c 本文将介绍基于VS Code的SSH免密登录方法 在开始SSH远程链接以前 xff0c 您需要完成以下步骤 xff1a 1 Windows配置SSH xff1a 1 以Windows平台为例 xf
  • Linux云服务器防止暴力破解(三道SSH安全策略)

    前言 新购入的服务器 xff0c 往往用户名默认为root xff0c ssh默认开放22端口 xff0c 且配置SSH服务时往往同时允许密码和公钥二重登录 然而 xff0c 许多非法服务器运行着暴力破解程序 xff0c 通过访问用户名ro

随机推荐

  • Git快速入门(图文教程)

    前言 xff1a Git是目前最流行的版本控制工具之一 xff0c 它可以帮助我们更好地管理代码 xff0c 协作开发 xff0c 以及保证代码的安全性 在学习Git之前 xff0c 我们需要先了解几个概念 xff1a workspace
  • VS Code + phpstudy实现PHP环境配置

    概述 xff1a 要使用VSCode进行PHP开发 xff0c 需要先在本地搭建PHP环境 xff0c 并将其配置到VSCode中 下面是具体的步骤 xff1a 1 下载安装PHPStudy 首先 xff0c 我们需要从PHPStudy官网
  • CSS圆角边框

    设置css圆角边框 1 border radius 属性用于向元素添加圆角边框 css圆角边框代码 xff1a border radius 15px 2 对应四个角 xff0c CSS3提供四个单独的属性 xff1a border top
  • CSS渐变色

    渐变 xff1a 通过渐变可以设置一些复杂的背景颜色 xff0c 可以从实现一个颜色向其他颜色过渡的效果 渐变是图片 xff0c 通过 background image设置 CSS 定义了两种渐变类型 xff1a 线性渐变 xff08 向下
  • js的for循环语句

    For循环语法 xff1a for 循环是在您希望创建循环时经常使用的工具 for 循环的语法如下 xff1a for 语句 1 语句 2 语句 3 要执行的代码块 语句 1 在循环 xff08 代码块 xff09 开始之前执行 语句 2
  • 了解 JavaScript 构造函数

    以下是Faraz Kelhini的客座文章 其中一些东西超出了我的舒适区 xff0c 所以我请凯尔辛普森为我进行技术检查 凯尔的回答 xff08 我们在办公时间会议期间所做的 xff09 非常有趣 它是 xff1a 1 xff09 这篇文章
  • JavaScript 字符串加密和解密

    使用CryptoJS 加密和解密 JavaScript 字符串 使用NcryptJS 加密和解密 JavaScript 字符串 使用CryptoJS 加密和解密 JavaScript 字符串 CryptoJS 是一个 JavaScript
  • DOM特效

    第一节 xff1a 模态框拖拽 1 offset 偏移量 offset 翻译过来就是偏移量 xff0c 我们使用 offset系列相关属性可以动态的得到该元素的位置 xff08 偏移 xff09 大小等 offset 可以得到任意样式表中的
  • linux设备驱动模型-linux驱动开发第5部分-朱有鹏-专题视频课程

    linux设备驱动模型 linux驱动开发第5部分 4285人已学习 课程介绍 本课程是linux驱动开发的第5个课程 xff0c 主要内容是linux的设备驱动模型 xff0c 包括总线 类 设备 驱动等概念 xff0c 重点通过plat
  • 工作两三年的人才能体会的软件设计思想

    最近看了几本关于编程的书籍 xff0c 都是些讲解软件架构和设计的书 根据目前脑袋中还残留的记忆 xff0c 相关知识总结如下 xff1a 1 编程范式 目前被提出来的编程范式为 xff1a 结构化编程范式 面向对象编程范式 函数式编程范式
  • es6 的箭头函数

    箭头函数是 ES6 里面一个简写函数的语法方式 重点 xff1a 箭头函数只能简写函数表达式 xff0c 不能简写声明式函数 function fn 不能简写 const fun 61 function 可以简写 const obj 61
  • 使用 JavaScript 绘制圆

    图形是任何 Web 应用程序的重要组成部分 HTML 提供了两种创建图形的方法 xff0c 第一种是 canvas xff0c 另一种是 SVG 在今天的帖子中 xff0c 我们将学习如何使用画布和 JavaScript 在 HTML 中创
  • 闭包和引用

    闭包是 JavaScript 一个非常重要的特性 xff0c 这意味着当前作用域总是能够访问外部作用域中的变量 因为 函数 是 JavaScript 中唯一拥有自身作用域的结构 xff0c 因此闭包的创建依赖于函数 模拟私有变量 span
  • 在 JavaScript 中隐藏表格行

    在 JavaScript 中 xff0c 我们可以在一个通用的类下定义某些表数据 xff0c 该类将具有一些可配合的功能 此特定函数将声明该表的行在选择性触发器上的行为方式 在 JavaScript 中 xff0c 我们可以在一个通用的 类
  • 在jQuery中切换隐藏/显示

    使用jQuery的toggle 方法来切换隐藏 显示 使用jQuery的切换 方法来切换隐藏 显示 在 toggle 方法的用例中 xff0c 我们通常通过 click 事件触发它 同样 xff0c 在该方法的实现中 xff0c 还有另一个
  • 在 JavaScript 中深度克隆对象

    JavaScript 是一种对象语言 几乎所有内容都是 JavaScript 中的对象 布尔值 数字 字符串 日期 数学 Regex 数组 函数和对象本身都是对象 它们是由各种属性和方法组成的键值对的集合 它们直接存储在内存中 xff0c
  • 九、FreeRTOS多任务创建的两种风格及任务启动流程

    文章目录 1 使用FreeRTOS进行多任务创建的时候一般有如下两种风格 xff08 1 xff09 先创建好所有的任务 xff0c 最后启动调度器开始多任务的调度 xff08 2 xff09 先创建一个启动任务后立马开启调度器 xff0c
  • 关于keil编译显示Flash Download failed -Could not load file xxxx.axf

    这个问题困扰我好久 xff0c 在许多地方看了许多大佬的讲解都没解决 xff0c 软件重装后又重装 xff0c 最终解决方法 xff1a xff01 xff01 xff01 xff01 xff01 xff01 xff01 xff01 你所下
  • 解决Ubuntu与Virtualbox虚拟机共享文件夹无权限的问题(保姆级)

    目录 使用这个命令后 xff0c 如果不能马上打开共享文件夹 xff0c 需要重启一下ubuntu系统 这样 xff0c 你共享的work文件夹就能在Ubuntu系统访问了 声明 CSDN 64 m0 637799558昵称更改为 64 孤
  • FRP内网穿透进行Windows远程访问

    背景 内网计算机 xff1a Windows 10 x64 FRP服务器 xff1a 腾讯云 Ubuntu 20 04 本文重点介绍 FRP 服务器端和客户端配置 xff0c 远程桌面连接属于常规内容 xff0c 不再详细说明 准备工作 下