任何公网路由器不得拥有私网路由。公网地址全球唯一,而私有地址绝对不可能保证唯一性,首先假设公网路由器能有私网路由,当园区网内网PC使用私有地址192.168.1.100访问公网服务器,报文到达服务器之后服务器给该PC回包时,由于网络中192.168.1.100地址具有不唯一性,而路由器有各种各样的选路原则,回包路径不一定能到达发包PC,导致通信失败。抛开一切不说,光是私网路由的不唯一性这一条就使得私网地址不能在公网上路由,除非做了各种×××。


园区网外网接口使用从ISP处租用的IP专线获得的公网固定IP地址(可在Internet上路由),内网使用私网地址块,通过园区网出口的公网IP能访问到公网一切开放的资源。有一种技术,当内网PC发包给公网时,园区网网关路由器收到这个报文之后会将源地址字段中PC的IP地址(私网IP)替换为可在公网上路由的公网地址,并且路由器将记录这个转换,当收到公网的回包时查表将地址再转换回去,这个技术就是NAT,至今仍在广泛部署使用,只不过是NAT的升级版--PAT。


A访问B,NAT路由器将A的私有IP地址192.168.2.23转换为公网可路由的IP地址203.10.5.23,当B回包给A时,B的数据包目的IP地址为203.10.5.23,NAT路由器接收到该回包,查NAT转换表,将203.10.5.23转换成设备A的真实IP地址192.168.2.23。由此可以看出,除了NAT路由器外,对于其他的设备来说NAT操作是完全透明的,AB端设备感知不到NAT的存在。

NAT基础_第1张图片

一般只做内网访问外网的NAT,在某些场合下,可以做双向NAT来进行双向地址隐藏.

Cisco将NAT网络划分为inside和outside两部分,内部inside网络通常是企业内网,外部outside通常是公共Internet或ISP,同时将地址划分为本地local和全局global。其中本地地址是本地设备能看得见的地址,外部全局地址是一个相对概念,相对本地来说外部设备能看得见的地址。


综上,地址分类:

IL,Inside Local,内部本地地址:分配给内部设备的地址,这些地址不会被宣告到网络中,是内网发包设备的真实IP,上图中192.168.2.23;

IG,Inside Global,内部全局地址:内部设备被外部网络所知晓的地址,是个转换后的地址,上图中203.10.5.23。所有来自外部设备或相应内部设备的数据包的目的地址都是IG地址;

OG,Outside Global,外部全局地址:要访问的公网IP,上图中B端的真实IP192.31.7.130,本例使用两个私有地址段(无公网);

OL,Outside Local,外部本地地址外部设备被内部设备所知晓的地址,在上图例子中也是外部全局地址192.168.7.130,若部署了双向 NAT,这个OL地址就是A短的数据包1中的目的地址。

在NAT映射中,IG和IL映射,OG和和OL映射(如果部署双向NAT)

NAT地址表可以是动态表项也可以是静态表项,通过show ip nat translation可查看NAT转换表项。


静态NAT:一对一的转换;

动态NAT:多对多的转换,需要把握好刷新计时器和NAT地址池大小之间的关系;


端口地址转换,PAT也称为NPAT网络地址和端口转换、IP伪装、负载。根据TCP会话是IP地址和端口这个二元组的套接字的包交换原理。