Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1020445
  • 博文数量: 162
  • 博客积分: 3887
  • 博客等级: 中校
  • 技术积分: 1617
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-06 19:05
文章分类

全部博文(162)

文章存档

2015年(4)

2014年(7)

2013年(10)

2012年(16)

2011年(89)

2010年(36)

分类:

2011-10-10 10:23:37

原文地址:交换机ACL配置 作者:oscar_zeng

交换机ACL配置
 
1.ACL定义:
        ACL(Access Control List)指访问控制列表,通常用来规划网络中的访问层次.以期达到优化网络流量,加强网络安全的作用.ACL可以通过Web方式或者命令行方式配置,一般推荐使用命令行方式.因为每一张ACL都是由具体的一条条规则组成,命令行配置方式更有助于管理员在配置时理清思路.常用方法是先将命令用写字板输入好,检查无误后再导入交换机,绑定在具体的端口上.
  ACL可以绑定在物理端口上,也能绑定在虚拟接口上,Vlan接口.
  ACL配置的命令格式:
  在全局配置模式下: access-list 名称> permit/deny <协议类型> <IP地址> <源地址掩码> <目的IP地址> <目的地址掩码>
  进入接口配置模式,绑定已配置的ACL:
  interface vlan 1
  ip access-group
名称>
 
或者:
  interface ethernet 1/g24
  ip access-group
名称>  in 1
 
2.配置ACL的注意事项:
(1)每个ACL表的末尾都会隐含”deny”语句, 从而丢弃所有不符合规则的包;
(2)源和目的的地址位掩码配置中,“0”代表精确匹配,”1”代表忽略该位.如允许来自192.168.1.0/24网段机器的访问,则其掩码是0.0.0.255;而针对具体主机的掩码,则是0.0.0.0;
(3) 具有严格限制条件的语句应放在访问列表所有语句的最上面;
(4)系统是按照顺序一条条去匹配ACL的规则,当发现匹配的规则后,它将忽略掉后面的语句;而如果发现ACL里所有语句均不匹配,那么默认将丢掉该数据包;
(5).ACL所包含的规则在精不在多;配置具体规则时不光需要考虑该规则是否影响数据包传送,还必须考虑数据包能否返回.
(6)ACL一旦绑定到具体端口上时,即可生效,所以以后每次对该ACL表做的任何更改,也就会立即生效;如果配置错误的规则就会对整个网络访问产生影响;
(7)同一接口可以绑定多个ACL,此时需要给每个ACL设置相应的优先级;
 
3.下面我们以实例加以说明:
假定客户划分了Vlan 3Vlan 5两个虚网,IP地址段分别是192.168.3.0/24192.168.5.0/24,如下面针对Vlan3配置了名为”test”ACL,使得其他网段的机器只能通过ICMP访问Vlan3.比如只能PingVlan3的机器,但是无法正常访问.
 
console(config)#access-list test permit icmp any 192.168.3.0 0.0.0.255
console(config)#access-list test permit icmp 192.168.3.0 0.0.0.255 any
console(config)#interface vlan 3
console(config-if-vlan3)#ip access-group test
 
 如果仅仅只能允许Vlan5的机器访问Vlan3:
console(config)#access-list test permit ip 192.168.5.0 0.0.0.255 192.168.3.0 0.0
.0.255(
仅仅配置这一条规则,Vlan3Vlan5是不能通信的)
console(config)#access-list test permit ip 192.168.3.0 0.0.0.255 192.168.5.0 0.0
.0.255(
加上这一条规则,允许返回的数据包,这样才能实现Vlan3Vlan5的通信)
 
 
如果客户希望Vlan3Vlan5能够相互通信,但是不希望双方的机器能够互ping,那么配置时必须注意语句的顺序:
console(config)#access-list test permit ip 192.168.3.0 0.0.0.255 192.168.5.0 0.0.0.255
console(config)#access-list test permit ip 192.168.5.0 0.0.0.255 192.168.3.0 0.0.0.255
console(config)#access-list test deny icmp 192.168.3.0 0.0.0.255 192.168.5.0 0.0.0.255
console(config)#interface vlan 3
console(config-if-vlan3)#ip access-group test
以上的配置结果是:Vlan3Vlan5能够相互通信,也能相互ping ,说明第三条语句没有起作用. 具有严格限制条件的语句应放在访问列表所有语句的最上面;调整为以下顺序后,目的就能达到了:
 
console(config)#access-list test deny icmp 192.168.3.0 0.0.0.255 192.168.5.0 0.0.0.255
console(config)#access-list test permit ip 192.168.3.0 0.0.0.255 192.168.5.0 0.0.0.255
console(config)#access-list test permit ip 192.168.5.0 0.0.0.255 192.168.3.0 0.0.0.255
console(config)#interface vlan 3
console(config-if-vlan3)#ip access-group test
 
这是因为:系统是按照顺序一条条去匹配ACL的规则,当发现匹配的规则后,它将忽略掉后面的语句;而如果发现ACL里所有语句均不匹配,那么默认将丢掉该数据包.也就是说,每个ACL的末尾都会隐含一"deny all"的规则.这一点在配置时需要非常注意.
 
阅读(7043) | 评论(0) | 转发(0) |
0

上一篇:linux信号集说明

下一篇:参数获取

给主人留下些什么吧!~~