Chinaunix首页 | 论坛 | 博客
  • 博客访问: 347606
  • 博文数量: 34
  • 博客积分: 1676
  • 博客等级: 上尉
  • 技术积分: 520
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-31 08:50
文章分类
文章存档

2014年(2)

2013年(2)

2012年(8)

2011年(6)

2010年(3)

2009年(12)

2008年(1)

分类: 系统运维

2009-01-08 20:26:16

    ACL控制PING操作的新的发现,写好ACL才可以达到预期的理想效果。点滴心得,共同进步。
 

拓扑结构说明:

路由器接口Fa0/0192.168.1.254/24

           Fa0/1192.168.2.254/24

PC0192.168.1.1 /24

PC1192.168.2.1/24

 

在用ACL控制ICMPping包时,常常会这样描述要求:通过ACL阻止PC0PC1发送ping包,但今天在做实验的时候,按照惯例作了一个扩展ACL来阻止PC0pingPC1,如下所示:

Ip access-list extent aaa

Deny icmp host 192.168.1.1 host 192.168.2.1

Permit ip any any

但是在路由器的Fa0/0上应用了之后,在PC0ping PC1时显示目标不可达,但在PC1pingPC0时,却显示超时,无法ping通。这时,就有问题了,我阻止了PC0pingPC1,但怎么PC1 ping不通PC0呢?后来通过仔细察看,主要是查看两个主机的ping包的现实信息,才发现问题的根源:ICMP包有各种类型,我的ACL的效果是阻止了ICMP包的所有类型,这样,PC0不能pingPC1是正常的,但同时PC1PC0发的PING包可以到达PC0ICMP包回发的时候,到达路由器的Fa0/0口时,由于有ACL的作用,导致,这个数据包不能够穿过Fa0/0,最终,路由器向PC1发回“TimeOut”的超时信息。

找到了问题的根源,下面就是解决的办法。在写ACL时要添加一条信息,即允许ICMP包的类型0通过,这个类型的ICMP包时返回的PING包。最后改写了我的ACL,如下所示:

ip access-list extent aaa

permit icmp host 192.168.1.1 host 12.168.2.1 0

deny icmp host 192.168.1.1 host 192.168.2.1

permit ip any any

然后将此ACL应用到接口Fa0/0即可实现单向的PING的操作了。

当然,ICMP包还有很多种类型,因此,在写ACL时,一定要看清楚题目的要求,写一个精确无误的ACL

阅读(2626) | 评论(1) | 转发(0) |
0

上一篇:单臂路由

下一篇:在fedora 5中配置bind

给主人留下些什么吧!~~

lysis6112009-09-21 19:50:21

写的有一点混乱,不好意思啊