ACL控制icmp数据包问题分析(ACL挂法IN,OUT分析)
 
 
需求:ABC直连 A,C分别写默认路由指出口 需要在BE0IN方向写ACL101,使得APINGCC不能PINGA
 
初始步骤:如图搭拓扑,A上写默认路由指E0口,C上写默认路由指E1
 
现分析ACL的写法:
写法一:
Access-list 101 deny icmp any any echo-reply
Access-list 101 permit ip any any
 
写法二:
Access-list 102 deny icmp 20.1.1.0 0.0.0.255 10.1.1.0 0.0.0.255 echo
Access-list 102 permit ip any any
 
实验结果:写法一能实现需求,写法二不满足需求
写法一:C PING A 现象“…..
写法二:挂在E0IN方向 !!!!!
写法二: 挂在E0OUT方向“U.U.U
 
结果分析:ACL是基于接口而言的INOUT方向,而不是单纯的对于路由器来说。可见,在写法二中,虽然ICMP数据是从C流向A,对于路由器来说是IN方向,但这个只能对Router_BE1口来说,对BE0口来说,CA还是OUT方向。
所以ACLINOUT是针对进入接口和流出接口的数据而言,而不是对大概念的路由器本身而言。
 
附:扩展ACL里,echo关键词禁止ping包通过, echo-reply不是禁止ping包返回,而是禁止反向ping包经过!