为什么Linux需要3种NAT地址转换?一探究竟

介绍

NAT(Network Address Translator,网络地址转换)是用于在本地网络中使用私有地址,在连接互联网时转而使用全局 IP 地址的技术。NAT实际上是为解决IPv4地址短缺而开发的技术。

优点

● 节省合法的公有 IP 地址(最大的优点)

● 当网络发生变化时,避免重新编址。

● 对外隐藏内部地址,增加网络安全性

缺点

● 无法从 NAT 的外部向内部服务器建立连接(NAT穿越)

● 转换表的生成和转换操作都会产生一定的开销

● 通信过程中一旦 NAT 遇到异常需重新启动时,所有的 TCP 连接都将被重置。即使备置两台 NAT 做容灾备份,TCP 连接还是会被断开。

静态NAT

● 定义‌:是指内部本地地址一对一转换成内部全局地址,相当内部本地的每一台PC都绑定了一个公网地址(或全局地址)。一般用于在内网中对外提供服务的服务器。

● ‌特点‌:每个内部本地地址与一个全局地址绑定,确保外部用户可以直接访问内部服务器的IP地址。缺点是需要独占宝贵的合法IP地址,即使这些地址当前未被使用,也不能用于其他转换‌。

动态NAT

说明:是指将内部网络的私有IP地址转换为公用IP地址时,IP地址是不确定的,是随机的,所有被授权访问上互联网的私有IP地址可随机转换为所定义的IP地址。

特点‌:动态转换可以重复使用有限的公网IP地址,通过指定哪些内部地址可以进行转换以及使用哪些合法地址作为外部地址,实现地址的动态分配‌。

网络地址端口转换NAPT

● 介绍:网络地址端口转换(NAPT)将多个内部本地地址映射到同一个外部IP地址的不同端口上。这是最常用的NAT方式,特别是在家庭网关和中小企业网络中。

● ‌特点‌:PAT通过使用NAT设备选定的端口号,将多个内部连接复用一个公网IP地址,从而有效地解决了IP地址不足的问题。它包括两种转换方式:源NAT(SNAT)和目的NAT(DNAT)‌

SNAT 源地址转换

修改数据包的源地址。源NAT改变第一个数据包的来源地址,它永远会在数据包发送到网络之前完成,数据包伪装就是一具SNAT的例子。

DNAT 目的地址转换

修改数据包的目的地址。DNAT刚好与SNAT相反,它是改变第一个数据携带的目的地址,如平衡负载、端口转发和透明代理就是属于DNAT。

技术文章持续更新,请大家多多关注呀~~

搜索微信公众号,关注我【 帽儿山的枪手 】

相关推荐
GitLqr8 小时前
玩转 WebSocket:从原理到 Flutter 实战
websocket·网络协议·flutter
天天进步20158 小时前
UI-TARS 源码解析 #10:parse_action 源码解析:如何用 AST 安全解析模型生成的函数调用?
安全·ui
大耳朵-小飞象10 小时前
电力安全运维的智能密码:BACS如何破解设备全生命周期管理难题,让电网安全“看得见、管得住”?
运维·安全·智慧城市·能耗系统·楼宇智控·未来生活
微硬创新10 小时前
耐达讯自动化 CC-Link IE 转 PROFINET网关在污水厂智能化升级实战
人工智能·物联网·网络协议·自动化·信息与通信
HLC++11 小时前
Linux的进程间通信
android·linux·服务器
华清远见IT开放实验室12 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设
wuhanzhanhui12 小时前
视觉革命与主动安全:2026武汉汽车电子展会定档,看芯片如何定义驾驶
安全·汽车
王维同学14 小时前
[原创][Windows C++]LSA 认证、安全与通知包的注册表枚举
c++·windows·安全
groundhappy15 小时前
idalib安装和codex ida-mcp配置
linux·开发语言·python
TlSfoward15 小时前
抓包代理链路下的 TLS 指纹变化分析 TLSFOWARD抓包工具
数据库·爬虫·网络协议·搜索引擎·php