一款很好用的内网穿透工具--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 手机版

下载地址

  1. 点击软件右上角 +
  2. 点击 Desktop
  3. PC name输入公网IP地址和remote_port,例如,117.73.3.210:33211
  4. User name输入被控制的电脑的登录用户名
  5. 点击右上角save
  6. 点击主页的远程桌面即可进行远程控制

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远程控制的更多相关文章

  1. windows远程控制

    windows+r  输入 mstsc 打开远程控制 首先,确定目标机器支持远程控制 问题解决: Win7远程桌面提示您的凭据不工作: http://jingyan.baidu.com/article ...

  2. WINDOWS远程控制LINUX终端XSHELL

    WINDOWS远程控制LINUX终端XSHELL 笔者购买的腾讯云CENTOS7,通过腾讯云的控制台登录,每次都要打开相关网页.输入密码,感觉操作非常不方便. 使用XSHELL远程控制LINUX终端, ...

  3. frp 配置多个 web 项目,无需购买域名 (访问内网可视化界面,jupyter noterbook, visdom, tensorboard)

    frp 配置多个 web 项目,无需购买域名 简单配置,参考 前言: 网上也有很多教程包括官方文档,都需要购买域名,并且把 frpc.ini 中 [web]节配置的  custom_domains 的 ...

  4. AndroidStudio开发环境配置-Windows

    Android Studio开发环境配置-Windows 最近突发奇想,开始研究Android开发.开始时使用Eclipse作为开发IDE,结果各种不好使,首先下载和安装SDK,以及不同版本的Imag ...

  5. 配置windows失败,还原更新,请勿关机

    同事叫我帮忙弄一下电脑,开机,出现"配置Windows Update失败,还原更改,请勿关闭计算机",我从来不更新Windows Update,更新都为成功,第一次遇到失败了,不知 ...

  6. 配置Windows Server2008+iis+php+mysql所需下载安装包

    最近一个朋友让我帮忙给配置服务器iis+php+mysq 环境,遇到了很多问题,特此就在这里说一下.小弟只是在windwos2003 和windwos XP下配置过iis+php+mysql,去朋友那 ...

  7. 配置Windows Update,补丁更新

    配置Windows Update更新下载及安装方式: #NotificationLevel说明: # 0:未配置,不会对当前设置进行更改 # 1:从不检查更新 # 2:检查更新,但是让我选择是否下载和 ...

  8. 通过配置Windows 防火墙允许使用TCP/IP协议远程访问数据库

    原文:通过配置Windows 防火墙允许使用TCP/IP协议远程访问数据库 本文适用于:2005.2008.2008R2所有版本 为了可以通过TCP/IP协议远程访问SQLServer数据库,需要做以 ...

  9. zabbix_agentd客户端安装与配置(windows操作系统)

    zabbix_agentd客户端安装与配置(windows操作系统)   **********  客户端操作   **********  标注:监控zabbix_agentd客户端安装对象是win s ...

随机推荐

  1. TODO:AppiumTestDistribution--CapabilityManager 类

    该类代码详见git:https://github.com/AppiumTestDistribution/AppiumTestDistribution/tree/master/src/main/java ...

  2. combogrid下拉方法封装

    //html <input id="addxxxxx" name="xxxxxx" style="width:380px;height:36px ...

  3. Android特定语言 Xtendroid

    Xtendroid是一款Android的领域特定语言,它大大降低样板代码,同时提供巨大的工具支持.Xtendroid利用Xtend transpiler实现,它的特点是能够在Java代码编辑或编译期间 ...

  4. [Google Guava] 1.2-前置条件

    原文链接 译文链接 译者: 沈义扬 前置条件:让方法调用的前置条件判断更简单. Guava在Preconditions类中提供了若干前置条件判断的实用方法,我们强烈建议在Eclipse中静态导入这些方 ...

  5. C语言学习系列(五)变量和常量

    一.常量 定义:在程序运行中,其值不能改变的量称为常量 分类:常量可以是任何的基本数据类型,比如整数常量.浮点常量.字符常量,或字符串字面值,也有枚举常量. 在 C 中,有两种简单的定义常量的方式: ...

  6. 重新梳理一下adb操作app(golang版)

    主要参考我之前整理的内容https://www.cnblogs.com/pu369/p/10490668.html,梳理简化一下思路,以便于用最简单的代码来应对无聊人士的要求. 需求主要是:打开手机. ...

  7. 洛谷P1903 [国家集训队]数颜色 / 维护队列 ( 带 修 )

    题意:有两种操作: 1. Q L R代表询问你从第L支画笔到第R支画笔中共有几种不同颜色的画笔. 2. R P Col 把第P支画笔替换为颜色Col. 对每个1操作 输出答案: 带修莫队 模板题 (加 ...

  8. 23333 又是一篇水文章(以下是各种复制来的关于maven转成eclipse项目)

    (转载) 当我们通过模版(比如最简单的maven-archetype-quikstart插件)生成了一个maven的项目结构时,如何将它转换成eclipse支持的java project呢? 1. 定 ...

  9. mac 安装oh-my-zsh的问题

    安装完,如果想切换回mac原来的bash终端,可以: chsh -s /bin/bash 反之,切换回zsh: chsh -s /bin/zsh

  10. 面试题_Spring高级篇

    Spring高级篇 1.什么是 Spring 框架? Spring 框架有哪些主要模块?  Spring 框架是一个为 Java 应用程序的开发提供了综合.广泛的基础性支持的 Java 平台. Spr ...