交换机的ACL配置练习

在通常的网络治理中,我们都希望答应一些连接的访问,而禁止另一些连接的访问,但许多安全工具缺乏网络治理所需的基本通信流量过滤的灵活性和特定的控制手段 。三层交换机功能强大,有多种治理网络的手段,它有内置的ACL(访问控制列表),因此我们可利用ACL(访问控制列表)控制Internet的通信流量 。以下是我们利用联想的三层交换机3508GF来实现ACL功能的过程 。
利用标准ACL控制网络访问
当我们要想阻止来自某一网络的所有通信流量,或者答应来自某一特定网络的所有通信流量,或者想要拒绝某一协议簇的所有通信流量时,可以使用标准访问控制列表来实现这一目标 。标准访问控制列表检查数据包的源地址,从而答应或拒绝基于网络、子网或主机IP地址的所有通信流量通过交换机的出口 。
标准ACL的配置语句为:
Switch#Access-list access-list-number(1~99) {permitdeny}{anyAsource[source-wildcard-mask]}{anydestination[destination-mask]}
例1:答应192.168.3.0网络上的主机进行访问:
Switch#access-list 1 permit 192.168.3.0 0.0.0.255
例2:禁止172.10.0.0网络上的主机访问:
Switch#access-list 2 deny 172.10.0.0 0.0.255.255
例3:答应所有IP的访问:
Switch#access-list 1 permit 0.0.0.0 255.255.255.255
例4:禁止192.168.1.33主机的通信:
Switch#access-list 3 deny 192.168.1.33 0.0.0.0
上面的0.0.0.255和0.0.255.255等为32位的反掩码,0表示“检查相应的位”,1表示“不检查相应的位” 。如表示33.0.0.0这个网段,使用通配符掩码应为0.255.255.255 。
利用扩展ACL控制网络访问
扩展访问控制列表既检查数据包的源地址,也检查数据包的目的地址,还检查数据包的特定协议类型、端口号等 。扩展访问控制列表更具有灵活性和可扩充性,即可以对同一地址答应使用某些协议通信流量通过,而拒绝使用其它协议的流量通过,可灵活多变的设计ACL的测试条件 。
扩展ACL的完全命令格式如下:
Switch#access-list access-list-number(100~199) {permitdeny} protocol{anysource[source-mask]}{anydestination[destination-mask]}[port-number]
例1:拒绝交换机所连的子网192.168.3.0 ping通另一子网192.168.4.0:
Switch#access-list 100 deny icmp 192.168.3.0 0.0.0.255 192.168.4.0 0.0.0.255
例2:阻止子网192.168.5.0 访问Internet(www服务)而答应其它子网访问:
Switch#access-list 101 deny tcp 192.168.5.0 0.0.0.255 any www
或写为:Switch#access-list 101 deny tcp 192.168.5.0 0.0.0.255 any 80
例3:答应从192.168.6.0通过交换机发送E-mail,而拒绝所有其它来源的通信:
Switch#access-list 101 permit tcp 192.168.6.0 0.0.0.255 any smtp
基于端口和VLAN的ACL访问控制
标准访问控制列表和扩展访问控制列表的访问控制规则都是基于交换机的,假如仅对交换机的某一端口进行控制,则可把这个端口加入到上述规则中 。
配置语句为:
Switch# acess-list port 【交换机的ACL配置练习】
例:对交换机的端口4,拒绝来自192.168.3.0网段上的信息,配置如下:
Switch# acess-list 1 deny 192.168.3.0 0.0.0.255
Switch# acess-list port 4 1 // 把端口4 加入到规则1中 。
基于VLAN的访问控制列表是基于VLAN设置简单的访问规则,也设置流量控制,来答应(permit)或拒绝(deny)交换机转发一个VLAN的数据包 。
配置语句:
Switch#acess-list vlan [denypermit]
例:拒绝转发vlan2中的数据:
Switch# access-list vlan2 deny
另外,我们也可通过显示命令来检查已建立的访问控制列表,即
Switch# show access-list
例:
Switch# show access-list //显示ACL列表;

推荐阅读