浅谈内网穿透

article/2025/9/14 2:45:29

内网穿透,也叫NAT穿透,进行NAT穿透是为了使具有某一个特定源ip地址和源端口号的数据包不被NAT设备屏蔽而正确路由到内网主机。

什么是【内网穿透】?

在当前的互联网环境中,由于IPv4的公网地址数量是有限的,无法给每一台需要接入互联网的设备分配一个公网ip。为了解决这一问题,大量接入网络的设备都只能分配到一个私有ip地址。

在一个公司或家庭内部,可以借助私有ip搭建一个网络用于相互通讯,这个网络被称为内网,位于同一个内网中的设备可以通过私有ip直接相互访问。而在互联网中,可以被直接访问的网站都需要拥有公网ip,当内网中的设备需要访问这些网站时,例如登录微信,百度查资料等等,需要借助网络地址转换技术(NAT)将私有ip转换为公有ip。

如此一来,虽然解决了公网ip不足的问题,但是位于内网中的设备无法被外网中的设备直接访问,同样,位于不同内网中的设备也无法直接相互访问。“内网穿透”就是为了能让两个位于不同内网中的设备可以直接通信的技术。

关于【NAT】?

“内网穿透”又被称为“NAT穿透”,想要了解内网穿透,要先明白NAT的原理。目前使用最多的NAT方式为NAPT(网络地址端口转换)。下文中的NAT皆指“NAPT”。

用一个简化的模型来说明NAPT的实现机制:

服务器Server1 :3.3.3.3

服务器Server1 :4.4.4.4

NAT网关:5.5.5.5、192.168.0.1

内网设备PC1:192.168.0.5

“3.3.3.3”、“4.4.4.4”、“5.5.5.5”都是公网ip可以在互联网中相互访问。

  • 当PC1的10000端口访问Server1的111端口时,PC1发出的数据包中ip和端口情况为192.168.0.5:10000 => 3.3.3.3:100;

  • 当数据包到达NAT网关后,NAT网关发出的数据包为5.5.5.5:20000 => 3.3.3.3:100;

  • Server1接收到NAT网关发来的数据包后,发出响应包3.3.3.3:100 => 5.5.5.5:20000;

  • NAT网关接收到响应包后,通过查询NAT表,向PC1发出3.3.3.3:100 => 192.168.0.5:10000;

以上便是192.168.0.5:10000和3.3.3.3:100之间借助NAT通信的过程。

根据对ip和端口的限制机制,NAT可以分为四类,“全锥形NAT”、“地址受限锥形NAT”、“端口受限锥形NAT”和“对称NAT”。

  • 全锥形NAT

在以上的场景中,192.168.0.5:10000和5.5.5.5:20000建立了映射关系,当公网上的其他设备访问5.5.5.5:20000时,都会被NAT网关转发到PC1中。

例如,Server2主动向NAT网关发出数据包4.4.4.4:101 => 5.5.5.5:20000,会被NAT网关转换为4.4.4.4:101 => 192.168.0.5:10000发送给PC1。这种NAT被称为“全锥形NAT”。

  • 地址受限锥形NAT

如果在全锥形NAT的基础上增加限制条件,可以实现地址受限锥形NAT。

在以上的场景中,由于192.168.0.5:10000和3.3.3.3:100之间的通信,192.168.0.5:10000和5.5.5.5:20000建立了映射关系,但是只允许Server1可以借助这条映射和192.168.0.5:10000通信,Server2发来的数据包4.4.4.4:101 => 5.5.5.5:20000会被丢弃。

  • 端口受限锥形NAT

在地址受限锥形NAT的基础上,再增加对端口的限制,就是端口受限锥形NAT。

例如,仅允许Server1的100端口可以借助192.168.0.5:10000和5.5.5.5:20000之间的映射关系和192.168.0.5:10000通信。Server1其他端口发出的数据包3.3.3.3:101 => 5.5.5.5:20000会被NAT网关丢弃。

注意:在受限锥形NAT中,禁止被限制对象主动和内网通信。例如Server2无法主动发送数据包到PC1的10000端口,但是PC1向Server2主动发起通信请求不受影响。

  • 对称NAT

在受限锥形NAT中,内网同一ip的同一端口和外部通信时,建立的映射关系是一对一的。

例如,192.168.0.5:10000和Server1、Server2的不同端口通信时,都会被转换成3.3.3.3:20000。而在对称NAT中,内网同一ip的同一端口和外部通信时,建立的映射关系是一对多的。

例如,192.168.0.5:10000和3.3.3.3:100通信时,会被转换为3.3.3.3:20000,和3.3.3.3:101通信时,会被转换为3.3.3.3:20001。

关于【内网穿透技术】

所谓“内网穿透”就是让两个在不同内网中的设备可以直接通信。

同样用一个简化的模型来说明:

服务器Server1 :3.3.3.3

服务器Server1 :4.4.4.4

NAT网关1:5.5.5.5、192.168.0.1

内网设备PC1:192.168.0.5

NAT网关2:6.6.6.6、192.168.1.1

内网设备PC2:192.168.1.7

辅助服务器Server3 : 7.7.7.7

需要借助内网穿透技术实现PC1和PC2之间的通信。

方案一:

在全锥形网络中,实现内网穿透最容易。需要相互通信的内网设备分别和辅助服务器建立连接,辅助服务器便可以获取每个设备和各自NAT网关的映射关系。

辅助服务器将映射关系分发给每个内网设备,内网设备便可以直接利用这些映射关系和其他内网的设备通信。

例如,PC2希望和PC1的10000端口通信,需经历以下步骤:

a. PC1使用10000端口和Server3建立连接;

b. Server3收到PC1的连接请求,获得PC1和NAT网关1之间的映射关系为192.168.0.5:10000 <=> 5.5.5.5:20000;

c. PC2和Server3建立连接,接收Server3发来的映射信息;

d. PC2直接向5.5.5.5:20000发起连接请求;

e. PC1同意PC2发来的连接请求,连接建立完毕。

方案二:

方案一仅能在全锥形网络中生效,如果NAT网关1为受限锥形NAT网关,PC2发来的连接请求会被直接丢弃。在这种情景下,需要采取额外的措施使PC1和PC2之间能够通信。

假设PC2希望和PC1的10000端口通信,但是二者皆通过端口受限锥形NAT和互联网通信:

a. PC1使用10000端口和Server3建立连接;

b. PC2使用10000端口和Server3建立连接;

c. Server3收到连接请求,获得关系192.168.0.5:10000 <=> 5.5.5.5:20000、192.168.1.6:10000 <=> 6.6.6.6:20000;

d. PC1通过10000端口向6.6.6.6:20000发起连接请求。PC1的连接请求会被NAT网关2丢弃,但是在NAT网关1中,PC1和6.6.6.6:20000之间的通信已经被允许。;

e. PC2直接向5.5.5.5:20000发起连接请求;

f. 请求顺利到达PC1,PC1同意PC2发来的连接请求,连接建立完毕。

在对称NAT中,由于和不同地址建立的映射端口不同,无法实现内网穿透。


http://chatgpt.dhexx.cn/article/VkpTsjic.shtml

相关文章

内网穿透什么意思?内网穿透基础知识原理内网穿透服务器搭建可以干嘛服务器端口映射无需公网IP教程方法

内网穿透什么意思&#xff1f;内网穿透基础知识原理内网穿透服务器搭建可以干嘛服务器端口映射无需公网IP教程方法 什么是内网&#xff08;今天说点大家都能听得懂的&#xff01;&#xff01;&#xff01;&#xff09; 通常情况下&#xff0c;内网 可以简单的理解为路由器创建…

内网穿透的作用 免费内网穿透有哪些 可以用来干什么

相信有很多人都会被一个问题所困惑&#xff0c;我们在日常办公和生活中&#xff1b;一些内网访问的应用&#xff0c;如何让实现在任意外网进行链接访问呢&#xff1f;有人说可以用内网穿透 内网穿透具体是什么&#xff0c;原理是什么&#xff1b;今天我们用网云穿来做演示。内…

重启路由器可以换IP吗

想换IP有哪些方法可以实现&#xff1f;有时候IP被限制了&#xff0c;怎么换IP访问&#xff0c;重启路由器可以换IP吗&#xff1f;一般家庭的基于PPPOE拨号方式上网的,使用的是动态IP&#xff0c;可以更换IP&#xff0c;下面一起去看看如何重启路由器&#xff1a; 1、断电源重启…

矩阵切换器有哪些控制方式,有什么好处

矩阵切换器有哪些控制方式呢&#xff1f;矩阵切换器&#xff0c;可以使用网络控制&#xff0c;app控制&#xff0c;web等方式控制。 一、网络控制是指设备加一个网络模块使得在一个局域网内电脑进行控制。 二、app控制是指设备加一个app控制模块&#xff0c;使得手机&#xf…

vmware 静态ip上网 防止切换网络换ip

问题&#xff1a;因为电脑有的时候用公司wifi、手机热点、或家里的wifi进行上网。但要保证vmware虚拟机固定ip且能访问网络。 一、安装好虚拟后在菜单栏选择编辑→ 虚拟网络编辑器&#xff0c;打开虚拟网络编辑器对话框&#xff0c;选择Vmnet1 Net网络连接方式&#xff0c;随意…

手机如何远程连接服务器

所有VPS均同时支持MSTSC、VNC和手机远程控制&#xff0c;本篇为手机连接教程 0、首先下载安装APP微软的RD Celient 1、运行RD Celient &#xff0c;点击右上角的加号 2、然后在谈出的窗口选择Desktop来添加远程服务器地址 3、Host name or ip address这里填远程服务器的连接地址…

SOME/IP与SOME/IP SD规范介绍

此文标准来源于AUTOSAR_PRS_SOMEIPProtocol.pdf(R21-11)和AUTOSAR_PRS_SOMEIPServiceDiscoveryProtocol.pdf(R21-11)&#xff1b; 1. 前言 AOTOSAR – AUTomotive Open System ARchitecture&#xff0c;汽车开发系统体系结构&#xff1b; SOME/IP – Scalable service-Orient…

什么是IP转换器?我们看看IP转换器的原理与应用及了解它的一些功能和用途

海外用户访问国内网站看视频/下东西/玩游戏 &#xff1b; 代理电脑或者手机IP地址&#xff0c;显示不同地区和城市IP。 国内用户玩游戏&#xff0c;电信 联通 网通 互转 降低延迟,加快速度。 完善的加密技术&#xff0c;全面保护信息安全 特性&#xff1a;安全 稳定 高速。 可以…

Selenium小技巧 修改ip+ua 改变窗口大小 手机模式 加载本地缓存

修改ip 可以通过代理api取到proxy&#xff0c;实现切换全国ip proxy 0.0.0.0:6666# 设置代理chrome_options.add_argument(--proxy-server%s % proxy)# 注意options的参数用之前定义的chrome_optionschrome webdriver.Chrome(optionschrome_options)chrome.get(https://www…

网络基础之网络协议,OSI,TCP/IP介绍

文章目录 1 概述1.1 网络协议1.2 OSI模型1.2.1 应用层1.2.2 表示层1.2.3 会话层1.2.4 传输层1.2.5 网络层1.2.6 数据链路层1.2.7 物理层 1.3 TCP/IP参考模型1.3.1 网络接入层1.3.2 网络层1.3.2.1 IP1.3.2.2 ICMP1.3.2.3 ARP 1.3.3 传输层1.3.4 应用层1.3.4.1 HTTP1.3.4.2 POP31…

GPS、基站、IP定位的区别及其应用方向

在手机、电脑等电子设备与我们如影随形的今天&#xff0c;有多少种定位方式可以了解到“我们在哪”&#xff0c;谁拥有了解我们位置的权限&#xff0c;以及不同定位方式的区别到底是什么&#xff1f; 相信不少人有这样的疑问&#xff1a;公安、消防、医院部门是怎么准确定位嫌…

Linux 虚拟机配置静态IP地址

配置环境 虚拟机&#xff1a;CentOS 7 VMware 12.1.0 配置步骤 关闭虚拟机&#xff0c;查看网关 查看网关IP地址&#xff0c;“编辑”->“虚拟网络编辑器” 选择NAT设置 可以看到网关的IP地址为&#xff1a;192.168.243.2 开启虚拟机 查看ip地址时&#xff0c;我们看…

用计算机可以定位到手机吗,如何使用计算机定位手机的位置?

如何使用计算机定位手机的位置&#xff1f; 现在&#xff0c;移动电话已经成为人们随身携带的“手持计算机”&#xff0c;并且移动电话的使用更加方便和多样化. 廉价智能手机的兴起激起了一股热情&#xff0c;人们的需求也在增长&#xff0c;用户更倾向于高价位&#xff0c;高价…

IP-ECN简介

IP-ECN简介 该文部分转载&#xff0c;部分自我翻译rfc3168标准。 一、背景 当中间路由器队列过载导致丢包后&#xff0c;所有主机的TCP连接并不立即感知到&#xff0c;而是在定时器超时之后&#xff0c;由于没有收到ACK&#xff0c;开始重传报文。而这个定时器的时间相对较长…

如何更改IP地址使用代理ip软件

如果您想更改家用计算机上的 IP 地址&#xff0c;有几种方法可能适合您——有些简单&#xff0c;有些则不然。在尝试下面描述的更复杂/技术方法之前&#xff0c;您可以尝试一些非常简单的方法。   只需关闭或拔下调制解调器约五分钟。(您不必关闭计算机。)在许多情况下&…

网络基础 ------- UDP、TCP及IP协议详解

目录 UDP协议 1.UDP报文结构 报文长度 校验和 TCP协议 1.TCP报文结构 2.TCP的可靠传输机制 1.确认应答 2.超时重传 3.连接管理 4.滑动窗口 5.流量控制 6.拥塞控制 7.延时应答 8.捎带应答 9.粘包问题 10.TCP异常处理 小结 TCP VS UDP IP协议 1. ip报头结构 …

手把手教你android手机怎么修改自己的ip地址方法

第一步&#xff1a;网上搜索软件名称深度IP转换器 下载正版软件并注册账号密码登录 第二步&#xff1a;打开软件连接国内任何城市IP根据自己需要连接自己需要的IP 第三步&#xff1a;连接成功无限其他任何设置&#xff0c;IP就变成那个城市了、 4.此时我们打开百度查下IP看看是…

VMware设置静态IP

系统版本:Centos7 VMware刚安装完Centos7的镜像需要设置成静态IP,防止宿主机在切换公司网和手机网时虚拟机IP变动,特此记录 网络连接模式设置为自定义 VMnet8 虚拟网络编辑器设置 修改网络配置 执行 /etc/sysconfig/network-scripts/ifcfg-ens33 修改配置信息 IPADDR就是要…

android绑定两个ip,安卓手机模拟器如何多开切换IP防封号的最新方法介绍

原标题&#xff1a;安卓手机模拟器如何多开切换IP防封号的最新方法介绍 很多手游玩家、工作室和网吧用户想在电脑上登手机游戏&#xff0c;其实在电脑上装一个手机模拟器就可以了&#xff0c; 而且可以改不同的IP地址&#xff0c;实现游戏无限多开&#xff0c;今天小编就来为大…

ip地址切换器如何切换电脑或者手机上网ip使用教程

简述:ET代理是一款高效率的换ip软件,IP覆盖国内200多个城市,每天更新60多万动态IP,静态ip高达1400多条,支持动态线路和静态线路使用,软件无需设置千万ip任意切换。软件支持电脑,安卓手机,苹果手机等设备使用,支持l2tp/pptp连接。 ET代理换IP软件如何使用 一、下载ET…