01 访问控制列表ACL 1.两大功能: 流量控制 匹配感兴趣流量 2.ACL的3P规则: 在每一个接口的每一个方向上,只能针对每种第三层协议应用一个ACL l 每种协议一个 ACL :要控制接口上的流量,必须为接口上启用的每种协议定义相应的 ACL。 l 每个方向一个 ACL :一个 ACL 只能控制接口上一个方向的流量。要控制入站流量和出站流量,必须分别定义两个 ACL。 l 每个接口一个 ACL :一个 ACL 只能控制一个接口上的流量。 3.ACL的规范: l 每个接口,每个方向,每种协议,你只能设置1 个ACL。 l ACL的语句顺序决定了对数据包的控制顺序。在ACL中各项语句的放置顺序是很重要的。当路由器决定某一数据包是被转发还是被丢弃时,会按照各项语句在ACL中的顺序,根据各语句的判断条件,对数据包进行检查,一旦找到了某一匹配条件就结束比较过程,不再检查以后的其他条件判断语句 l 把最有限制性的语句放在ACL语句的首行或者语句中靠近前面的位置上,把“全部允许”或者“全部拒绝”这样的语句放在末行或接近末行,可以防止出现诸如本该拒绝(放过)的数据包被放过(拒绝)的情况。 l 你不可能从ACL 从除去1 行,除去1 行意味你将除去整个ACL。 l 默认ACL 结尾语句是deny any,所以你要记住的是在ACL 里至少要有1 条permit 语句 l 创建了ACL 后要把它应用在需要过滤的接口上, l ACL只能过滤穿过路由器的数据流量,不能过滤由本路由器上发出的数据包。 l 在路由选择进行以前,应用在接口in方向的ACL起作用。 l 在路由选择决定以后,应用在接口out方向的ACL起作用。 4.标准访问控制列表: 只能根据源地址做过滤 针对整个协议采取相关动作(允许或禁止) 建议将标准访问控制列表放在里目的地址近的地方,因为标准访问控制列表只能对源IP地址进行过滤 扩展访问控制列表: 能根据源、目的地地址、端口号等等进行过滤 能允许或拒绝特定的协议 建议将扩展的访问控制列表放在离源IP地址近的地方,因为扩展访问控制列表可以进行更细化的一些过滤 02 ACL的范围 1.ACL的入站及出站: 03 ACL的入站及出站 2.入站: 在路由选择进行以前,应用在接口in方向的ACL起作用。 当接口入方向收到一个数据包,首先检查接口是否有调用ACL: l 没有ACL,则根据IP包头中的目的地址查路由 l 有ACL,则根据语句顺序进行匹配,如果匹配中,动作为permit,查路由 l 有ACL,则根据语句顺序进行匹配,如果匹配中,动作为deny,则丢弃 l 有ACL,则根据语句顺序进行匹配,如果一条语句都没有匹配中,最后会被被deny any匹配中,则丢弃 3.出站: 在路由选择决定以后,应用在接口out方向的ACL起作用 l 根据IP包头中的目的地址查路由,有路由,则选择出接口,没有路由,则直接丢弃 l 根据路由查到出接口,出接口out方向是否调用ACL? l 没有ACL,则直接从接口送出去 l 有ACL,则根据语句顺序进行匹配,如果匹配中,动作为permit,则从出接口送出去 l 有ACL,则根据语句顺序进行匹配,如果匹配中,动作为deny,则丢弃 l 有ACL,则根据语句顺序进行匹配,如果一条语句都没有匹配中,最后会被被deny any匹配中,则丢弃 04 ACL的匹配流程及配置 l 根据语句顺序进行匹配,如果匹配中一条语句,则直接执行动作 l 如果第一条语句没有匹配中,则匹配第二条 l 末尾隐含deny any 1.通配符掩码: 0 表示严格匹配 1 表示无所谓 简写1: access-list 1 permit 192.168.1.1 0.0.0.0 access-list 1 permit host 192.168.1.1 简写2: access-list 1 permit 0.0.0.0 255.255.255.255 access-list 1 permit any 2.标准ACL配置: access-list 1 deny 192.168.1.1 0.0.0.0 access-list 1 permit 0.0.0.0 255.255.255.255 ! interface e0 ip access-group 1 in 记住:“no access-list access-list-number” 将会删除整个ACL列表。 配置了ACL一定要在接口下调用,否则不生效,或者接口下调用了ACL,但是全局下没有这个ACL,也不生效。 3.扩展ACL配置: access-list 100 deny tcp any host 192.168.2.200 eq 23 access-list 100 permit ip any any ! interface e1 ip access-group 1 out 记住:“no access-list access-list-number” 将会删除整个ACL列表 4.命名标准ACL配置: ip access-list standard 1 (可以是序号,也可以是名字) 10 permit host 192.168.1.1 20 permit any 5.命名扩展ACL配置: ip access-list extended 100 (可以是序号,也可以是名字) 10 deny tcp any host 192.168.2.200 eq 23 20 permit ip any any 命名序列号步长默认为10 05 ACL的修改及示例 1.ACL语句修改: ip access-list extended 100 no 10 //删除语句10 11 deny tcp any host 192.168.2.200 eq 80 //在语句20前插入一条,序号为11 从定义ACL序列号步长: ip access-list resequence xxxx(ACL序号或命名) 10 10 (递增数值) 2.ACL几个示例: l 拒绝192.168.2.0 网段,使用TCP协议,去访问其他网段的23端口 ip access-list extended 101 10 deny tcp 192.168.2.0 0.0.0.255 any eq telnet 20 permit ip any any l 禁止所有网段访问192.168.1.1的snmp端口 ip access-list extended 110 10 deny udp any host 192.168.1.1 eq snmp s20 permit ip any any l 拒绝172.16.4.0 网段,使用TCP协议,去访问172.16.3.0网段的20,21端口,放行其他流量 ip access-list extended 101 10 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 21 20 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 20 30 permit ip any any l 禁止172.16.0.0-172.16.255.0/24之间所有偶数子网访问192.168.1.1的80端口 ip access-list extended 101 10 deny tcp 172.16.0.0 0.0.254.255 host 192.168.1.1 eq 80 20 permit ip any any 一个练习而已,不要当真!! l 禁止192.168.1.0网段使用 6666端口访问192.168.2.0的3389端口 ip access-list extended 101 10 deny tcp/udp 192.168.1.0 0.0.0.255 eq 6666 192.168.2.0 0.0.0.255 eq 3389 3.查看ACL: show run | section access-list show ip access-lists show ip access-lists interface vlan 10 show ip interface vlan 10 Vlan10 is up, line protocol is up Outgoing access list is not set Inbound access list is 100 4.限制设备管理: 只允许192.168.1.1,192.168.2.1管理设备 access-list 1 permit 192.168.1.1 access-list 1 permit 192.168.2.1 ! line vty 0 4 transport input telnet access-class 1 in 5.注意事项: 交换机的二层接口只能调用in方向的ACL 二层交换机有能力查看ACL中的匹配条件,如源目IP,端口号等等,只是是否有必要而已 交换机ACL可以调用在SVI,或者三层接口上,方法与路由器三层接口一样。 |
|
来自: 新用户16501297 > 《网络知识》