使用FRP配置Windows远程控制
一款很好用的内网穿透工具--FRP
前言
使用内网穿透工具——FRP,以及一台云服务器当做服务端,进行简单配置后即可远程访问
配置 FRP 服务端的前提条件是需要一台具有**公网 IP **的设备,得益于 FRP 是 Go 语言开发的,具有良好的跨平台特性。你可以在 Windows、Linux、MacOS、ARM等几乎任何可联网设备上部署。
FRP软件下载地址:https://github.com/fatedier/frp/releases
架构
如图,在这里,客户端即被远程的机器,service我们使用3389远程控制
- 一台云服务器,比如 CentOS7
- 一个公网IP,带宽视情况而定,公网IP地址以
117.73.3.210
为例
服务端配置
服务端下载FRP及配置
服务端下载Linux版的FRP工具,比如frp_0.30.0_linux_amd64.tar.gz
,为了方便管理,这里进行了重命名为frp
wget https://github.com/fatedier/frp/releases/download/v0.30.0/frp_0.30.0_linux_amd64.tar.gz
tar -zxvf frp_0.30.0_linux_amd64.tar.gz
mv frp_0.30.0_linux_amd64 frp
进入frp目录: cd frp
,如图
配置文件
文件介绍:
文件名 | 功能 |
---|---|
frpc | 客户端应用程序 |
frps | 服务端应用程序 |
frpc.ini | 客户端配置文件-精简版 |
frps.ini | 服务端配置文件-精简版 |
frpc_full.ini | 客户端配置文件-完整版 |
frps_full.ini | 服务配置文件-完整版 |
这里进行配置时使用精简版的配置文件 frps.ini
查看编辑配置文件,vim frps.ini
,如图,这里的port可以自己指定,比如我使用7000(默认)
启动服务端FRP
进入目录,指定配置文件frps.ini
启动服务端程序:
./frps -c ./frps.ini
也可以使用后台不挂断的方式启动,并且指定日志文件
nohup ./frps -c ./frps.ini &> /var/log/frps.log &
客户端配置
客户端即要被远程访问的机器,比如处于公司内网的办公电脑,为Windows操作系统
开启远程控制功能
首先要开启远程控制功能,进入控制面板
控制面板\所有控制面板项\系统
(或者直接右键此电脑
,点击属性
)
点击高级系统设置
,点击远程
,选择允许远程访问
,点击确定
客户端下载FRP
客户端下载Windows版本的FRP工具,比如frp_0.30.0_windows_amd64.zip
下载后解压,可以重命名一下,进入文件目录,如图
配置文件
文件介绍如服务端,这里的配置文件使用精简版的
编辑并保存 frpc.ini
,如下
[common]
server_addr = x. #服务端公网IP地址
server_port = 7000 #服务端开启的端口
[3389]
type = tcp
local_ip = 192.168.1.9 #客户端的ip地址,可以通过打开cmd执行`ipconfig`查看
local_port = 3389 #Windows远程控制端口,无需修改
remote_port = 33211 #远程端口,这里自己设置一个不常用的端口
启动客户端
进入目录,打开CMD命令行,通过指定配置文件frpc.ini
启动客户端,如下图:
.\frpc.exe -c .\frpc.ini
访问
此时,远程控制已经配置完成,接下来就可以访问了
访问地址为服务端的公网IP地址加上客户端配置文件指定的remote_port,例如117.73.3.210:33211
Windows操作系统远程控制
使用Windows操作系统进行远程控制,例如家里的电脑
打开Windows的远程桌面连接工具,按快捷键 Win + R
,输入 mstsc
输入远程主机地址和用户名,例如 117.73.3.210:33211
和我办公电脑的用户名
点击连接
手机远程控制
下载微软的一个远程控制软件 RD Client
手机版
下载地址
- 点击软件右上角
+
号 - 点击
Desktop
- PC name输入公网IP地址和remote_port,例如,117.73.3.210:33211
- User name输入被控制的电脑的登录用户名
- 点击右上角save
- 点击主页的远程桌面即可进行远程控制
FRP介绍
FRP 全名:Fast Reverse Proxy。FRP 是一个使用 Go 语言开发的高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务。FRP 支持 TCP、UDP、HTTP、HTTPS等协议类型,并且支持 Web 服务根据域名进行路由转发。
FRP 项目地址:https://github.com/fatedier/frp
FRP 的作用
利用处于内网或防火墙后的机器,对外网环境提供 HTTP 或 HTTPS 服务。
对于 HTTP, HTTPS 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个 80 端口。
利用处于内网或防火墙后的机器,对外网环境提供 TCP 和 UDP 服务,例如在家里通过 SSH 访问处于公司内网环境内的主机。
使用FRP配置Windows远程控制的更多相关文章
- windows远程控制
windows+r 输入 mstsc 打开远程控制 首先,确定目标机器支持远程控制 问题解决: Win7远程桌面提示您的凭据不工作: http://jingyan.baidu.com/article ...
- WINDOWS远程控制LINUX终端XSHELL
WINDOWS远程控制LINUX终端XSHELL 笔者购买的腾讯云CENTOS7,通过腾讯云的控制台登录,每次都要打开相关网页.输入密码,感觉操作非常不方便. 使用XSHELL远程控制LINUX终端, ...
- frp 配置多个 web 项目,无需购买域名 (访问内网可视化界面,jupyter noterbook, visdom, tensorboard)
frp 配置多个 web 项目,无需购买域名 简单配置,参考 前言: 网上也有很多教程包括官方文档,都需要购买域名,并且把 frpc.ini 中 [web]节配置的 custom_domains 的 ...
- AndroidStudio开发环境配置-Windows
Android Studio开发环境配置-Windows 最近突发奇想,开始研究Android开发.开始时使用Eclipse作为开发IDE,结果各种不好使,首先下载和安装SDK,以及不同版本的Imag ...
- 配置windows失败,还原更新,请勿关机
同事叫我帮忙弄一下电脑,开机,出现"配置Windows Update失败,还原更改,请勿关闭计算机",我从来不更新Windows Update,更新都为成功,第一次遇到失败了,不知 ...
- 配置Windows Server2008+iis+php+mysql所需下载安装包
最近一个朋友让我帮忙给配置服务器iis+php+mysq 环境,遇到了很多问题,特此就在这里说一下.小弟只是在windwos2003 和windwos XP下配置过iis+php+mysql,去朋友那 ...
- 配置Windows Update,补丁更新
配置Windows Update更新下载及安装方式: #NotificationLevel说明: # 0:未配置,不会对当前设置进行更改 # 1:从不检查更新 # 2:检查更新,但是让我选择是否下载和 ...
- 通过配置Windows 防火墙允许使用TCP/IP协议远程访问数据库
原文:通过配置Windows 防火墙允许使用TCP/IP协议远程访问数据库 本文适用于:2005.2008.2008R2所有版本 为了可以通过TCP/IP协议远程访问SQLServer数据库,需要做以 ...
- zabbix_agentd客户端安装与配置(windows操作系统)
zabbix_agentd客户端安装与配置(windows操作系统) ********** 客户端操作 ********** 标注:监控zabbix_agentd客户端安装对象是win s ...
随机推荐
- C指针乱记
//int a[3][4] = { { 66, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } }; //读取二维数组任意元素hint int(*)a[4] ...
- 3、Spring Boot 2.x 核心技术
1.3 Spring Boot 核心技术 1.3.1 起步依赖 为项目的依赖管理提供帮助.起步依赖其实就是特殊的Maven,利用了传递依赖解析,把常用库聚合在一起,组成几个为特定功能而定制的依赖. 1 ...
- 题解 [JOI 2019 Final] 独特的城市
题面 解析 首先有一个结论, 对一个点\(x\)有贡献的城市 肯定在它到离它较远的直径的端点的链上. 假设离它较远的端点是\(S\), 如果有一个点\(u\)不在\(x\)到\(S\)的链上, 却对\ ...
- python通用分页功能
实现: class Page: def __init__(self,current_page,data_count,per_page_count=10,pager_num=10): self.curr ...
- Verilog Tricks
1,可用generate产生512*FIFO 2,Vivado的warning也要全部排除 3,小module测完再往大module加 4,复位和IDLE处的置零操作一定要写全了 5,设计通信接收机时 ...
- WSDL的学习
1.WSDL是什么? 2.wsdl说明书结构 拿到说明书,从下往上看, 图2-1 port:为端点 binding:绑定 图2-2 type属性----->找到portType标签 operat ...
- 第十七节:Runnable创建线程,Thread创建线程,唤醒线程和计数器多线程,线程同步与等待
Runnable创建线程 public class RunnableDemo implements Runnable{ @Override public void run(){ int i = 1; ...
- vue中父组件如何监听子组件值的变化
vue中我们会遇到很多父子组件通信的需求, 下面简单列一下,父子组件通信的几种情况 1:父组件向子组件传值:使用prop向子组件传值: 2:子组件实时监听父组件传来的值的变化:使用watch去监听父组 ...
- Irrlicht引擎剖析二
- Git 中无法忽略 .xcuserstate 的解决方法
1.查看代码变化git status 2.接着输入 git rm –cached 刚才复制的地址 ,如下.git rm --cached RxSwift/Rx.xcodeproj/xcuserdata ...