NAT基础原理
1. 定义
NAT是一种地址转换技术,它可以将IP数据报文头中的IP地址转换为另一个IP地址,并通过转换端口号达到地址重用的目的。NAT作为一种缓解IPv4公网地址枯竭的过渡技术,由于实现简单,得到了广泛应用。
2. 应用场景

- 企业或家庭所使用的网络为私有网络,使用的地址为私有地址;运营商维护的网络为公共网络,使用的是公有地址。私有地址不能在公网中路由
- NAT一般部署在联机内网和外网的网关设备上
| 地址类型 | 备注 |
|---|---|
| 私网地址 | 用于internet,向ISP付费申请,全球唯一 |
| 私网地址 | 用于企业内部网络,不能用于intenet,免费使用,可以重复(不同局域网) |
| 地址转换 | 使用私网地址方位internet必须转换为公网地址,该技术为NAT |

3. NAT地址分类
a) 静态NAT
- 静态NAT实现了私有地址和公有地址的一对一映射
- 一个公网IP只会分配给唯一且固定的内网主机

b) 动态NAT
- 动态NAT基于地址池来实现私有地址和公有地址的转换
- 动态NAT地址池中的地址用尽后,只能等待被占用的公网地址被释放后,其他主机才能使用它来访问公网

动态NAT和PAT配置

c) NAPT
- NAPT允许多个内部地址映射到同一个公有地址的不同端口
- NAPT(Network Address Port Translation):也称为NAT-P或PAT,网络地址端口转换,允许将多个私网地址映射到同一个公网地址的不同端口
- 通常适用于大型企业网络(申请多个固定的公网地址)
、
工作流程
- 路由器收到主机A/B发送的报文后查找NAT策略,发现需要对报文进行地址转换
- 路由器根据源IP地址 Hash算法从NAT地址池中选择一个公网IP地址,替换报文的源IP地址,同时使用新的端口号替换报文的端口号,并建立会话表,然后将报文发送至internet
- 路由器收到 web server响应主机C的报文后,通过查找会话表匹配到步骤2中建立的表项,将报文的目的地址替换为主机的IP地址,将报文的端口号替换为原始端口号,然后将报文发送至内网
d) Easy IP
- Easy IP适用于小规模局域网中的主机访问internet的场景
- 如:家庭,小型网吧,小型办公室中,这些地方内部主机不多,出接口可以通过拨号的方式获取一个临时公网IP地址
- Easy IP允许将多个内部地址映射到网关出接口地址上的不同端口

e) NAT服务器

- 通过配置NAT服务,可以让外网用户访问内网服务器
- NAT具有“屏蔽”内部主机的作用,但有时候内网需要向外网提供服务
- 当外网用户访问内网服务器时,NAT server 通过事先配置好的“公网IP地址+端口号”与“私网IP地址+端口号”间的映射关系,将服务器的“公网IP地址+端口号”根据映射关系替换对应的“私网IP地址+端口号”
工作流程
- 路由器设备收到主机C访问200.10.10.1:80的首个报文后,查找并匹配到server-map表项,将报文的目的IP地址转换为私网IP 192.168.1.100:80
- 路由器建立会话表,然后将报文发送至内网
- 路由器收到server响应Host的报文后,通过查找会话表匹配到步骤2中建立的表项,将报文的源地址替换为192.168.1.100:80,并将报文转发至内网
- 后续主机C继续发送给server的报文,路由器都会直接根据会话表现的记录对其进行转换,而不会再去查找server-map表项
常用配置命令:


