设为首页收藏本站language 语言切换
查看: 3864|回复: 6
收起左侧

[已解决] 思科ACL默认规则与允许动作如何协调

[复制链接]
发表于 2012-7-17 18:58:10 | 显示全部楼层 |阅读模式
host(10.0.0.1)----------------(F0)交换机(F1)----------------router(10.0.0.2)
                                
       上图是网络拓扑,现在交换机到主机和路由器都已经工作正常,接下来在交换机作如下配置:
   Switch(config)#access-list 110 permit tcp host 10.0.0.1 host 10.0.0.2 eq 23
   Switch(config)#interface F1
   Switch(config-if)ip access-group 110 out
       目的是只允许10.0.0.1主机可以telnet到路由器上。但是考虑到最后一条ACL默认是拒绝其他IP流量,那么是不是默认也拒绝了从路由器10.0.0.2响应主机TCP连接的回包呢?如果这样,那么是不是还应该在F1的入方向上再配置ACL以允许从路由器10.0.0.2并且源端口号为23的回包呢?  
      
     又附:这个问题好像又跟自反ACL或established 关键字有关,但实际上CCNA学习指南中也是这样配置。
   

请诸位大侠解惑!


发表于 2012-7-17 19:11:03 | 显示全部楼层
你仅仅只是在F0/1的出方向应用了ACL,入方向什么ACL都没做,10.0.0.2返回10.0.0.1的数据不会被过滤的。
沙发 2012-7-17 19:11:03 回复 收起回复
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-17 19:21:58 | 显示全部楼层
晓月堕 发表于 2012-7-17 19:11
你仅仅只是在F0/1的出方向应用了ACL,入方向什么ACL都没做,10.0.0.2返回10.0.0.1的数据不会被过滤的。

但是CCNA学习指南中也指出:

Corp(config)#access-list 110 den y tcp any host 172.16.30.2 eq 23 log
要记住的是下一行默认隐含 deny any 语句。如果将此访问列表应用到一个接
口,可能正好关闭了这个接口,因为默认情况下在每个访问列表的末尾隐含 deny
all 语句

必须在后面有如下一条命令:
Corp(config)#access-list 110 permit ip any any

这是否说明如果没有显式的指明允许的规则,那么就会被默认规则所拒绝呢?
所以交换机F0/1的入方向还是要配置允许的acl呢?请大侠指正,这也是我所困惑的地方。
板凳 2012-7-17 19:21:58 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-7-17 19:35:53 | 显示全部楼层
menglibinghe 发表于 2012-7-17 19:21
但是CCNA学习指南中也指出:

Corp(config)#access-list 110 den y tcp any host 172.16.30.2 eq 23 lo ...

你只在F0/1的出方向调用了ACL对吗?
Switch(config)#access-list 110 permit tcp host 10.0.0.1 host 10.0.0.2 eq 23
   Switch(config)#interface F1
   Switch(config-if)ip access-group 110 out
这3条命令产生的结果是这样的:F0/1接口放行10.0.0.1去往10.0.0.2上的23号端口的数据,并阻止其他所有的数据从F0/1发出(末尾隐含 deny all 语句的作用)。好了,这些命令的结果仅此而已。至于控制哪些数据可以进入F0/1接口就不是他们的事儿了。
地板 2012-7-17 19:35:53 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-7-17 19:41:47 | 显示全部楼层
menglibinghe 发表于 2012-7-17 19:21
但是CCNA学习指南中也指出:

Corp(config)#access-list 110 den y tcp any host 172.16.30.2 eq 23 lo ...

ACL确实有隐含的拒绝,但是只针对于这个方向的而言
你调用在交换机的F0/1 out方向,那么它只会影响所有从你交换机 其他接口进来的流量,从F0/1出来的流量,就像你值permit TCP host 10.0.0.1 host 10.0.0.2 eq 23,那么所有想从这个接口出去的流量除了这条 都会被deny,但是返回的包 是不受影响的     返回的包是看你F0/1 的是否有In的ACL限制
假如你10.0.0.1是一台路由器,你10.0.0.2 还是能telnet 的包过去,但是返回的数据包被 F0/1 out方向的deny了 ,这是因为你的数据包都是要从这个口出去,你定义的ACL也是Out  这就是方向性
5# 2012-7-17 19:41:47 回复 收起回复
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-17 20:26:11 | 显示全部楼层
      四楼、五楼的大侠,多谢了!!
   原来“默认情况下在每个访问列表的末尾隐含 deny
all 语句”是指在指定方向上已经配置了ACL的情况下,而不是在什么acl都没有的情况下默认隐含拒绝,这真是想不到!
6# 2012-7-17 20:26:11 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-7-17 22:23:24 | 显示全部楼层
ACL是影响单向流量,如果双向都有影响为什么还需要再后面区分out和in??
7# 2012-7-17 22:23:24 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-4-29 22:39 , Processed in 0.208652 second(s), 26 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

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