使用IP NAT Outside Source List命令的配置样例

发表于:2007-06-23来源:作者:点击数: 标签:
使用的组件 本文不局限于特殊的软件和硬件版本。 配置 本部分向您提供配置本文所述功能所需要的信息。 网络图 本文使用下图所示的网络设置。 从Router 2514w的loopback0接口(172.16.88.1)到Router 2501e的171.68.1.1的ping 数据包成功。在Router 2514x的外

   
  使用的组件
  本文不局限于特殊的软件和硬件版本。
  
  配置
  本部分向您提供配置本文所述功能所需要的信息。
  
  网络图
  本文使用下图所示的网络设置。
  

 使用IP NAT Outside Source List命令的配置样例(图一)


  从Router 2514w的loopback0接口(172.16.88.1)到Router 2501e的171.68.1.1的ping 数据包成功。在Router 2514x的外部接口上,该包有源地址(SA)172.16.88.1 和目的地地址(DA)171.68.1.1。如果SA允许在 ip nat outside source list命令使用的访问表1中,那么该SA将被转换成NAT 池 Net171中的地址。请注意, ip nat outside source list 命令 参考了 NAT 池 "Net171"。在本例中,该地址被转换成 171.68.16.10。转换之后,Router 2514x 在路由表中搜索目的地并传送数据包。Router 2501e在入局接口上发现这个数据包,SA 为171.68.16.10,DA 为171.68.1.1。Router 2501e发出一个互联网控制消息协议(ICMP)响应来答复171.68.16.10。如果它没有路由,那么它就丢弃这个数据包。在本例中,由于Router 2501e有一个(默认的)路由,因此,Router 2501e使用 171.68.1.1 的SA和 171.68.16.10的DA将数据包发送到Router 2514x。Router 2514x发现这个包并检查去往171.68.16.10 地址的路由。如果Router 2501e没有一个路由,那它就发送ICMP不可到达的应答来作响应。在本例中,由于它有去往171.68.16.10的路由,因此它将这个数据包转换回172.16.88.1地址,并将该包路由出自己的外部接口。
  
  配置
  
 使用IP NAT Outside Source List命令的配置样例(图二)

  
 使用IP NAT Outside Source List命令的配置样例(图三)

  
 使用IP NAT Outside Source List命令的配置样例(图四)

  检验
  此配置目前没有检验程序。
  
  故障检修
  本部分向您提供可以用于配置排障的信息。
  
  以下输出是从Router 2514w的 loopback0 接口地址(172.16.188.1)ping到Router 2501e的loopback0接口地址(171.68.1.1)时,在Router 2514x上运行debug ip packet 和 debug ip nat 命令的结果。
  
  rp-2514x#
   NAT: s=172.16.88.1->171.68.16.10, d=171.68.1.1 [40] 
   IP: s=171.68.16.10 (Serial1), d=171.68.1.1 (Ethernet1), g=171.68.192.201, len 
   100, forward ICMP type=8, code=0
   NAT: s=171.68.1.1, d=171.68.16.10->172.16.88.1 [40] 
   IP: s=171.68.1.1 (Ethernet1), d=172.16.88.1 (Serial1), g=172.16.191.254, len 
   100, forward ICMP type=0, code=0 
   
   NAT: s=172.16.88.1->171.68.16.10, d=171.68.1.1 [41] 
   IP: s=171.68.16.10 (Serial1), d=171.68.1.1 (Ethernet1), g=171.68.192.201, len 
   100, forward ICMP type=8, code=0 
   NAT: s=171.68.1.1, d=171.68.16.10->172.16.88.1 [41] 
   IP: s=171.68.1.1 (Ethernet1), d=172.16.88.1 (Serial1), g=172.16.191.254, len 
   100, forward ICMP type=0, code=0 
  
   NAT: s=172.16.88.1->171.68.16.10, d=171.68.1.1 [42] 
   IP: s=171.68.16.10 (Serial1), d=171.68.1.1 (Ethernet1), g=171.68.192.201, len 
   100, forward ICMP type=8, code=0 
   NAT: s=171.68.1.1, d=171.68.16.10->172.16.88.1 [42] 
   IP: s=171.68.1.1 (Ethernet1), d=172.16.88.1 (Serial1), g=172.16.191.254, len 
   100, forward ICMP type=0, code=0 
  
   NAT: s=172.16.88.1->171.68.16.10, d=171.68.1.1 [43] 
   IP: s=171.68.16.10 (Serial1), d=171.68.1.1 (Ethernet1), g=171.68.192.201, len 
   100, forward ICMP type=8, code=0 
   NAT: s=171.68.1.1, d=171.68.16.10->172.16.88.1 [43] 
   IP: s=171.68.1.1 (Ethernet1), d=172.16.88.1 (Serial1), g=172.16.191.254, len 
   100, forward ICMP type=0, code=0 
  
   NAT: s=172.16.88.1->171.68.16.10, d=171.68.1.1 [44] 
   IP: s=171.68.16.10 (Serial1), d=171.68.1.1 (Ethernet1), g=171.68.192.201, len 
   100, forward ICMP type=8, code=0 
   NAT: s=171.68.1.1, d=171.68.16.10->172.16.88.1 [44] 
   IP: s=171.68.1.1 (Ethernet1), d=172.16.88.1 (Serial1), g=172.16.191.254, len 
   100, forward ICMP type=0, code=0
  
  总结
  使用 ip nat outside source list 命令(动态NAT)而不是 ip nat outside source static 命令(静态NAT)的主要区别在于,在(为NAT配置的)路由器检验数据包的转换标准之前,在转换表中没有条目。在上例中,SA为172.16.88.1的数据包(进入Router 2514x的外部接口)符合访问列表1,即 ip nat outside source list 命令使用的标准。因此,在内部网络的包可以与Router 2514w的loopback0接口通信之前,必须从外部网络始发数据包。
  
  本例中需要注意两点:
  第一,当数据包从外部传输到内部时,先进行转换,然后检查目的地的路由表。当数据包从内部传输到外部时,先检查目的地的路由表,然后进行转换。
  
  第二,使用上述每条命令时,记录IP数据包的哪个部分被转换很重要。下表给出了一个纲要:
  
使用IP NAT Outside Source List命令的配置样例(图五)

  以上表明有多种方法可以转换包。根据您的具体要求,您应该确定如何定义NAT接口(内部或外部),以及路由表在转换之前或之后应该包含哪些路由。一定要记住,包被转换的部分取决于该包传输的方向以及您如何配置NAT。

原文转自:http://www.ltesting.net