雏鹰部落

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5080|回复: 9

[讨论/求助] 深入了解NAT中ACL和Route-map的区别

[复制链接]
发表于 2012-7-21 11:28:50 | 显示全部楼层 |阅读模式
众所周知,NAT可以使用ACLRoute-map来进行所需翻译源地址和目的地址的选定。
R1(config)#ip nat inside source ?
  list       Specify access list describing local addresses
  route-map  Specify route-map
  static     Specify static local->global mapping
我们可以看到NAT可以使用静态,ACLRoute-map来进行选定需要翻译的地址。其中ACLRoute-map都是可以选定复杂地址对的。因为Route-map中可以引用ACL,同时还可以match很多其他的信息。那么可以说Route-mapACL能更为具体的来进行地址对的匹配。那么是不是他们的区别就仅限于此呢。我们先来看一个例子。

本例中,PC1IP地址为192.168.12.2。他需要在访问到PC2时,被R1 NAT为地址192.168.3.1。在访问PC3时,被R1 NATIP地址192.168.5.1
情况一 使用list匹配ACL
在配置R1的时候,使用如下ACL来进行匹配
access-list 100 permit ip 192.168.12.0 0.0.0.255 192.168.34.0 0.0.0.255
access-list 101 permit ip 192.168.12.0 0.0.0.255 192.168.56.0 0.0.0.255
开辟地址池,将ACLlist来进行匹配响应的策略
ip nat pool pool_3 192.168.3.1 192.168.3.254 netmask 255.255.255.0
ip nat pool pool_5 192.168.5.1 192.168.5.254 prefix-length 24
ip nat inside source list 100 pool pool_3
ip nat inside source list 101 pool pool_5
在接口上开启NAT之后,开始运行NAT。从ACL上看,没有任何问题。去往34网段的变为3,去往56网段的变成5。但是实际上会正常运行吗,我们来看下。
首先ping 192.168.34.4,没有问题,观察R1NAT表,我们可以看到如下条目
PC1#ping 192.168.34.4
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.34.4, timeout is 2 seconds:
!!!!!
R1#sh ip nat translations
Pro Inside global      Inside local       Outside local      Outside global
icmp 192.168.3.3:14    192.168.12.2:14    192.168.34.4:14    192.168.34.4:14
--- 192.168.3.3        192.168.12.2       ---                ---
然后再用PC1ping 192.168.56.6,按道理来说应该一样会成功,同时NAT表会出现新的条目,但是结果是这样吗
PC1#ping 192.168.56.6
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.56.6, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
结果我们发现PC1ping 不通56.6这个地址。再来看R1NAT表,同时打开R5debug ip packet,看看有什么发现。
R1#sh ip nat translations
Pro Inside global      Inside local       Outside local      Outside global
--- 192.168.3.3        192.168.12.2       ---                ---
R5(config)#
*Jan  2 08:28:46.726: IP: s=192.168.56.6 (Ethernet0/0), d=192.168.3.3, len 56, input feature, MCI Check(64), rtype 0, forus FALSE, sendself FALSE, mtu 0
*Jan  2 08:28:46.726: IP: s=192.168.56.6 (Ethernet0/0), d=192.168.3.3, len 56, unroutable
可见R1并没有像我们想象的那样,顺利的将192.168.12.1翻译到192.168.5.x。而是沿用了192.168.3.x。原因就是因为list匹配的ACL在翻译的时候,仅在NAT表中留下inside globalinside local表项,并没有记录outside那边的情况。所以当目的地址改变的时候,由于NAT表里面已经有表项了,所以R1直接沿用原来的表项,将192.168.12.1翻译成192.168.3.x
情况二 使用route-map匹配
ACL沿用前面的100101route-mapNAT配置如下
route-map nat_5 permit 10
match ip address 101
route-map nat_3 permit 10
match ip address 100
ip nat inside source route-map nat_3 pool pool_3
ip nat inside source route-map nat_5 pool pool_5
那么这次配置完毕之后,效果又是什么样的呢,还是先ping192.168.34.4
PC1#ping 192.168.34.4
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.34.4, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
R1(config)#do sh ip nat t
Pro Inside global      Inside local       Outside local      Outside global
icmp 192.168.3.3:16    192.168.12.2:16    192.168.34.4:16    192.168.34.4:16
可以ping通,且NAT表中我们可以发现源和目的地址都有信息
ping 192.168.56.6,我们可以发现也能成功,同时NAT表项中增加新的条目
PC1#ping 192.168.56.6
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.56.6, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
R1(config)#do sh ip nat t
Pro Inside global      Inside local       Outside local      Outside global
icmp 192.168.3.3:18    192.168.12.2:18    192.168.34.4:18    192.168.34.4:18
icmp 192.168.5.1:17    192.168.12.2:17    192.168.56.6:17    192.168.56.6:17
总结以上几点我们可以看出,在执行NAT的时候,使用list匹配ACL和使用route-map在处理上是有区别的。在这里要申明下,如果想使用list匹配ACL,同时要达到route-map的效果,也就是匹配具体的源和目的对的话,必须使用PAT。但是在有些情况下,我们不想使用PAT,比如在VPN的情况下。



该贴已经同步到 songjiaqi的微博
发表于 2012-7-21 11:35:39 | 显示全部楼层
本帖最后由 ★浓_眉☆※兴 于 2012-7-21 11:37 编辑

从哪里copy过来的?图呢?
 楼主| 发表于 2012-7-21 11:39:59 | 显示全部楼层
从思科论坛copy过来的,没有拓扑图。。。
发表于 2012-7-21 11:48:05 | 显示全部楼层
发表于 2012-7-22 09:26:09 | 显示全部楼层
校园网双出口案例。
发表于 2012-7-22 10:00:53 | 显示全部楼层
拓扑可以用想象力来画哈!
 楼主| 发表于 2012-7-22 10:11:26 | 显示全部楼层
jkrh9 发表于 2012-7-22 10:00
拓扑可以用想象力来画哈!

就是哇
发表于 2012-7-22 17:23:42 | 显示全部楼层
支持支持 谢谢分享啦 话说 靠想象 还不如你画一个
发表于 2012-7-29 21:07:12
路过,拿米走人














-------------------------------------yili-----------------------------------------
达达电影 http://www.dadady.com
支持 反对

发表于 2012-7-30 13:16:14 | 显示全部楼层
                          
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|熊猫同学技术论坛|小黑屋| 网络工程师论坛 ( 沪ICP备09076391 )

GMT+8, 2024-12-23 04:26 , Processed in 0.090969 second(s), 19 queries , Gzip On.

快速回复 返回顶部 返回列表