学习使用 frp 实现内网穿透如远程访问内网虚拟机

本贴最后更新于 1517 天前,其中的信息可能已经天翻地覆

基本原理:

frp 分为服务端与客户端,前者运行在有公网 IP 的服务器上,后者运行在局域网内的设备上,服务端默认会先开放 7000 端口,然后客户端与其相连。

clipboard.png

同时客户端可以开启用于 ssh 的端口,与服务端的某个端口做映射,这样我们在终端访问服务端的端口时,会自动转发到客户端去。

clipboard0e2dd3a8.jpg

除了 RDP 端口之外,frp 还支持 ssh、 web 端口来接收 http 访问。

1.需要的工具

  • 1)云服务器一台(vps)
  • 2)内网服务器一台(windows7,需要可以访问外网,我使用的是 net 模式 )
  • 3)Frp,可以到这里下载。
  • 4)域名一个(可选)

2.内网穿透实现 RDP 连接

首先需要到 GitHub 上去下载 Frp 的相关脚本。GitHub 首页。下载时需要注意的是,服务器端和内网机器端下载的版本要相同,否则不能完成内网穿透。还有就是对应的系统也要正确,由于我的服务器是安装的 CentOS7,处于内网的机器是 windows7,所以服务器就需要下载 Linux 对应的,内网机器上下载 widows7_x32 系统的。

下载完成后就要对 Frps 和 Frpc 进行配置,服务器端用到的是 Frps 和 Frps.ini 这两个文件,客户端用到的是 Frpc 和 Frpc.ini 这两个文件。

3.配置服务器端

Frps.ini 文件最初的配置是

[common]
bind_port = 7000

这行代码就指定了当服务器端启动 Frp 后监听的端口是 7000 端口,也就是内网和服务器进行交互的端口,可以修改为其他的端口。监听端口指定好以后就可以通过指令./frps -c frps.ini 来启动 Frp 服务。

clipboard.png

则说明服务器端已经启动 Frp 服务,监听的端口是 7000。阿里云服务器开启对应端口 7000。

4.配置内网机器上的 Frp 服务

Frpc.ini 的初始配置是

[common]

server_addr = 121.199.55.114

server_port = 7000

[rdp]

type = tcp

local_ip = 127.0.0.1

local_port = 3389

remote_port = 6000

server_addr 是你公网服务器的公网 IP,server_port 为服务器端 Frp 监听的端口,必须与 Frps.ini 中的配置端口一致,否则无法连接到服务器,[rdp]部分是开启 SSH 的相关配置,其中 type 说明该配置的类型为 tcp 协议,local_ip 为你内网机器的 IP,可以填 IP 和可以填 127.0.0.1,local_port 是内网需要监听的端口,RDP 服务需要指定的端口为 3389 端口,remote_port 是你指定的需要映射到公网服务器上的端口,以后进行 ssh 连接就需要用到该端口。(如果内网机器为 linux,使用 ssh 服务时,开启 22 端口,同时需在阿里云安全组开启 6000 端口访问)

执行

./frpc -c frpc.ini

这样我以后就可以通过服务器公网 IP 和 6000 端口来连接我的内网机器了(ssh)。

clipboard.png

内网穿透实现 web 服务(待续。。。)

  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    17 引用 • 7 回帖 • 3 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    315 引用 • 547 回帖
  • 招聘

    哪里都缺人,哪里都不缺人。

    188 引用 • 1057 回帖
  • 996
    13 引用 • 200 回帖 • 2 关注
  • 叶归
    14 引用 • 62 回帖 • 25 关注
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    61 引用 • 29 回帖 • 10 关注
  • 创业

    你比 99% 的人都优秀么?

    81 引用 • 1395 回帖
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    43 引用 • 44 回帖
  • 大数据

    大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    89 引用 • 113 回帖 • 2 关注
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    181 引用 • 400 回帖
  • SMTP

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。

    4 引用 • 18 回帖 • 643 关注
  • 职场

    找到自己的位置,萌新烦恼少。

    127 引用 • 1708 回帖 • 1 关注
  • 单点登录

    单点登录(Single Sign On)是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    9 引用 • 25 回帖 • 3 关注
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    89 引用 • 1251 回帖 • 389 关注
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 94 关注
  • Office

    Office 现已更名为 Microsoft 365. Microsoft 365 将高级 Office 应用(如 Word、Excel 和 PowerPoint)与 1 TB 的 OneDrive 云存储空间、高级安全性等结合在一起,可帮助你在任何设备上完成操作。

    5 引用 • 34 回帖
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    10 引用 • 54 回帖 • 184 关注
  • Unity

    Unity 是由 Unity Technologies 开发的一个让开发者可以轻松创建诸如 2D、3D 多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

    25 引用 • 7 回帖 • 116 关注
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 45 关注
  • OneDrive
    2 引用 • 1 关注
  • MyBatis

    MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。

    173 引用 • 414 回帖 • 357 关注
  • Thymeleaf

    Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 Velocity、 FreeMarker 等,它也可以轻易的与 Spring 等 Web 框架进行集成作为 Web 应用的模板引擎。与其它模板引擎相比,Thymeleaf 最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个 Web 应用。

    11 引用 • 19 回帖 • 398 关注
  • Laravel

    Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。

    19 引用 • 23 回帖 • 745 关注
  • Follow
    4 引用 • 12 回帖 • 10 关注
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    91 引用 • 59 回帖
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖 • 1 关注
  • AngularJS

    AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。

    12 引用 • 50 回帖 • 519 关注
  • 快应用

    快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。

    15 引用 • 127 回帖