设为首页 收藏本站
查看: 4387|回复: 0

[经验分享] Cisco ACL访问控制列表实现网络单向访问

[复制链接]

尚未签到

发表于 2018-7-21 06:41:35 | 显示全部楼层 |阅读模式
  简易拓扑图(所有子网掩码均为255.255.255.0):
  PC(10.1.1.2)---E0(10.1.1.1)[RouterA]S0(192.1.1.1)---S1(192.1.1.2)[RouterB]
  做网络的单向访问其实实现的是防火墙的基本功能:我是内网,你是外网,我能访问你,但你不能访问我。
  所以现在假设RouterA的E0口所连网段为内网段,RouterA S0所连的网段为外网段,还假设我想做的是内网的PC机能ping通外网RouterB的S1口,但RouterB却ping不进我的内网。
  用ACL来实现类似的单向访问控制需要用到一种特殊的ACL,叫Reflexive ACL。Reflexive ACL的配置分为两个部分,一部分是outbound的配置,一部分是inbound的配置。
  在 继续下面的说明之前,先说点题外话。在最开始想到单向访问问题时,我(也包括其它一些我的同事)自然的就这么想:那我在E0口上允许PC的流量进来,然后 再在S0口上禁止RouterB的流量进 来不就行了?看上去好像没什么问题,但一试就知道其实是不行的。为什么不行呢,因为很多人都忽略了这么一个问题:  即绝大多数的网络流量都是有去有回的,上面的方法只解决了去的问题,但这个流量在到达RouterB后,RouterB还需要返回这个流量给PC,这个返  回的流量到了RouterA的S0口,但上面的方法却在S0口上禁止了RouterB的流量进来,回来的流量被挡住了,通讯失败。
  好,下面再切回来。Reflexive ACL中outbound的部分决定了我出去的哪些内网网络流量是需要被单向访问的,inbound部分决定了这些流量在返回后能被正确的识别并送给内网发起连接的PC机。
  Reflexive ACL中outbound的部分:
  ip access-list extended outbound_filter
  permit icmp any any reflect icmp_traffic
  permit ip any any
  !---注意在Reflexive ACL中只能用named方式的ACL,不能用numbered方式的ACL。
  !---基本配置和普通ACL并没有什么太多不同,不同之处是reflect icmp_traffic,它的意思是这条ACE作为单向流量来处理,并且给了一个名称叫icmp_traffic,icmp_traffic在inbound部分被引用。
  !---permit ip any any并不是必要的,加在这里是为了另一个测试,下面会说明。
  Reflexive ACL中inbound的部分:
  ip access-list extended inbound_filter
  evaluate icmp_traffic
  deny ip any any log
  !---inbound 的配置有和普通ACL有点不同了,第一句evaluate  icmp_traffic对上述outbound配置中的icmp_traffic进行了引用,也就是说,它要检查从外网进来的流量,如果这个流量确实是  从内网发起的对外访问的返回流量,那么允许这个流量进来。
  !---注意deny ip any any log这句,虽然这句也是不必配的,因为是默认的deny ip any any,但我加了log来对上面outbound部分的permit ip any any进行测试。
  Reflexive ACL中应用到接口的部分:
  interface Serial0
  ip address 192.1.1.1 255.255.255.0
  ip access-group inbound_filter in
  ip access-group outbound_filter out
  !---这里也有一些讲究,ACL outbound_filter被应用到外网口的out方向,ACL inbound_filter被应用到外网口的in方向,in和out不能搞混。
  好,现在进行测试,在10.1.1.2上ping 192.1.1.2,通了,RouterB上则ping不通10.1.1.2。
  现在还余下一个问题:路由器既然已经deny了外网进来的所有流量,那么它是怎么允许内网出去的返回流量进来呢?
  它是通过创建动态生成的ACL来允许返回流量的,下面看看show access-list的结果:
  ……
  Reflexive IP access list icmp_traffic
  permit icmp host 192.1.1.2 host 10.1.1.2 (24 matches) (time left 196)
  ……
  这些动态ACL可通过TCP的FIN/RST包来动态自动消除,对ICMP这样stateless的包来说,是通过内置的timer来消除的,这点可通过上述show access-list结果中的(time left 196)来核实。
  最后再说说那另一个测试,也就是两个ACL中加的多余的东西:
  ip access-list extended outbound_filter
  permit ip any any
  ip access-list extended inbound_filter
  deny ip any any log
  我 在10.1.1.2上发起一个到192.1.1.2的TELNET连接,这个流量到了S0口后由ACL  outbound_filter中的permit ip any  any检测后放行。到了RouterB后,RouterB进行处理然后返回流量,这个流量到了S0口后由inbound_filter检测,因为  evaluate icmp_traffic中并没有包含对TCP类型流量的检测,这个包由deny ip any any  log一句处理后丢弃并生成日志:
  00:24:28: %SEC-6-IPACCESSLOGP: list inbound_filter denied tcp 192.1.1.2(23) -> 10.1.1.2(1483), 1 packet
  好,最后的最后,如果Reflexive ACL是做在内网口上,而不是在外网口上,该怎么写呢?呵呵,这个问题就留给你了。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-539306-1-1.html 上篇帖子: cisco 以太通道(端口聚合)配置样例 下篇帖子: Cisco 交换机配置文件存放位置及管理要点
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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