分类: 系统运维
2011-10-20 10:24:27
多数情况下使用NAT的目的就是为了使内部网络中的多个用户能使用一个注册IP地址访问外部网络,所以仅需要配置内部地址NAT转换。顾名思义,内部地址NAT转换就只是对内部地址进行转换,这时只需要定义内部本地址与内部本局地址的映射。
图5-8是一个简单的NAT转换示例,现要实现以下目的:当NAT路由器的内部网络s0接口上接收到一个源地址为10.10.10.1内部本地地址,目的地址为外部本地地址171.16.68.1的数据包时,在转发到s1接口时,原来数据包源地址的内部本地地址10.10.10.1被转换成内部全局地址171.16.68.5,但目的地址不变,然后继续发送。在这个过程中,所进行的只是数据包中源地址的转换,由内部本地地址向内部全局地址转换,是内部地址之间的转换。
相反,当在NAT路由器的外部网络接口s1上接收源地址为172.16.68.1外部本地地址,目的地址为内部全局地址172.16.68.5的外部服务器响应数据包时,目的地址将被转换成10.10.10.1这个内部本地地址,然后继续发送。在这个过程中,所进行的却只是数据包中目的地址的转换,由内部全局地址向内部本地地址转换,也是内部地址之间的转换。
下面是以上示例的配置步骤,详细的NAT配置方法将在本章后面具体介绍。
图5-8 简单的NAT转换示例
(1)使用“ip nat inside source static”全局配置命令创建从内网到外网的静态NAT IP地址转换。也就是定义内部本地地址和内部全局地址,使它们之间形成一一对应的映射关系。
Router(config)#ip nat inside source static 10.10.10.1 171.16.68.5 # 在内部本地地址10.10.10.1与内部全局地址171.16.68.5之间建立静态NAT转换关系,使内部网络主机知道要以171.16.68.5这个地址到达外部网络主机
(2)使用以下两条语句配置路由器的NAT内部接口s0。指定s0作为NAT的内部接口。
Router(config)#interface s0 # 进入s0串口配置模式
Router(config-if)#ip nat inside # 把s0串口指定为内部网络接口
(3)使用以下两条语句配置路由器的NAT外部接口s1。指定s1作为NAT的外部接口。
Router(config)#interface s1 # 进入s1串口配置模式
Router(config-if)#ip nat outside # 把s1串口指定为外部网络接口
(4)使用show ip nat translations特权模式命令验证上述进行的路由器NAT配置。输出信息中显示以上配置的NAT条目配置为:内部本地地址为10.10.10.1,内部全局地址为171.16.68.5。这与上面的配置是一致的,证明配置是成功的。
Router#show ip nat translations # 在特权模式下显示当前路由器NAT配置
Pro Inside global Inside local Outside local Outside global
--- 171.16.68.5 10.10.10.1 --- ---
此时如果对外网络目的主机进行ping操作,此时就会有有数据包从内部网络转发到外部网络后,再在路由器特权模式下执行“show ip nat translations”命令,显示的NAT信息如下。多了一条icmp协议类型数据包显示,但因为此时没有配置外部网络的本地地址和全局地址,所以显示的外部本地和全局地址都是一样的,都是ping操作目的主机地址171.16.68.1。
Router#show ip nat translations
Pro Inside global Inside local Outside local Outside global
icmp 171.16.68.5:15 10.10.10.1:15 171.16.68.1:15 171.16.68.1:15
--- 171.16.68.5 10.10.10.1 --- ---
通过以上配置后,从内部网络发往外部网络的数据包只是源地址(SA)将在经过路由器后进行转换(由内部本地地址10.10.10.1转换成内部全局地址171.16.68.5),但目标地址(DA)不变,但从外部网络发往内部网络的应答数据包的源地址没有改变,只是经过路由器后的数据包目的地址发生了改变(由内部全局地址172.16.68.5转换成内部本地地址10.10.10.1),但源地址(SA)不变。因为此时还没有为NAT路由器配置外部网络的本地地址和全局地址转换。此时,数据包在内、外部网络中的源地址、目的地址的转换方式参如图5-9所示。
图5-9 配置了内部地址NAT地址转换后的数据包地址转换示例
【经验之谈】在内部地址的NAT转换中,无论数据包来自哪里,数据包中地址变化的只是内部地址之间的转换。但要注意,地址变化所对应的是源地址,还是目的地址是要看数据包是来自内部网络,还是来自外部网络:如果是来自内部网络,转换是源地址;如果是来自外部网络,转换的是目的地址。
本文摘自《路由器配置与管理完全手册(Cisco篇)试读样章》第五章