为什么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。

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

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

相关推荐
invicinble4 小时前
对linux形成认识
linux·运维·服务器
小Pawn爷4 小时前
14.VMmare安装ubuntu
linux·运维·ubuntu
半桔5 小时前
【IO多路转接】高并发服务器实战:Reactor 框架与 Epoll 机制的封装与设计逻辑
linux·运维·服务器·c++·io
吠品5 小时前
企业信任基石OV SSL证书
网络协议·https·ssl
HABuo5 小时前
【linux文件系统】磁盘结构&文件系统详谈
linux·运维·服务器·c语言·c++·ubuntu·centos
Howrun7776 小时前
关于Linux服务器的协作问题
linux·运维·服务器
暖馒6 小时前
Modbus应用层协议的深度剖析
网络·网络协议·c#·wpf·智能硬件
小白同学_C6 小时前
Lab3-page tables && MIT6.1810操作系统工程【持续更新】
linux·c/c++·操作系统os
十年磨一剑~7 小时前
Linux程序接收到sigpipe信号崩溃处理
linux
geshifei7 小时前
Sched ext回调3——select_cpu(linux 6.15.7)
linux·ebpf