当前位置:   article > 正文

内网穿透原理和实现思路介绍

内网穿透原理

内网穿透技术,简单理解就是将内网的服务映射到公网中,这样可以随时随地访问。

那什么是内网?什么是公网?先从这个基本概念来简单介绍吧

1. 公网、内网和外网

首先声明,公网、内网和外网这几个概念,不是专业名词,而是根据网络情况,给不同的网络定义个名称,是约定俗成的概念。

内网:也叫做局域网,通常指单一的网络环境。例如你家里的路由器网络、公司网络。网络大小不定,内网中的主机可以相互访问,一旦越出这个局域网访问,就无法访问该网络中的主机。

公网:就是我们可以冲浪【多多少少暴露一点年龄】的互联网,例如QQ、微信、爱奇艺,都是在公网的IP上,只要手机电脑有网络,都可以直接访问。

外网:指国外的网络,例如Github、YouTube,通常是无法访问的,个别能访问的,也是响应速度慢,网络带宽极低。

 

请大家做个遵纪守法好青年,这里撇开外网不谈,这里单独聊聊内网和公网。

一个路由器打开wifi功能,就是一个局域网,手机电脑就能链接。

路由器上接入网线,连接到公网,手机电脑就能访问公网。

那路由器是不是公网地址?网线直接接电脑上,那电脑是不是公网地址?

答案:路由器不是公网地址,运营商网线的那头,也是运营商的局域网,不是直接的公网地址。

区分公网和内网的唯一区别,是IP地址。

因为IPv4的物理限制,IP数量不够分,所以运营商通常是给某市某区的某一片区域划分一个IP

虽然IPv6出来了这么多年,奈何展开慢,不然谁愁IP呀。

 

你现在可以去访问百度,搜索IP,会显示你的IP:xxx.xxx.xxx.xx 某某省某某市某某区 xx运营商

一个公网IP划分成很多个局域网,这技术叫做NAT(网络地址转换)。

因为公网IP因为少,所以很宝贵。

因为家庭用的是内网地址,并且运营商封了很多端口,并且下载不满速上载低速,所以家用带宽年费用很低。

相反,公司带宽啥都有,但是需要各种备案,并且费用那是真的贵。

2. 为什么要内网穿透

抛开场景谈需求都是扯犊子,结合场景来理解内网穿透技术的适用范围。

先了解一下,内网有哪些限制?

  1. IP不固定,一段时间会自动切换。

  2. 不能直接访问,只能在同一个网络中访问。

  3. 敏感端口被封,不能用。例如80 443端口。

  4. 网速不稳定,下载不满速,上载低速。

再说一下,公网的优缺点:

  1. 贵,服务器贵,带宽贵,IP贵。

  2. IP固定,端口全开放。

  3. 带宽稳定,BGP多线路融合,响应速度快。

另外还要补充:

  1. 域名的注册和解析

  2. 大陆地区的域名需要ICP备案

  3. 服务器80端口的HTTP协议,web需要

  4. 服务器443端口的HTTPS协议,需要SSL证书

 

现在结合场景来介绍内网穿透的适用范围:

场景1:开发人员本地调试接口

描述:程序员给项目添加服务,例如短信服务,支付服务,需要在本地写代码、调试和测试。

特点:本地调试、网速要求低、需要HTTP或者HTTPS协议。

需求:必须本地,必须HTTP[S]网址。

场景2:远程办公,在家访问公司内部系统和存储服务

描述:疫情原因需要在家工作,又需要访问公司内部的系统。

特点:远程访问、具体协议不固定、远程时间不固定,可长可短。

特殊:出差的时候,手机上看家里电脑上的资料和视频。

场景3:公网访问局域网的私人存储

描述:家有私人存储,映射到公网,随时随地可以存取文件。

特点:网址或者IP地址都行,需要稳定的通道和传输带宽。

场景4:搭建私人游戏服务器,和伙伴开黑

描述:用自己的电脑做服务器,和小伙伴玩魔兽争霸、我的世界

特定:带宽要求不高,响应速度要求高,只需要IP

想起以前大学玩到宿舍熄灯后偷偷接电玩游戏的时光,想想就激动

 

3. 内网穿透原理和常用方法

既然内网主机不能直接访问,那就在公网弄个服务器。

因为内网主机可以访问公网主机,然后将内网主机和公网主机进行连接,并且保持连接。

如果公网主机接收到的请求,通过链接转发给内网主机即可。

将内网服务进行公网映射,服务通常从端口提供服务,例如:

  • ssh服务,端口好似22

  • web服务,端口是80和443

  • 远程桌面服务,端口是3389,win专业版支持远程桌面

  • redis服务,端口是6379

  • jellyfin视频站,端口是8096

  • 我的世界 游戏服务,端口是25565

如下图:

 

这个就是内网穿透的思路。

有了思路,怎么实现?实现的重点是主机连接并且保持长久连接。

实现的方法有几种,这里都来介绍一下:

  1. 基于TCP的Socket连接

  2. 基于SSH的反向代理

  3. 基于WebSocket连接

【当然除此之外,还有其他方法,不过不太了解,就不列出也不介绍。】

1. 基于TCP的Socket连接

Socket连接是计算机网络课程中的基础编程题,你们肯定都做过,《基于TCP的Socket连接做一个命令行版聊天室》

下图是Socket的通信模型

 

基于TCP的Socket连接,是一种可靠的连接形式,适合将两个主机的端口进行绑定并保持连接。

因为Socket需要客户端和服务端,所以Socket做内网穿透,需要客户端。

既然需要做客户端,通常各服务商的操作,是接入更多的处理,例如智能选择节点等,客户使用就更简单更智能。

优点:智能选择节点,操作完全可控

缺点:安装客户端,响应速度慢

2. 基于SSH的反向代理

SSH,全称Secure SHell,一个安全加密协议。

OpenSSH是遵循协议实现的一个免费开源工具,日常说的SSH,指的是这款软件。

几乎所有的Linux和Macos都自带这款软件,Win10和11都自带,Win7需要借助第三方终端。

SSH支持远程控制和代理,代理有正向代理、反向代理、socks5代理。

反向代理的操作,就是让远端启动端口,把远端端口数据转发到本地。

HostA 上启动一个 PortA 端口,通过 HostB 转发到 HostC:PortC上,在 HostA 上运行:

反向代理:

HostA$ ssh -R HostC:PortC:HostB:PortB  user@HostC

使用SSH做内网穿透,好处是无客户端,基本上每个操作系统都内置了SSH。

优点:安全可靠,无客户端,响应速度快

缺点:单一节点

冲这超酷的无客户端,搞一个

 

3. 基于WebSocket连接

WebSocket 协议诞生于 2008 年,在 2011 年成为国际标准,并且 WebSocket 同样是 HTML 5 规范的组成部分之一。

WebSocket 是一种全新的协议。它应用在了 web page 上,从而使通信双方建立起一个保持在活动状态连接通道,并且属于全双工(双方同时进行双向通信)。

WebSocket和Socket的工作模式差不多,不同点是WebSocket工作在Web网页上。

WebSocket和Socket一样,需要客户端配合服务端工作,所以用户需要配置双端,才可以使用。

我当初做内网云也想到了这个,可惜实践的太少,又不想做客户端,所以放弃了.....

 

4. 内网转发的安全问题

有利肯定就有弊,将本地服务器暴露在公网,也有不好的地方。

第一个:公网主机端口被扫描

网络上到处都有爬虫机器人抓数据和扫描接口【抓肉鸡】。

内网主机由于无法访问,所以你开放端口是没啥安全问题的。

但是部署到公网后,就要注意安全问题。

解决方法:

  • 记录端口访问日志并定时检查

  • 端口伪装,例如22->34423, 3306->42887

  • 端口定时更换,或动态端口号

第二个:DDoS攻击

这个是针对服务器来说的,并非某个端口。

何为DDoS?一般来说是指攻击者利用“肉鸡”对目标网站在较短的时间内发起大量请求,大规模消耗目标网站的主机资源,让它无法正常服务。

自由服务器需要考虑下,解决方法很多,如下:

  • 高防服务器,重点提高服务器的流量防御能力。

  • 黑名单,统一封锁大量或区域IP,可能会关闭了正常流量。

  • DDoS清洗,实时检查请求,发现奇怪请求直接关闭链接。


学习知识点的,到此就可以止步了,下面是内网穿透服务介绍,需要请求继续观看,有给大家准备福利


5. 简单易用的内网穿透服务推荐

 

服务:内网云——基于SSH安全协议的内网穿透服务

官网:内网云SSH

体验隧道:ssh -R 80:127.0.0.1:8000 sh@sh3.neiwangyun.net

体验隧道直接用,无密码无客户端,官网都不用去

命令解析:

  • ssh:ssh远程命令

  • -R:逆向绑定远程端口

  • 80:固定端口

  • 127.0.0.1:固定的本机网络

  • 8000:你需要转发的网络端口,自行更改

  • sh:默认匿名账号,不需要密码验证

  • http://sh3.neiwangyun.net:内网云服务器节点的地址,固定值

隧道持久化:

  1. screen + autossh

  2. supervisor + autossh

福利:隧道兑换码 NEW-USER-ONE-PIECE



 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/554048
推荐阅读
相关标签
  

闽ICP备14008679号