NAT
NAT设备将地址分成本地和全局
本地地址是内部世界的设备所能看到的地址。 
全局地址是外部世界的设备所能看到的地址.
内部本地地址(IL) 
分配给内部设备的地址。这些地址不能被通告给外部网络。 
内部全局地址(IG)
外部网络设备通过这些地址获悉内网设备。 
外部全局地址(OG) 
分配给外部世界的地址。这些地址不能被通告进内部网络。
外部本地地址(OL)
内部网络设备通过这些地址获悉外网设备

示例图


静态 NAT
采用静态地址翻译,需要在两个地址之间手动建立转换条目。
如果主机数量很多,就需要在地址转换表中创建多个静态条目。


动态 NAT
当内部用户想要访问外部网络的资源时,通常采用动态NAT。
采用动态NAT,必须在负责地址转换的设备上定义两个地址集。
一个地址集定义了哪些内部地址可以被转换,另一个地址集定义
了这些地址将被转换成什么样的地址。

 


端口地址转换
静态和动态NAT的一个问题是他们提供的是一对一的转换
如果有5000台内部主机同时访问英特网,在全局地址池中则需要5000
个公有地址与之对应。如果地址池中只有1000个地址,仅仅只有1000
台主机在这一时刻得到转换,而剩下的4000台则无法访问外部网络。
使用相同地址进行转换
采用PAT,所有的主机数据包在经过地址转换设备时都被转换成一个
相同的地址,同时端口号也会被转换,转换后的端口号在转换表中是
唯一的。



配置和验证静态转换
Establishes static translation between an inside local address and an
inside global address

RouterX(config)# ip nat inside source static local-ip global-ip
Marks the interface as connected to the inside
RouterX(config-if)# ip nat inside
Marks the interface as connected to the outside
RouterX(config-if)# ip nat outside
Displays active translations
RouterX# show ip nat translations


 

配置和验证动态转换
Defines a pool of global addresses to be allocated as needed
RouterX(config)# ip nat pool name start-ip end-ip
{netmask netmask | prefix-length prefix-length}
Defines a standard IP ACL permitting those inside local addresses 
that are to be translated

RouterX(config)# access-list access-list-number permit
source [source-wildcard]
Establishes dynamic source translation, specifying the ACL that was 
defined in the previous step

RouterX(config)# ip nat inside source list
access-list-number pool name 
Displays active translations
RouterX# show ip nat translations
 

配置过载
Defines a standard IP ACL that will permit the inside local addresses 
that are to be translated

RouterX(config)# access-list access-list-number permit
source source-wildcard
Establishes dynamic source translation, specifying the ACL that was
defined in the previous step 

RouterX(config)# ip nat inside source list
access-list-number interface interface overload
Displays active translations 
RouterX# show ip nat translations
 

清空 NAT 转换表
Clears all dynamic address translation entries
RouterX# clear ip nat translation *
Clears a simple dynamic translation entry that contains an inside 
translation or both an inside and outside translation 

RouterX# clear ip nat translation inside global-ip local-ip [outside local-ip global-ip]
Clears a simple dynamic translation entry that contains an outside translation 
RouterX# clear ip nat translation outside local-ip global-ip
Clears an extended dynamic translation entry (PAT entry)
RouterX# clear ip nat translation protocol inside global-ip
global-port local-ip local-port [outside local-ip
local-port global-ip global-port

 

NAT 排错
确保:
没有入向ACL拒绝数据包进入NAT路由器。
NAT策略中所调用的ACL已经匹配了所有需要被转换的地址段。
NAT地址池中有足够的地址来满足转换的需求。
在NAT路由器上正确地定义了inside接口和outside接口。
没有发生转换:转换表中没有安装相关条目
show 和 debug
RouterX# debug ip nat
RouterX# show ip nat statistics
 

NAT 排错(续)
确定:
NAT的配置是否已经完成。
NAT转换表中是否已经存在正确的条目。
通过监控NAT进程来判断正确的转换是否发生。
NAT路由器的路由表中是否有正确的路由将数据包从inside接口转
移到outside接口。(NAT在outside接口生根)
公网路由器是否有去往转换后地址的回程路由。