【FRP 内网穿透】

news2024/9/22 1:36:27

文章目录

    • 一、什么叫内网穿透
      • 1、内网穿透技术的描述
      • 2、内网穿透技术的工作方式通常包括以下几个步骤
    • 二、用内网穿透解决了什么问题
    • 三、常见的内网穿透解决方式
      • 1、FRP (`开源`)
      • 2、花生壳(`商业`)
      • 3、ZeroTier(`开源` `商业`)
    • 四、内网穿透实战
      • 1、FRP

一、什么叫内网穿透

1、内网穿透技术的描述

  内网穿透是指通过一种技术手段,将内部网络或者本地计算机服务暴露在公网网络上,从而实现公网网络可以访问内部网络或者本地计算机服务的目的。内网穿透通常用于远程办公局域网内部服务访问等场景,可以便捷地实现内外网的互通,提高工作效率。

2、内网穿透技术的工作方式通常包括以下几个步骤

  • ① 内网穿透服务器启动:内网穿透服务器作为一个中介,需要先启动并等待内网穿透客户端连接;
  • ② 内网穿透客户端连接:内网穿透客户端通过连接内网穿透服务器,将内部网络或本地计算机服务注册到内网穿透服务器上,并且将公网用户的请求转发到相应的服务上;
  • ③ 公网用户访问:公网用户通过访问内网穿透服务器的公网地址,将请求发送到内网穿透服务器上;
  • ④ 内网穿透服务器转发请求:内网穿透服务器接收到公网用户的请求后,将请求转发到相应的内部网络或本地计算机服务上;
  • ⑤ 内部网络或本地计算机服务响应:内部网络或本地计算机服务接收到请求后,进行相应的处理,并将响应返回到内网穿透服务器;
  • ⑥ 内网穿透服务器转发响应:内网穿透服务器接收到内部网络或本地计算机服务的响应后,将响应转发给公网用户。

通过以上步骤,公网用户可以直接访问内部网络或本地计算机服务,实现内外网的互通。

二、用内网穿透解决了什么问题

  我们需要知道一个前提:内部网络中的主机可以访问公网网络主机,反之不可以访问;公网网络可以和公网网络 双向访问内部网络中的主机和另一个内部网络中的主机互相无法访问。那么内部网络中的客户机和公网网络中的客户机如何访问另一个内部网络中的服务器呢?这里就需要用到内网穿透技术。

网络释义

三、常见的内网穿透解决方式

1、FRP (开源

  FRP 使用 Go 语言开发,可以支持 Windows、Linux、macOS、ARM 等多平台部署。FRP内网穿透无需多复杂的配置就可以达到比较好的穿透效果,具有较强的扩展性,支持tcp, udp, http, https 协议,并且 Web 服务支持根据域名进行路由转发。此外,FRP 提供了一种新的代理类型 XTCP ,可以在传输大量数据时让流量不经过服务器中转,用于实现点对点穿透,当然,此功能并不能保证在你的网络环境 100% 可用,成功率较低,而且还要求访问端也得运行 FRP 客户端 (目前手机端IOS没有FRP客户端软件)。由于实现条件较多,所以有文件传输需求的朋友但必须用frp的朋友还是建议买带宽稍大一点的 VPS 会比较省心。frp适合有linux基础的个人,且需要自购一个云主机做中转,企业追求稳定可以考虑其他方式。

2、花生壳(商业

  花生壳既是内网穿透软件、端口映射软件。功能比较齐全,比较简单,也是大家比较耳熟了,支持tcp,udp.https.http,socket5应用。流量还是得走传说中的rootnode,所以是限流1G,分的等级比较多商业版、旗舰版、铂金版,需要根据不同需求付费开通相关功能。安装使用门槛低,无需自购云主机做中转,企业商用追求稳定可以选择花生壳付费版本。

3、ZeroTier(开源 商业

  ZeroTier官方解释为将整个世界转变为单个数据中心或云区域,将所有设备,虚拟机和应用程序联接起来,就像在同一个交换机接入所有设备一样。ZeroTier类似VPN,为内网服务器所在NAT网络和客户机所在NAT网络各虚拟出一个VLAN,这样俩个VLAN就可以通过ZeroTier建立连接,在通过UDP打洞技术就可以实现内网服务器和内网客户机直接交互数据。目前ZeroTier提供的点对点穿透技术成功率还是比较高的,可以应付大多数网络,国内长城宽带无法点对点穿透。而zerotier因为是国外的项目,官方提供的中转服务器在国外,国内连接延迟高甚至连不上,所以官方给出了moons概念,可以自己搭建中转服务器。另外ZeroTier 支持 Windows、macOS、Linux 三大主流平台,iOS、Android 两大移动平台,以及 QNAP(威连通)、Synology(群晖)、Western Digital MyCloud NAS(西部数据)三个 NAS 平台,还支持 LEDE 开源路由器项目,支持客户端真的很多。ZeroTier适合有Linux基础的个人,一般用于NAS,为了稳定性需要自购一个云主机做中转,服务器和客户机都需要安装ZeroTier。

商业付费版暂不具体阐述,只能说花钱的就是好,有专业团队维护,且使用简单方便,但要注意由于数据包会流经第三方,因此对数据安全也是一大隐患。那么对于个人有动手能力的用户或者中小型企业小规模使用可以选择开源方式,综合软件配置复杂度、穿透能力等因素,个人觉得目前最好的选择就是FRP用于对流量转发不大的场景,而需要大量udp传输的场景选择ZeroTier。

四、内网穿透实战

1、FRP

可以通过有公网IP的的服务器将内网的主机暴露给互联网,从而实现通过外网能直接访问到内网主机;FRP有服务端和客户端,服务端需要装在有公网IP的服务器上,客户端装在内网主机上。

  • 服务端

服务端配置点我查看

  • 客户端

客户端配置点我查看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2094532.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【js逆向专题】4.python调用JS和扣代码

小节目标: 掌握 python调用js代码方式熟悉 js开放接口进行调用了解 补环境的基本概念掌握 js调试技巧 一. pyexecjs的使用 1. 简介 PyExecJS 是一个 Python 库,用于在 Python 环境中执行 JavaScript 代码。它实际上是对 ExecJS 库的 Python 封装,Exec…

Spring数据类型转化

HTTP请求中携带的queryString和form-data数据&#xff08;文件除外&#xff09;都是是String类型。那么在Controller上怎么可以直接指定数据类型呢。其实是Spring默认帮我们做了类型转化。 内置数据类型转换器介绍 Converter<S, T> String -> Integer GetMapping(&…

c++ 146 三目运算符

const修饰指向的内存你空间不能被修改 c语言中的const冒牌货 符号表c 卸载 undief

AWTK 1.8 发布

1.8 版本更新 1. 细节完善 大量细节完善请参考 最新动态 2. 新增文档 拖入文件事件如何使用 packed image如何自定义资源加载方式如何使用 CMake 构建 AWTK 应用如何将资源编译到应用程序并使用它们关于自定义控件的 offset 的使用注意事项 3. 新增重要特性 使用 svgtiny 解…

斑马线识别检测系统源码分享

斑马线识别检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Visio…

MAC 、 IP ARP

MAC地址 基本概念 MAC地址是以太网的MAC子层所使用的地址——数据链路层 使用点对点信道的数据链路层不需要使用地址 使用广播信道的数据链路层必须使用地址来区分各主机 实现同一个广播信道上的不同主机之间的通信 每个主机都必须要有一个唯一的表示——一个数据链路层地址…

【计算机网络】应用层HTTP协议

我们已经实现过应用层协议&#xff0c;但也要看一看成熟的应用层协议 目录 1 HTTP协议11 URL12 urlencode 和 urldecode13 HTTP 协议请求与响应格式请求格式响应格式 14 界面的基本处理显示基本主页显示图片页面跳转 15 常见header16 状态码161 404举例162 关于3开头的状态码 1…

JavaEE 第20节 用TCP套接字实现简单回显服务器

这里写目录标题 一、API介绍ServerSocketSocket 二、创建简单的回显服务器服务器端客户端 一、API介绍 ServerSocket 构造方法 方法签名方法说明ServerSocket(int port)创建⼀个服务端流套接字Socket&#xff0c;并绑定到指定端⼝ 关于此构造方法的注意事项&#xff1a; Ser…

栈和队列的习题详解(1):有效的括号

前言&#xff1a; 在差不多二十天前小编写过栈和队列的详解&#xff0c;本来我想当时写完那两个结构之后就继续写它们的习题&#xff0c;但是写完那几篇博客以后&#xff0c;我就开始狂玩了十几天&#xff0c;我在上篇博客也说过&#xff0c;导致我在刚开学的时候就忘记了这个习…

mac的使用

mac使用python的问题 对于python的虚拟环境&#xff0c;其实是基于已经安装到本地的python来安装不同的包。&#xff08;之前我的mac上只安装了python3.9.6 &#xff0c;安装的位置为/usr/bin/python3&#xff09;然后我在vscode里怎么找都找不到如何弄一个python3.7.6 的版本…

使用Pywin32和其他库控制Office软件进行自动化操作

目录 引言 Pywin32概述 基本概念 安装与配置 基本使用 Word自动化操作 文档创建与编辑 文档格式化 宏的运行 PowerPoint自动化操作 演示文稿的创建与编辑 幻灯片内容的格式化 高级应用&#xff1a;从Word自动生成PPT 读取Word文档中的内容。 保存生成的PowerPoi…

NetSuite AI 图生代码

去年的ChatGPT热潮期间&#xff0c;我们写过一篇文章说GTP辅助编程的事。 NetSuite GPT的辅助编程实践_如何打开netsuite: html script notes的视图-CSDN博客文章浏览阅读2.2k次&#xff0c;点赞4次&#xff0c;收藏3次。作为GPT综合症的一种表现&#xff0c;我们今朝来探究下…

SOMEIP_ETS_076: Wrong_Method_ID

测试目的&#xff1a; 验证当设备&#xff08;DUT&#xff09;接收到一个包含错误方法ID的SOME/IP请求时&#xff0c;是否能够返回错误消息或忽略该请求。 描述 本测试用例旨在检查DUT在处理一个echoUINT8方法的SOME/IP消息时&#xff0c;如果消息中包含的方法ID不正确&…

NC 寻找峰值

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 描述 给定一个长度…

12:以太网口模块布局

1.以太网口布局重点 ①两对差分线对应百兆网口&#xff0c;4对差分线对应千兆网口 ②以太网口重点是处理2对差分线&#xff0c;且优先走顶层 2.抽头信号要加粗&#xff1a;20mil-30mil

Unity学习路线

目录 一、Unity官方推荐路线二、AI总结的学习路线1、Unity学习路线图&#xff08;文言一心&#xff09;一、基础入门&#xff08;初级&#xff09;二、进阶提升&#xff08;中级&#xff09;三、高级深入&#xff08;高级&#xff09;四、专家级探索 注意事项 2、Unity学习路线…

【例003】利用MATLAB绘制有趣平面图形

题目&#xff1a; 用 ezplot 画出由方程 sin ⁡ ( x 2 m y 2 1000 ) cos ⁡ ( x y ) \sin(x^2\frac{my^2}{1000})\cos(xy) sin(x21000my2​)cos(xy) 确定隐函数的图形。 求解&#xff1a; 我们分别取m为100&#xff0c;1000,10000不同的值&#xff0c;绘制不同情况下的图…

计算机毕业设计选题推荐-公司考勤管理系统-Java/Python项目实战

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

解决银河麒麟中`netstat`命令不可用

解决银河麒麟中netstat命令不可用 1、问题2、解决方案3、 总结 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 1、问题 在银河麒麟服务器操作系统中&#xff0c;netstat命令可能不可用&#xff0c;因为它属于未安装的net-tools软件包。 2…

LabVIEW程序员的护城河是什么

LabVIEW程序员的护城河在于他们深厚的行业经验和对特定领域的深刻理解&#xff0c;这使得他们在工业自动化、测试与测量等领域中难以被轻易取代。然而&#xff0c;随着AI技术的进步&#xff0c;部分基础性和重复性的工作可能会逐渐被AI接管&#xff0c;但LabVIEW程序员的独特技…