关于cisco三层交换机ACL配置问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于cisco三层交换机ACL配置问题相关的知识,希望对你有一定的参考价值。

这里有一段ACL的配置,不符合标准语法,但是能起作用,那位大侠能告诉我它的意思
ip access-list extended IN
deny ip any 0.0.0.0 255.255.0.0
deny ip any 0.0.0.0 255.255.224.0
deny ip any 0.0.0.0 255.255.254.0
permit ip any any
ip access-list extended OUT
deny ip 0.0.0.0 255.255.0.0 any
deny ip 0.0.0.0 255.255.224.0 any
deny ip 0.0.0.0 255.255.254.0 any
permit ip any any
我只想知道那6句deny相当于标准语法的什么句子
还有就是ACL中碰到错误语句是忽略吗

我现在应用层的基于win server 2003(服务器地址10.48.140.11,客户端地址10.48.136.0/22) 的smtp服务,将这几行换成下面的正常代码就不能用,“换回”上面不正常的就能用,这就是我纠结的原因,也是代码起作用的证明
deny ip any 10.49.0.0 0.0.255.255
deny ip any 10.51.0.0 0.0.255.255
deny ip any 10.52.0.0 0.0.255.255
deny ip any 10.53.0.0 0.0.255.255
deny ip any 10.54.0.0 0.0.255.255
deny ip any 10.48.32.0 0.0.31.255
deny ip any 10.48.134.0 0.0.1.255
deny ip any 10.48.160.0 0.0.31.255
permit ip any any
。。。。。。。
deny ip 10.49.0.0 0.0.255.255 any
deny ip 10.51.0.0 0.0.255.255 any
deny ip 10.52.0.0 0.0.255.255 any
deny ip 10.53.0.0 0.0.255.255 any
deny ip 10.54.0.0 0.0.255.255 any
deny ip 10.48.32.0 0.0.31.255 any
deny ip 10.48.134.0 0.0.1.255 any
deny ip 10.48.160.0 0.0.31.255 any
permit ip any any

0.0.0.0 255.255.0.0这不符合逻辑
在ACL里,是反转掩码
比如拒绝192.168.0.0/16的写法是这样的:
deny ip any 192.168.0.0 0.0.255.255
反推到你的语句里的IP地址就成这样了:
0.0.0.0/0.0.255.255,这是个嘛啊??我没见过啊。我也不理解。

你最好明确你的需求,举例说,在ACL-IN里拒绝三个子网进入路由器,分别是:
192.168.1.0/25,172.16.0.0/16,10.0.0.0/8
其他全允许,写法有两种:
第一种,ACL命名
ip access-list ext IN
deny ip 192.168.1.0 0.0.0.127 any
deny ip 172.16.0.0 0.0.255.255 any
deny ip 10.0.0.0 0.255.255.255 any
permit ip any any

第二种:ACL编号,100-199是ext acl的编号
access-list 123 deny ip 192.168.1.0 0.0.0.127 any
access-list 123 deny ip 172.16.0.0 0.0.255.255 any
access-list 123 deny ip 10.0.0.0 0.255.255.255 any
access-list 123 permit ip any any

Cisco访问列表默认策略就是拒绝所有,所以就不用再写全拒绝的命令了。

访问列表写完了,绑定到端口生效。
ACL是锁头,路由器是大门。你买了100把锁头,只有锁在大门上那把才是有用的。追问

我的需求是碰到了上述可以正常运行却不符合逻辑的代码
现在又没有条件自己做实验,所以想请高手看看那些东西起什么作用
你写的东西我都知道的,不过还是谢谢!

追答

我记得子网掩码是可以不连续的,比如255.0.255.0,但是为什么允许这样我就不记得了,你可以自己搜搜看看。而且只见过不连续的但以255开头的子网掩码,从未见过以0开头,255结尾的掩码。

deny ip any 0.0.0.0 255.255.0.0,反推出来,你的IP地址就是0.0.0.0 0.0.255.255,这种结构真是从未见过。建议你找个Cisco论坛比如Chinaunix、net130之类的去问问,回头也给俺这些没见过市面的人讲讲。

参考技术A 应该使用反掩码吧。
ip access-list extended IN
deny ip any 0.0.0.0 255.255.0.0
deny ip any 0.0.0.0 255.255.224.0
deny ip any 0.0.0.0 255.255.254.0
permit ip any any
是说要拒绝任何到0.0.0.0/16的IP协议的流量,允许其他不被匹配的流量放行
ip access-list extended OUT
deny ip 0.0.0.0 255.255.0.0 any
deny ip 0.0.0.0 255.255.224.0 any
deny ip 0.0.0.0 255.255.254.0 any
permit ip any any
是说要拒绝0.0.0.0/16的地址到任何地方的IP协议的流量,允许其他不被匹配的流量放行
流量经过设备才能起到过滤的作用。
参考技术B deny 是拒绝通信的IP,子网掩码, permit是允许通信的IP,IP,子网掩码,在进(in)和出(out)方向,不允许255.255.255.0.0 255.255.224.0 255.255.254.0 ,三个子网内的主机对外通信。追问

不好意思,没问清楚,基本知识我知道
我就想知道哪三个子网,用标准语法写一下最好!
ACL的掩码和IP地址掩码是相反的,而这里的什么都不像,我不理解

追答

子网不一定都是相反的,视设备型号应该有所变化。比如,华SRG23 的子网就是相反的和 22系列就直接键入子网掩码。你建的地址池是多少?

追问

我的是cisco4506,肯定是反的
没有地址池,上面的访问列表是VLAN之间用的,语法如下
interface Vlan140
description For YCH Development Server
ip address 10.48.140.1 255.255.254.0
ip access-group in
ip access-group out
。。。。。

追答

10.48.140.0 , 10.48.140.1 到 10.48.141.254 , 10.48.141.255
10.48.142.0 , 10.48.142.1 到 10.48.143.254 , 10.48.143.255
10.48.144.0 , 10.48.144.1 到 10.48.145.254 , 10.48.145.255
10.48.146.0 , 10.48.146.1 到 10.48.147.254 , 10.48.147.255
10.48.148.0 , 10.48.148.1 到 10.48.149.254 , 10.48.149.255
10.48.150.0 , 10.48.150.1 到 10.48.151.254 , 10.48.151.255
10.48.152.0 , 10.48.152.1 到 10.48.153.254 , 10.48.153.255
10.48.154.0 , 10.48.154.1 到 10.48.155.254 , 10.48.155.255
10.48.156.0 , 10.48.156.1 到 10.48.157.254 , 10.48.157.255
10.48.158.0 , 10.48.158.1 到 10.48.159.254 , 10.48.159.255
10.48.160.0 , 10.48.160.1 到 10.48.161.254 , 10.48.161.255
10.48.162.0 , 10.48.162.1 到 10.48.163.254 , 10.48.163.255
10.48.164.0 , 10.48.164.1 到 10.48.165.254 , 10.48.165.255
10.48.166.0 , 10.48.166.1 到 10.48.167.254 , 10.48.167.255
10.48.168.0 , 10.48.168.1 到 10.48.169.254 , 10.48.169.255
10.48.170.0 , 10.48.170.1 到 10.48.171.254 , 10.48.171.255
10.48.172.0 , 10.48.172.1 到 10.48.173.254 , 10.48.173.255
10.48.174.0 , 10.48.174.1 到 10.48.175.254 , 10.48.175.255
10.48.176.0 , 10.48.176.1 到 10.48.177.254 , 10.48.177.255
10.48.178.0 , 10.48.178.1 到 10.48.179.254 , 10.48.179.255

追问

什么意思,没看懂!

追答

还是打思科800 或者 400电话吧,找它们要一份详细的配置手册,有兴趣可以研究研究,没有实验环境是很不好处理的事情,确实。

参考技术C access-list in extended permit ip any interface inside
access-list out extended permit ip any interface outside
access-list in extended deny ip any 0.0.0.0 255.255.0.0
access-list in extended deny ip any 0.0.0.0 255.255.224.0
access-list in extended deny ip any 0.0.0.0 255.255.254.0
access-list out extended deny ip any 0.0.0.0 255.255.0.0
access-list out extended deny ip any 0.0.0.0 255.255.224.0
access-list out extended deny ip any 0.0.0.0 255.255.254.0
cisco爱好者,瞎琢磨的,看看对吗?呵呵。
参考技术D 你说这些控制列表能用?你怎么试出来的?
如你的第一句:
deny ip any 0.0.0.0 255.255.0.0
推算过来是 拒绝ip 所有 到 0.0.0.0 0.0.255.255 有这样的掩码结构吗? 真没见过

华为ACL规则问题,我的三层交换机是5700,

比如我在同一个ACL下写2个rule deny 10.10.10.1 0 permit 10.10.10.1 0结果如何 原因
问题2deny 10.10.10.0/24 0.0.0.255 permit 10.10.10.1 0
问题3 如果我把上边的2个rule 分别写在2个ACL里会怎么样

先回答问题3
acl是要被应用后才会生效的,一般还需要知道端口、方向。
如:你应用在1/1/1的in方向。顺序是
rule 1 deny 10.10.10.1 0
rule 2 permit 10.10.10.1 0
那所有进入1/1/1的数据会匹配这个acl(出不匹配)。华为应该是不允许在一个端口上应用2条acl的,所以你写2个,还要看你应用在哪。
问题1和2可以一起回答
acl的匹配原则是“顺序命中”,即从最开始一条匹配至最后一条,只要被命中就不再继续匹配。所以你把deny写在前面,那permit就永远不会命中。另外掩码是一定要写的,你的条目都有点问题。
华为交换机还需注意一下,就是别去看它的序列号,较老的华为交换机是无视序列号的。你先写rule10,然后再写rule 1,rule1不会排列到rule10前面的
参考技术A 1.执行第一个,符合,阻止,2阻止

以上是关于关于cisco三层交换机ACL配置问题的主要内容,如果未能解决你的问题,请参考以下文章

cisco Switching-三层交换配置路由

Cisco实验

思科Cisco 三层交换机 生成树配置的问题

华为ACL规则问题,我的三层交换机是5700,

思科三层交换机之间的链路聚合 配置命令

Cisco 三层交换机实验的结果