CCNA-30、ACL
2022-11-16 本文已影响0人
Tess鱼丸
ACL(Access Control List) 访问控制列表
·ACL的两大主要功能
·流量控制
·匹配感兴趣流量
ACL类型
标准的ACL:匹配路由条目,做流量控制
扩展的ACL:做流量控制
表示形式
编号的ACL
命名的ACL
============================================================
标准访问控制列表
·只能根据源地址做过滤
·针对整个协议采取相关动作(允许或禁止)
扩展访问控制列表
·能根据源、目的地地址、端口号等等进行过滤
·能允许或拒绝特定的协议
入方向的接口ACL : 先检查ACL,再查路由表
出方向的接口ACL : 先查路由表,再检查ACL
逻辑关系图======================================================================
ACL最后隐藏了一条拒绝所有的条目,如果前面的条目都没匹配上,就给匹配最后一条,拒绝掉。
======================================================================
ACL的标示
图片.pngACL的配置
标准访问控制列表的配置
标准访问控制列表的配置
Router(config)#access-list access-list-number { permit | deny } source [wildcard mask] #反掩码
·编号选择1-99
·通配符若无,默认0.0.0.0
·"no access-list access-list-number"将会删除整个ACL列表
Router(config-if)#ip access-group access-list-number { in | out }
·在接口中应用
·应用时关联入或出站方向默认出站
·"no ip access-group access-list.numhe"可移除接口上应用的访问列表
通配符
192.168.X.0/24奇数网段
192.168.1.0 0.0.254.255
1111 1110
通配符缩写
192.168.1.1 0.0.0.0 =host 192.168.1.1
精确匹配192.168.1.1这个IP
0.0.0.0 255.255.255.255 =any
匹配所有IP
示例1
只禁止A网段中的192.168.1.1访问外网,其他放行
router(config)# access-list 1 deny 192.168.1.1 0.0.0.0
router(config)# access-list 1 permit 0.0.0.0 255.255.255.255
router(config)# interface e0
router(config-if)# ip access-group 1 in
示例2
只禁止A网段中的192.168.1.1-192.168.1.30访问外网
router(config)# access-list 1 deny 192.168.1.0 0.0.0.31
router(config)# access-list 1 permit any
router(config)# interface e0
router(config-if)# ip access-group 1 in
扩展访问控制列表的配置
拓展ACL可以匹配
源地址
目的地址
端口号
协议
选择越多,就可以匹配的越精确。
Router(config)#access-list access-list-number {permit | deny} protocol source source-wildcard [operator port] destination destination-wildcard [operator port] [established] [log]
Router(config-if)#ip access-group access-list-number { in | out }
·在接口中应用
·应用时关联入或出站方向
示例3
只禁止A网段中的192.168.1.1-192.168.1.30 访问B网段的服务器2.200
router(config)# access-list 100 deny ip 192.168.1.0 0.0.0.31 host 192.168.2.200
router(config)# access-list 100 permit ip any any
router(config)# interface e0
router(config-if)# ip access-group 1 in
示例4
只禁止所有用户访问B网段的服务器的Telnet服务
router(config)# access-list 100 deny tcp any host 192.168.2.200 eq 23
router(config)# access-list 100 permit ip any any
router(config)# interface e1
router(config-if)# ip access-group 1 out
命名访问控制列表的配置
Router(config)# ip access-list {standard | extended} name
Router(config {std- | ext-}nacl)#
[sequence-number] {fpermit | deny} {ip access list test conditions]} {permit | deny} {ipaccess list test conditions}
-lf not configured, sequence numbers are generated automatically starting at 10 and incrementing by 10
-no sequence number removes the specific test from the named ACL
Router(config-if)# ip access-group access-list-number { in | out }
查看ACL
Router# show access-lists {access-list number[name}
Router# show access-lists
Standard lP access list SALES
10 deny 10.1.1.0, wildcard bits 0.0.0.255
20 permit 10.3.3.1
30 permit 10.4.4.1
40 permit 10.5.5.1
Extended lP access list ENG
10 permit tcp host 10.22.22.1 any eq telnet (25 matches)
20 permit tcp host 10.33.33.1 any eq ftp
30 permit tcp host 10.44.44.1 any eq ftp-data
1要求R1不能访问4.4.4.4
标准的ACL:在哪里做比较合 适靠近目的的设备上做比较合适
access-list 1 deny host 192.168.12.1
扩展的ACL 在靠近源做比较合适
access-list 100 deny ip host 192.168.12.1 host 4.4.4.4数据源
记得最后再写一个permit any
查看ACL列表细则
Router#show access-lists
Router#show access-list
还可以进入到acl里再单独no掉某条规则;no 10
R2(config-ext-nac1)#do show access-list 100
Extended IP access list 100
5 deny ip host 192.168.12.1 host 4.4.4.4
20 permit ip any any (10 matches)
还可以进入到acl里再单独no掉某条规则;no 10
再acl里单独添加某条规则,记得号码要小一点,因为它规则由上往下执行,超过20他就先执行那条20的规则,再执行你这个就没用了。
Router(config {std- | ext-}nacl)#5 deny ip host 192.168.12.1 host 4.4.4.4
TIPS
·1.每个接口,每个方向,每种协议,你只能设置1个ACl
·2.组织好你的ACL的顺序,比如测试性的最好放在ACL的最顶部
.3.你不可能从ACL从除去1行,除去1行意味你将除去整个ACL,命名访问列表(named access lists)例外
·4.默认ACL结尾语句是deny any,所以你要记住的是在ACL里至少要有1条permit语句
·5.记得创建了ACL后要把它应用在需要过滤的接口上.
·6.ACL是用于过滤经过router的数据包,它并不会过滤router本身所产生的数据包
·7.尽可能的把IP标准ACL放置在离目标地址近的地方;尽可能的把IP扩展ACL放置在离源地址近的地方
拓展ACL应用到vty
R4(config)#line vty 0 4 #vty里也可以应用ACL
R4(config-7ine)#access-class 10 in
R3(config)#access-list 100 deny tcp host 192.168.23.2 host 4.4.4.4 eq 23 #Telnet是tcp协议,端口23
R3(config)#access-list 100 deny tcp host 192.168.23.2 host 192.168.34.4 eq23
R3(config-if)#int f0/0
R3(config-if)#ip access-group 100 out #再应用到接口