Stevv's Blog

Do not go gentle into that good night

内网穿透原理

内网穿透(NAT Traversal)是指在局域网内的设备可以通过一些技术手段被外网访问。通常情况下,内网中的设备由于没有公网IP地址,无法直接从外网访问。内网穿透技术解决了这个问题,使得外网用户能够访问位于内网中的服务器或设备。

一、什么是内网穿透

内网,就是在公司或者家庭内部,建立的局域网络或者是办公网络,可以实现多台电脑之间的资源共享,包括设备、资料、数据等。而外网则是通过一个网关与其它的网络系统连接,相对于内网而言,这种网络系统称之为外部网络,常见的就是我们日常使用的互联网。

一般而言,在没有固定公网IP的情况下,外网设备无法直接访问内网设备。而内网穿透技术,顾名思义就是能让外网的设备找到处于内网的设备,从而实现数据通信。

二、内网穿透的原理

内网穿透,又称为NAT穿透。NAT背后的设备,它们的主要特点是 ,可以访问外网,但不能被外网设备有效访问。基于这一特点,NAT穿透技术是让NAT背后的设备,先访问指定的外网服务器,由指定的外网服务器搭建桥梁,打通内、外网设备的访问通道,实现外网设备访问到内网设备。

该技术除了可以访问隐藏在NAT后的设备,同样可以穿透防火墙。这是因为防火墙一般只拦截了入站没有拦截出站,所以也可以让防火墙内的设备对外提供服务。

由于内网设备并不是与外网设备直接相连,所以在安全性上是毋庸置疑的,内网穿透可以说是安全与效率兼得。

内网穿透常见的应用场景:

  1. 远程办公:通过内网穿透技术,员工可以在家访问公司内网资源,如文件服务器、内部网站等。
  2. 物联网设备访问:很多智能家居设备位于内网,通过内网穿透技术,可以实现从外网对这些设备的远程控制。
  3. 游戏服务器:一些个人用户搭建的游戏服务器由于没有公网IP地址,通过内网穿透技术可以让其他玩家从外网访问该服务器。

实现内网穿透的常见方法:

  1. 端口映射(Port Forwarding):在路由器上配置端口映射,将外网的某个端口请求转发到内网设备的相应端口。这种方法需要对路由器进行配置,且对动态IP不太友好。
  2. 反向代理(Reverse Proxy):利用反向代理服务器接受外部请求,并将其转发给内网服务器。常见的反向代理工具有Nginx、Apache等。
  3. VPN(Virtual Private Network):通过VPN连接,外网用户可以像在同一局域网内一样访问内网资源。VPN常用于安全性要求较高的场景。
  4. 第三方内网穿透工具:例如,花生壳、Ngrok等工具,可以在不修改路由器配置的情况下,实现内网设备的外网访问。这些工具通常通过在本地和服务器之间建立隧道,将外网请求转发到内网。

部分信息摘抄于贝锐花生壳:https://service.oray.com/question/5571.html