news 2026/5/19 5:31:20

NAT技术、内网穿透、代理服务

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
NAT技术、内网穿透、代理服务
  • NAT
    • NAPT
    • NAT技术的缺陷
  • 内网穿透
  • 内网打洞
  • 代理服务器
    • 正向代理
    • 反向代理

NAT

NAT(Network Address Translation)是一种网络技术,用于在私有网络和公共网络之间转换IP地址。其主要目的是解决IPv4地址短缺问题,同时增强网络安全性。

之前我们讨论了,IPv4协议中,IP地址数量不充足的问题
NAT技术当前解决IP地址不够用的主要手段,是路由器的一个重要功能

  • NAT能够将私有IP对外通信时转为全局IP.也就是就是一种将私有IP和全局IP 相互转化的技术方法:
  • 很多学校,家庭,公司内部采用每个终端设置私有IP,而在路由器或必要的服务器上设置全局IP;
  • 全局IP要求唯一,但是私有IP不需要;在不同的局域网中出现相同的私有IP是完全不影响的;

回顾IP部分:

我们通过NAT,将私网和路由器的WAN口IP逐渐交换,最终变成一个公网IP,达到和公网IP通信的目的。

NAPT

很容易想到一个问题,我们从私网到公网的通信可以理解,毕竟公网IP唯一。那公网又是怎么找回私网的呢?

这时候NAPT来解决这个问题了.

NAPT(Network Address Port Translation)是 NAT(网络地址转换)的一种扩展形式,不仅转换 IP 地址,还同时转换端口号。它允许多个内网设备共享一个公网 IP 地址,通过不同的端口号区分数据流,广泛应用于家庭和企业网络。

使用IP+port来建立这个关联关系:

在私网在路由器进行NAT时,路由器会根据私有地址的IP和端口号维护一张NAT转化表。
当公网IP找到这个路由器时,就能通过这张表找到私网。

举个例子,客户端A向服务器通信:

源IP地址:10.0.0.10
源端口号:1025
目的IP地址:163.221.120.9
目的端口号:80
首先A通过自己的子网掩码(假设是255.255.255.0)发现目的IP的网络号是163.221.120.0和自己的网络号10.0.0.0不同,那么就不在一个网段。
A会将报文交给路由器,路由器将报文的源IP地址修改为:202.244.174.37,源端口号修改为:1025(这里其实还没变)。

然后服务器最终收到的报头就是:
源IP地址:202.244.174.37
源端口号:1025
目的IP地址:163.221.120.9
目的端口号:80

他自然以为是在和202.244.174.37:1025通信,因此发送数据时,他填写的报头就是:
源IP地址:163.221.120.9
源端口号:80
目的IP地址:202.244.174.37
目的端口号:1025

最终202.244.174.37收到这个报文,然后根据端口号1025和NAT转换表,转成:
源IP地址:163.221.120.9
源端口号:80
目的IP地址:10.0.0.10
目的端口号:1025

这样10.0.0.10就能收到服务器的回信。

要知道端口号在同一台主机是唯一的,但是别的主机可以和你重复。像主机B如果端口号用的也是1025,那不就和主机A冲突了吗。
所以NAT转换表会将主机B的端口号映射成1026,类似于开放地址法。

NAT技术的缺陷

由于NAT依赖这个转换表,所以有诸多限制:

  • 无法从NAT外部向内部服务器建立连接
  • 破坏端到端通信模型NAT设备会修改IP包头中的地址信息,导致通信双方无法直接感知对方的真实IP地址。这种中间干预违背了互联网最初设计的端到端原则,影响某些需要直接寻址的应用(如P2P网络、IP语音等)。
  • 增加网络复杂性NAT需要维护转换表(映射内外网地址和端口),导致设备负载增加。大规模部署时可能出现状态表溢出问题,且故障排查难度更高(需同时检查内外网地址映射关系)。
  • 协议兼容性问题部分应用层协议(如FTP、SIP等)在载荷中嵌入IP地址信息,NAT无法识别和修改这些内容,导致通信失败。虽然ALG(应用层网关)可部分解决,但需针对每种协议单独适配。
  • 安全性隐患NAT可能掩盖内部网络拓扑,但并非真正的安全解决方案。攻击者仍可通过端口扫描或会话劫持突破防御,且NAT日志通常缺乏细粒度审计能力。
  • 延迟与性能瓶颈每个数据包均需经过NAT设备的状态检查与改写,在高流量场景下可能成为性能瓶颈。对于实时性要求高的应用(如在线游戏、视频会议),额外处理延迟可能影响体验。
  • 阻碍新技术部署IPv6的推广因NAT的存在而放缓,部分组织倾向于继续使用NAT而非迁移到IPv6。此外,NAT与SDN、IoT等新技术的兼容性常需额外适配。
  • 无法支持部分网络服务某些需要固定公网IP的服务(如VPN服务器、远程监控)在NAT环境下需依赖复杂配置(如端口转发或UPnP),增加了管理负担。

内网穿透

私网和公网起码还有NAT技术保证通信,私网和私网之间则更加难以通信了。
这里就有内网穿透技术来实现私网和私网的通信。

内网穿透是一种通过公网服务器将外部请求转发到内网设备的技术,解决内网设备因无公网IP而无法直接访问的问题。常用于远程办公、本地开发调试、智能家居控制等场景。

其实非常简单,也是利用了NAT技术。

既然私网和私网不能直接通信,我们可以找一个中间服务器(公网IP)。通过这个服务器互传消息即可。
例如:

这两台私网主机,他们的ip地址都是一样的,自然不能互相直接通信,但是可以通过公网服务器间接通信。

内网打洞

内网打动和内网穿透差不多,还记得我们的出入口路由器维护的NAT转接表吗,虽然刚讲没多久就是了:

总之呢,远端服务器看不到两个私网给他发消息,看到的就是122.77.241.4:20和122.77.241.5:70给他发消息,回消息也是给这两个ip和端口号。
既然如此。
我们两台私网显然能通过远端服务器知道对方出入路由器给他分配的ip和端口号:

这样右边的私网主机就知道了,左边私网主机在出入口路由器上对应的ip和端口号。
那他不久可以拿着这个ip和端口号直接和出入口路由器通信吗:

这样就无需经过远端服务器,相当于在对方的内网打了个洞,因此称为内网打洞。

代理服务器

正向代理

  • 正向代理(ForwardProxy)是一种常见的网络代理方式,它位于客户端和目标服务器之间,代表客户端向目标服务器发送请求。正向代理服务器接收客户端的请求,然后将请求转发给目标服务器,最后将目标服务器的响应返回给客户端。通过这种方式,正向代理可以实现多种功能,如提高访问速度、隐藏客户端身份、实施访问控制等。


工作原理:
• 客户端将请求发送给正向代理服务器。
• 正向代理服务器接收请求,并根据配置进行处理,如缓存查找、内容过滤等。
• 正向代理服务器将处理后的请求转发给目标服务器。
• 目标服务器处理请求,并将响应返回给正向代理服务器。
• 正向代理服务器将响应返回给客户端。

功能特点:
• 缓存功能:正向代理服务器可以缓存经常访问的资源,当客户端再次请求这些资源时,可以直接从缓存中获取,提高访问速度。
• 内容过滤:正向代理可以根据预设的规则对请求或响应进行过滤,如屏蔽广告、阻止恶意网站等。
• 访问控制:通过正向代理,可以实现对特定网站的访问控制,如限制员工在工作时间访问娱乐网站。
• 隐藏客户端身份:正向代理可以隐藏客户端的真实IP地址,保护客户端的隐私。
• 负载均衡:在多个目标服务器之间分配客户端请求,提高系统的可扩展性和可靠性。

正向代理的常见应用场景

  • 企业网络:统一通过代理服务器管理员工上网行为。
  • 爬虫开发:使用代理池避免IP被封禁。
  • 隐私保护:个人通过代理隐藏真实地理位置。

反向代理

反向代理服务器是一种网络架构模式,其作为Web服务器的前置服务器,接收来自客户端的请求,并将这些请求转发给后端服务器,然后将后端服务器的响应返回给客户端。这种架构模式可以提升网站性能、安全性和可维护性等

基本原理:
反向代理服务器位于客户端和Web服务器之间,当客户端发起请求时,它首先会到达反向代理服务器。反向代理服务器会根据配置的规则将请求转发给后端的Web服务器,并将Web服务器的响应返回给客户端。在这个过程中,客户端并不知道实际与哪个Web服务器进行了交互,它只知道与反向代理服务器进行了通信。

反向代理的核心功能:

  • 负载均衡:将请求分发到多个后端服务器,避免单点过载。
  • 安全防护:隐藏后端服务器IP,提供DDoS防护、WAF(Web应用防火墙)等能力。
  • 缓存加速:缓存静态资源,减少后端服务器压力,提升响应速度。
  • SSL终结:处理HTTPS加密/解密,降低后端服务器计算开销。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/15 7:40:03

RK3588中aarch64浮点运算单元启用操作指南

RK3588上如何真正“激活”aarch64的浮点算力?从寄存器到代码的实战解析你有没有遇到过这种情况:在RK3588开发板上跑一个图像滤波或AI推理程序,CPU占用率飙到90%以上,帧率却卡得像幻灯片?你以为是算法太重、模型太大&am…

作者头像 李华
网站建设 2026/5/18 20:39:24

直播停留超1小时的秘密:声网连麦打造沉浸式购物感

年终大促前,团队因后台流量数据陷入沉默:投放预算增加,直播间却留不住人,主播卖力叫卖,评论区冷清。同行低价竞争致用户审美疲劳,团队焦虑不已。我意识到叫卖行不通,用户需真实互动,…

作者头像 李华
网站建设 2026/5/12 17:29:08

STM32驱动2.8寸LCD全攻略

目录 一、引言 二、2.8 寸 LCD 硬件接口和工作原理 2.1 硬件接口 2.2 工作原理 三、LCD 驱动程序设计 3.1 初始化 3.2 数据传输 3.3 显示控制 四、基本图形显示程序模块 4.1 画点 4.2 画线 4.3 画矩形 4.4 画圆 4.5 显示字符 4.6 显示字符串 4.7 显示位图 五、…

作者头像 李华
网站建设 2026/5/13 9:56:20

Conda优先级配置解决清华镜像与其他channel冲突

Conda优先级配置解决清华镜像与其他channel冲突 在深度学习项目的实际开发中,一个看似微小的环境配置问题,往往能导致数小时甚至数天的调试浪费。你是否曾遇到过这样的场景:明明安装了 PyTorch 和 CUDA,torch.cuda.is_available()…

作者头像 李华
网站建设 2026/5/6 16:21:53

XPG网络验证

链接:https://pan.quark.cn/s/57cca3d7c1ea本验证端由炫语言编写 64位版本 采用sqlite3轻量本地数据库 加解密算法都是自写的因为不会逆向可能安全度不是很高 所以大家在接入软件后 还是用vmp加一下壳

作者头像 李华
网站建设 2026/5/18 18:15:56

多模态交互:语音、文本、图像的综合处理

多模态交互:语音、文本、图像的综合处理 关键词:多模态交互、语音处理、文本处理、图像处理、综合处理 摘要:本文聚焦于多模态交互中语音、文本、图像的综合处理技术。首先介绍了多模态交互的背景,包括目的、预期读者、文档结构和相关术语。接着阐述了语音、文本、图像的核…

作者头像 李华