我靠,楼上搞的也太复杂了吧,
这个问题我是这样理解的
A要给B发送数据 中间有个路由器
A----路由----B
对于路由器来说 A的数据是近来的 就是入口过滤
对于路由器来说 A的数据是出去的 就是出口过滤
这就看你把ACL放在那个口了
A----路由F1口----路由F2口----B
你把ACL放在F1口 A的数据对于路由来说就是进来的 所有要用入口过滤
你把ACL放在F2口 A的数据对于路由来说就是出去的 所以要用出口过滤
注意看箭头方向
按照最下面这个图的网络环境
Router(config)#access-list 1 deny 172.16.3.0 0.0.0.255
Router(config)#access-list 1 permit any
以上设置好了一个控制列表,然后需要选择在哪个接口去应用他...
在这里有2种选择可以达到你要的效果 阻止3.0访问1.0
①
Router(config)#interface E0/0
Router(config)#ip access-group 1 out
这里用out 你从E0/0向外画一个箭头
out意思就是检查所有从E0/0出去的流量(其中包括来自2.0和3.0网段的).
②
Router(config)#interface E0/2
Router(config)#ip access-group 1 in
这里用in 你也在链路上画一个指向E0/2的箭头
in意思就是检查所有进入E0/2的流量(仅仅包括3.0网段的).
不过这里建议是用②
★这里有个规则:
对于deny类型的多用in
对于permit类型的多用out
原因:
对于deny这类控制来说
使用在E0/0上面的out,也同时对从E0/1进入的2.0网段进行了扫描,虽然在这里的网络环境来说影响不大,但是在大型网络中这样会更占用cpu内存
而对于permit这类控制
比如像你的这个网络,假如你是希望只permit 3.0的网段能够访问1.0,那么你得在E0/0上面使用out,这样你才能把2.0的网络过滤掉
当然具体环境还要具体分析
.....................172.16.2.0
........................___
...........................|
...........................|
..........................E0/1
172.16.1.0 |----E0/0.(R1).E0/2----| 172.16.3.0
................←①out............←②in