一、NAT概述
1、NAT的概念与意义
NAT(Network Address Translation,网络地址转换)
- 当我们的数据包想要从拥有内网(本地专用网络)地址的设备转入公网设备,或公网想要与内网通信时,可使用NAT方法。
- NAT将会将私网地址与公网地址互相转换。
- 私有IP地址只能在内网使用,禁止出现在公网上,且可以重复利用。
- 公网路由表不会存有前往私网地址的路由条目。
- NAT不仅能解决IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
通常我们内网下的全部设备往往对公网只有一个或几个公网地址,这样一来扫描端口将无法直接获取内网设备的真正地址,只能得到公网映射的地址。
2、IPv4私网地址与公网地址
由于IPv4地址有限,ISO国际标准化组织创立了私有IP地址(专用网络地址)的概念,三个地址块被保留作专用网络。这些地址块在专用网络之外不可路由,专用网络之内的主机也不能直接与公共网络通信。但通过网络地址转换(NAT),使用这些地址的主机可以像拥有共有地址的主机在互联网上通信。
专用网络地址范围:
名字 | 地址范围 | 地址数量 | 有类别的描述 | 最大的CIDR地址块 |
---|---|---|---|---|
24位块 | 10.0.0.0–10.255.255.255 | 16,777,216 | 一个A类 | 10.0.0.0/8 |
20位块 | 172.16.0.0–172.31.255.255 | 1,048,576 | 连续的16个B类 | 172.16.0.0/12 |
16位块 | 192.168.0.0–192.168.255.255 | 65,536 | 连续的256个C类 | 192.168.0.0/16 |
二、NAT原理
1、静态NAT
1对1静态转换,手工配置。
一个内网地址变成了一个公网地址
2、动态NAT
- 多对一,但不能同时通信,动态生成转换条目,动态删除转换条目,默认24小时。
- 只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。动态转换可以使用多个合法外部地址集。
多个内网地址变成了一个公网地址
这也就导致了一个公网地址只能有一台设备使用
适用于公网地址略少于内网地址,且内网设备无需长期保持公网通信的情景
3、PAT
- 端口多路复用(Port address Translation,PAT)
- 实现同时多对一上网,端口地址转换。
- 也分为动态静态,动态使用同一IP将会自动分配一个未占用的公网端口进行伪装。
使用的端口对应端口,只要端口不冲突,可以实现多个内网设备对应一个公网地址
4、ALG
- ALG(Application Level Gateway),即应用程序级网关技术。
- 传统的NAT技术只对IP层和传输层头部进行转换处理,但是一些应用层协议,在协议数据报文中包含了地址信息。为了使得这些应用也能透明地完成NAT转换,NAT使用一种称作ALG的技术,它能对这些应用程序在通信时所包含的地址信息也进行相应的NAT转换。