基本原则: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 evaluatecisco 创建进来数据的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关键字,另外需要配置设备的日志语句及日志服务器,在此不做说明。
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com