NAT


NAT(Network Address Translation)
术语:
内部本地:源端未NAT的私有IP
内部全局:源端NAT后的公有IP
外部全局:目标端NAT的公有IP
外部本地:目标端实际的私有IP

Static NAT: 将私有IP地址的主机映射到其单独的公有IP中,即实现外网与内网的一对一IP映射。
命令:
(config)#ip nat  inside         source          static 10.1.1.1 202.106.224.48
(outside) (destination)
建立静态NAT INSIDE表,把源10.1.1.1转换为202.106.224.48,即把内部的源IP映射到外部IP。
ip nat inside source
inside口的源IP进行转换(本地-全局),以及outside口的目的IP进行转换(全局-本地)。
ip nat outside des
将outside的目的IP进行转换,有待试验。

也可以使用outside和destination,则后跟目标地址然后是源地址,也就是把外部的目标IP映射为内部IP, 但仅对TCP有效,PING无效。
(config-inf)#ip nat inside
(outside)
设定此接口为内部或外部接口。
在路由器中分别选定出口和入口接口,入口为内网IP与路由器的接口,出口为路由器与外网的接口。
NAT表没有名字,只有INSIDE和OUTSIDE两个表,所以在接口应用的时候只需告知使用的是INSIDE表还是OUTSIDE表即可。

Dynamic NAT: 就内网IP对应的外网公有IP设立一个地址池,使得内网IP随机的被映射为地址池中的IP连接到互联网。
命令:
(config)#access-list 1 permit 10.1.1.1 0.0.0.255
建立一个ACL表,内容是10.1.1.1-255的IP
(config)#ip nat pool name 202.106.224.1 202.106.224.254 netmask 255.255.255.0
建立叫NAME的动态NAT地址池,范围是202.106.224.1-254。
(config)#ip nat inside source list 1 pool name
建立静态NAT INSIDE表,把ACL 1中的地址转换到动态NAT地址池NAME中罗列的IP。
(config-inf)#ip nat inside
也就是说实际应用中是通过建立ACL产生有效地址范围,再建立NAT地址池,然后将两者放入静态NAT表中实现的。这时ACL的作用类似一种RANGE。
建立的pool可以是本地地址池,也可以是全局地址池,根据用在source还是destination区分。

PAT(Port Address Translation)
将内网全部IP映射到一个外网公有IP上,外网认知内网的唯一方法是通过不同的协议PORT号。
命令:
基本命令与DNAT相同,只是在建立NAT表时需要 ip nat inside source list 1 pool name overload.
且 name 池中的地址范围只能是一个IP地址,因为这个是将内网IP(LIST1中的)映射到同一个外网公有IP的不同端口上,所以此目标地址池NAME中只能有一个IP地址。
对于PAT让NAME池有地址范围的意义仅在于当传输TCP端口有冲突是才会使用范围中的次要地址作为公网IP映射。

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s