您的位置:首页 > 其它

思科ACL详解

2009-09-15 16:20 513 查看
基本原则:
1、按顺序执行,只要有一条满足,则不会继续查找
2、隐含拒绝,如果都不匹配,那么一定匹配最后的隐含拒绝条目,思科默认的
3、任何条件下只给用户能满足他们需求的最小权限
4、不要忘记把ACL应用到端口上

一、标准ACL
命令:access-list {1-99} {permit/deny} source-ip source-wildcard [log]
例:
access-list 1 penmit 192.168.2.0 0.0.0.255 允许192.168.2.0网段的访问
access-list 1 deny 192.168.1.0 0.0.0.255 拒绝192.168.1.0网段的访问
说明:
wildcard为反掩码,
host表示特定主机等同于192.168.2.3 0.0.0.0;
any表示所有的源或目标等同于0.0.0.0 255.255.255.255 ;
log表示有匹配时生成日志信息;
标准ACL一般用在离目的最近的地方

二、扩展ACL
命令:access-list {100-199} {permit/deny} protocol source-ip source-wildcard [operator port] destination-ip destination-wildcard [operator port] [established][log]
例:
access-list 101 permit tcp 192.168.2.0 0.0.0.255 gt 1023 host 192.168.1.2 eq 80
允许192.168.2.0网段的主机访问主机192.168.1.2的web服务
access-list 101 permit udp 192.168.2.0 0.0.0.255 gt 1023 any eq 53
允许192.168.2.0网段的主机访问外网以做dns查询
说明:
gt 1023表示所有大于1023的端口,这是因为一般访问web、ftp等服务器时客户端的主机是使用一个1023以上的随机端口;established 表示允许一个已经建立的连接的流量,也就是数据包的ACK位已设置的包。

注:protocol是根据你允许用户使用相应通信的协议来确定的,如上面中WEB是TCP协议,DNS用UDP协议

三、命名ACL
命令:
ip access-list {standard/extended} name
{ permit /deny} source-ip source-wildcard 标准
{ permit /deny} protocol source-ip source-wildcard [operator port] destination-ip destination-wildcard [operator port] [established][log] 扩展
例:
ip access-list extended outbound
定义一个名为outbound的命名ACL
permit tcp 192.168.2.0 0.0.0.255 gt 1023 host 192.168.1.2 eq 80
允许192.168.2.0网段的主机访问主机192.168.1.2的web服务
优点:可以删除/修改其中一条ACL,而不必删除整个ACL
  ip access-list extend server- protect
   no 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.0.255 host 10.1.2.21 eq 1521
   exit

四、自反ACL
基本思想:内网可以访问外网,但外网没有允许不能访问内网,内网访问外网的回应数据可以通过
例:
一、ip access-list extended outbound permit tcp any any reflect cisco
创建出去数据的ACL,tcp的流量可以进来,但要在有内部tcp流量出去时动态创建
二、 ip access-list extended inbound permit icmp any any evaluate cisco
创建进来数据的ACL,允许基于ICMP的数据如echo-request,允许出去的ACL中的有cisco对应语句的TCP流量进来
三、 int s1/0 s1/0为路由器的接外网的端口
ip access-group outbound out
ip access-group inbound in说明:reflect和evalute后面的对应名应该相同,此例中为cisco

五、基于时间ACL
  要求:要求在上班时间内(9:00-18:00)禁止内部员工浏览internet,禁止使用QQ、MSN。而且在2003年6月1号到2号的所有时间内都不允许进行上述操作。但在任何时间都可以允许以其它方式访问Internet。
  分析:浏览internet现在基本上都是使用http或https进行访问,标准端口是TCP/80端口和TCP/443,MSN使用TCP/1863端口,QQ登录会使用到TCP/UDP8000这两个端口,还有可能使用到udp/4000进行通讯。而且这些软件都能支持代理服务器,目前的代理服务器主要布署在TCP 8080、TCP 3128(HTTP代理)和TCP1080(socks)这三个端口上。由于是对访问Internet进行控制,ACL就放到公司的Internet出口处。

  应用    协议    源地址   源端口   目的地址   目的端口   操作
   IE    TCP   10.1/16   所有    所有      80    限制访问
   IE    TCP   10.1/16   所有    所有      443   限制访问
  MSN    TCP    10.1/16   所有    所有     1863   限制访问
  QQ    TCP    10.1/16   所有    所有     8000   限制访问
UDP   TCP    10.1/16   所有    所有      8000   限制访问
UDP   TCP    10.1/16   所有    所有      4000   限制访问
HTTP代理 TCP 10.1/16 所有 所有   8080 限制访问
HTTP代理 TCP 10.1/16 所有 所有 3128 限制访问
Socks TCP 10.1/16 所有 所有 1080 限制访问
All other IP 10.1/16 N/A 所有 N/A 允许访问

time-range TR1

  absolute start 00:00 1 June 2003 end 00:00 3 June 2003

  periodic weekdays start 9:00 18:00

  exit

  ip access-list extend internet_limit

  deny tcp 10.1.0.0 0.0.255.255 any eq 80 time-range TR1

  deny tcp 10.1.0.0 0.0.255.255 any eq 443 time-range TR1

  deny tcp 10.1.0.0 0.0.255.255 any eq 1863 time-range TR1

  deny tcp 10.1.0.0 0.0.255.255 any eq 8000 time-range TR1

  deny udp 10.1.0.0 0.0.255.255 any eq 8000 time-range TR1

  deny udp 10.1.0.0 0.0.255.255 any eq 4000 time-range TR1

  deny tcp 10.1.0.0 0.0.255.255 any eq 3128 time-range TR1

  deny tcp 10.1.0.0 0.0.255.255 any eq 8080 time-range TR1

  deny tcp 10.1.0.0 0.0.255.255 any eq 1080 time-range TR1

  permit ip any any

  int s0/0

  ip access-group internet_limit out

  或int fa0/0

  ip access-group internet_limit in

  或者将ACL配置在SWA上,并

  int vlan 3

  ip access-group internet_limit out

  呵呵,现在让我们来看看在基于时间的访问列表中都有哪些新内容吧:

  time-range TR1:定义一个新的时间范围,其中的TR1是为该时间范围取的一个名字。

  absolute:为绝对时间。只使用一次。可以定义为1993-2035年内的任意一个时点。具体的用法请使用?命令查看。

Periodic:为周期性重复使用的时间范围的定义。完整格式为periodic 日期关键字 开始时间 结束时间。其中日期关键字的定义如下所示:

  Monday 星期一

  Tuesday 星期二

  Wednesday 星期三

  Thursday 星期四

  Friday 星期五

  Saturday 星期六

  Sunday 星期天

  daily 每天

  weekdays 周一至五

  weekend 周末

  access-list 101 deny ip 10.1.0.0 0.0.255.255 any time-range TR1:注意这一句最后的time-range TR1,使这条ACL语句与time-range TR1相关联,表明这条语句在time-range TR1所定义的时间范围内才起作用。

  注意:给出三种配置位置是帮助大家深刻理解关于in/out的区别的。
----------------------------------------------------------------------------------------------------------------

实例1:
  防止用户TELNET登录到设备,但允许管理员登录,管理设备在vlan1(192.168.1.0/24)中,管理员 IP:192.168.1.66
  access-list 1 permit host 192.168.1.66
  line vty 0 4(部分设备是15)
  access-class 1 in
说明:telnet都是访问的设备上的line vty,在line vty下面使用access-class与ACL组进行关联,in关键字表示控制进入的连接。

实例2:
  如何查看ACL都过滤了哪些流量?
  在需要记录的acl条目的最后加一个log关键字,另外需要配置设备的日志语句及日志服务器,在此不做说明。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: