注意:这里的in/out都是站在路由器或三层模块(以后简称R)上看的,in表示从该接口进入R的包,out表示从该接口出去的包。
好了,这就是个最基本的ACL的配置方法。什么,您说普通用户还能telnet到RTA?那您在int vlan3上现加一个ip access-group 1 out吧。Hammmm,等等,您这样加上去普通用户就访问不了internet了。让我们把刚才的ACL去掉,重新写一个。
回忆一下,我们的目的是除了10.1.6.66能够进行telnet操作外,其他用户都不允许进行telnet操作。刚才我们说过,标准的IP ACL只能控制源IP地址,不能控制到端口。要控制到第四层的端口,就需要使用到:
扩展的IP ACL的配置
先看看配置实例吧。在SWA上进行如下配置:
int vlan 1
no ip access-group 1 out
exit
no access-list 1
access-list 101 permit tcp host 10.1.6.66 any eq telnet
access-list 101 deny tcp any any eq telnet
int vlan 1
ip access-group 101 out
int vlan 3
ip access-group 101 out
您应该注意到到这里的ACL有一些变化了,现在对变化的部分做一些说明:
access-list 101:注意这里的101,和刚才的标准ACL中的1相同,101是ACL号,表示这是个扩展的IP ACL。扩展的IP ACL号范围是100-199,扩展的IP ACL能够控制源IP、目的IP、源端口、目的端口等,能实现相当精细的控制,扩展ACL不但读取IP包头的源地址/目的地址,还要读取第四层包头中的源端口和目的端口,的IP在没有硬件ACL加速情况下,会消耗大量的CPU资源。
int vlan 1///no ip access-group 1 out///exit///no access-list 1:取消access-list 1,对于非命名的ACL,能够只需要这一句就能够全部取消。注意,在取消或修改一个ACL前,必须先在他所应用的接口上先把应用给no掉,否则会导致相当严重的后果。
tcp host 10.1.6.66 any eq telnet:匹配条件。完整格式为:协议 源地址 源wildcards [关系] [源端口] 目的地址 目的wildcards [关系] [目的端口]。其中协议能够是IP、TCP、UDP、EIGRP等,[]内为可选字段。仅在协议为tcp/udp等具备端口号的协议才有用。关系能够是 eq(等于)、neq(不等于)、lt(大于)、range(范围)等。端口一般为数字的1-65535,对于周知端口,如23(服务名为telnet) 等能够用服务名代替。源端口和目的端口不定义时表示任何端口。
把这个ACL应用上去后,用户们开始打电话来骂娘了,因为他们都访问不了Internet了,是哪里出了问题了呢?
注意:任何的ACL,缺省情况下,从安全角度考虑,最后都会隐含一句deny any(标准ACL)或deny ip any any(扩展IP ACL)。所以在不了解业务会使用到哪些端口的情况下,最好在ACL的最后加上一句permit ip any any,在这里就是access-list 101 permit ip any any。
现在用户倒是能够访问Internet 了,但我们的可怜的网管却发现普通用户还是能够telnet到他的SWA上面,因为SWA上面有很多个网络接口,而且使用扩展的ACL会消耗很多的资源。有什么简单的办法能够控制没Ф酝缟璞傅腡elnet访问,而又不消耗太多的资源呢?这就需要使用到:
对网络设备自身的访问如何进行控制的技术
让我们先把刚才配置的ACL都取掉(具体配置略,不然后读者会以为我在骗稿费了。),再在每台网络设备上均进行如下配置:
access-list 1 permit host 10.1.6.66
line vty 0 4(部分设备是15)
access-class 1 in
这样就行了,telnet都是访问的设备上的line vty,在line vty下面使用access-class和ACL组进行关联,in关键字表示控制进入的连接。
就这么简单?wk,您丫是不是在玩我们,为什么还要绕一大圈?臭鸡蛋和烂西红柿开始在70的脑袋上方狂飞。(5555555,偶也只是想向大家把ACL的基础知识讲的明白一些的嘛)。经过刚才的配置,我们能够理出一个简单的ACL配置步骤了:
分析需求,找清楚需求中要保护什么或控制什么;为方便配置,最好能以表格形式列出。在本文的后面会举例的。
分析符合条件的数据流的路径,寻找一个最适合进行控制的位置;
书写ACL,并将ACL应用到接口上;
测试并修改ACL。
当A公司的领导知道在网管能够控制普通用户对网络设备的访问后,我们的可怜的网管就收到了很多看起来很难的需要。领导需要网管:
ACL执行顺序
“使用ACL技术对网络访问进行精细化控制”――ACL进阶配置
命名的IP ACL
由于最近服务器网段的机器老是被人用telnet、rsh等手段进行攻击,我们只对员工开放web服务器(10.1.2.20)所提供的http、 FTP服务器(10.1.2.22)提供的FTP服务和数据库服务器(10.1.2.21:1521)。好吧,我们着手进行配置,可是我们的ACL刚写到一半,发现前面写的几句似乎有问题,一个no命令输进去,整个ACL都没了,唉,一切都得重来,难道就没有一个变通的办法么?有,这里我就需要用到:
命名的IP acl提供的两个主要长处是:
l 解决ACL号码不足的问题。
l 能够自由的删除ACL中的一条语句,而不必删除整个ACL。
命名的ACL的主要不足之处在于无法实现在任意位置加入新的ACL条目。比如上面那个例子中,我们进行了如下的配置:
ip access-list extend server-protect
permit tcp 10.1.0.0 0.0.255.255 host 10.1.2.20 eq www
permit tcp 10.0.0.0 0.0.255.255 host 10.1.2.21 eq 1521
permit tcp 10.1.0.0 0.0.255.255 host 10.1.2.22 eq ftp
配置到这里,我们发现permit tcp 10.0.0.0 0.0.255.255 host 10.1.2.21 eq 1521这句配错了,我们得把他给取掉并重新配置,OK,我样能够简单的进行如下配置:
ip access-list extend server- protect
no permit tcp 10.0.0.0 0.0.255.255 host 10.1.2.21 eq 1521
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




