今天这一期的CCNA教程是一个挺关键的知识点,本来是两期分开的,但是我觉得内容完全是一码事,所以放在了一起。Access control list,中文译作访问控制列表,顾名思义就是可以控制特定的客户访问特定的源的这个功能。对于实际应用来说,可以限制某些主机访问某些服务。
或者说呢,ACL类似于一个过滤器,可以配置在路由器上,允许路由器丢弃或者通过特定的流量。可以通过特定的参数来筛选源头/目的地的IP地址,特定的IP端口等等
ACL必须在global configure模式下配置,配置后必须在端口上应用,不在端口上应用是不会生效的。
ACL可以配置多条,执行时会按照配置的顺序来执行,从上到下。如果一个包刚好匹配到其中一条,那么后面的不会继续执行,直接被忽略掉。如果所有的条目都不匹配,那么该包会被丢弃的。
ACL在端口应用时,可以选择输出或者输入两个方向。但是有数量限制,每个端口的输入最多只能有一个ACL(可以有多个条目),输出也一样。
ACL分为两大类,Standard ACL和 Extended ACL,其中每一类又根据配置方法不同分为 numbered 和 named 两类。
Standard ACL 只能根据source IP address进行过滤,因此越接近目的地越好,这样可以避免在早期就过滤后影响到其他服务。
Standard Numbered ACL 通过数字来标识自己,其范围必须是1-99和1300-1999这两个里。配置方法为进入config模式
access-list number {deny | permit} ip wildcard-mask
number就是按照之前说的必须在规定范围内,deny 和permit必须选一个 最后跟的是反掩码
如下面例子中,三种配置方法是一样的效果,但是我个人建议使用第一个更加标准,另外两个只能是特定某一台主机才行
access-list 1 deny 1.1.1.1 0.0.0.0
access-list 1 deny 1.1.1.1
access-list 1 deny host 1.1.1.1
如下面例子中,两种配置都是允许所有IP通过,后一个更加标准,一般情况下最后都要加上permit ,不然会把其他的包都丢弃
access-list 1 permit any
access-list 1 permit 0.0.0.0 255.255.255.255
除此之外,可以添加一个备注
access-list remark ##BLOCK BOB FROM ACCOUNTING##
想查看状态可以
show access-lists
show ip access-lists
show running-config | include access-list
show running-config | section access-list
![](/wp-content/uploads/2021/11/image.png)
到了最核心的应用在端口上,选择某个端口后 int g0/0
ip access-group number {in | out}
这里记住 是access-group 而不是access-list
Standard Named ACL 通过名字来标识自己。配置方法为进入config模式,之后有一点不一样,通过名字来配置ACL可以先申明名字,然后一条一条的加参数,而不是像numbered必须一开始就要写参数
ip access-list standard acl-name
之后会进入到该ACL的配置中
[entry number] {deny | permit} ip wildcard-mask
entry number 越小优先级越高,如果不配置就和numbered acl一样按照你输入的顺序逐条执行
举例来看
ip access-list standard BLOCK_BOB
5 deny 1.1.1.1
10 permit any
也可以加备注
remark ##configured nov 21 2020##
最后应用到端口 int g0/0
ip access-group BLOCK_BOB in
查看命令和numbered的一样
这里注意一下,在新的路由器甚至Cisco Packet Tracker中,numbered配置方法其实和named一样可以用后面的命令
这里稍微一下,尽量使用named,理由是在named 模式下可以查看,可以编辑,可以删除 acl,但是在numbered下只能一条一条输入命令,一旦有错误或者需要修改的必须重新来一遍,所以一旦遇到大型网络或者很复杂的ACL时,用named可以减少工作量和便于修改(前面加entry number可以实现插入)。而在numbered模式下,一旦你删除一条,那么整个都会被删除掉。
两种模式下还有一个命令用来重新排序的
ip access-list resequence acl-id starting-seq-num increment
其中acl-id 就是你要修改的那个acl number,starting-seq-num是排序后从多少开始, increment是每次加多少
如下图所示,
![](/wp-content/uploads/2021/11/image-1-1.png)
Extended ACL和 Standard ACL功能是一样的,但是更加强大,除了source ip以外还可以过滤 destination ip address, port number 等
首先是Extended numbered ACL,可以使用的 ACL number不太一样,变成了 100-199, 2000-2699两个范围
命令如下
access-list number [permit | deny] protocol src-ip dest-ip
其次 Extended named ACL配置命令也类似,
ip access-list extended [name | number]
进入到named模式后,
[seq-num] [permit | deny] protocol src-ip dest-ip
这里protocol可以直接写协议名字也可以写端口号,哪个好记用哪个,如下图可以看到什么EIGRP,OSPF,IP等等都可以过滤
常用的就记住 Ping使用ICMP 端口号是1
TCP用6
UDP用17
EIGRP用88
OSPF用89
![](/wp-content/uploads/2021/11/image-2-1.png)
由于TCP和UDP包含了很多协议,因此可以添加选项参数,来特定某个协议
举例来说
deny tcp src-ip [eq | gt | lt | neq | range] src-port-num dest-ip [eq | gt | lt | neq | range] dst-port-num
其中 eq就是equal 等于 gt就是大于 great than lt就是小于 less than neq就是不等于 not equal range就是范围 如下图所示
![](/wp-content/uploads/2021/11/image-3.png)
这里还有很多协议,有一些超出了CCNA范畴,不过只要申明了特殊参数,就必须匹配,只要是有一条参数不匹配,那么就不符合该条ACL
这里注意,extended因为更加精确,因此不怕过滤掉其他协议,所以尽可能配置在接近源头的端口,减少带宽的浪费,
还有一点是我在做测试的时候发现,禁止访问http等,其实应该禁止的是目的地的端口,因此特殊参数应该用destination的,而不是source的
-------------------------------------------------------分隔符-------------------------------------------------------------------
-------------------------------------------------------分隔符-------------------------------------------------------------------
-------------------------------------------------------分隔符-------------------------------------------------------------------
-------------------------------------------------------分隔符-------------------------------------------------------------------
-------------------------------------------------------分隔符-------------------------------------------------------------------
-------------------------------------------------------分隔符-------------------------------------------------------------------
-------------------------------------------------------分隔符-------------------------------------------------------------------
-------------------------------------------------------分隔符-------------------------------------------------------------------
-------------------------------------------------------分隔符-------------------------------------------------------------------
-------------------------------------------------------分隔符-------------------------------------------------------------------
Day 34 Anki Flashcard下载:https://drive.google.com/file/d/13iwZHX_DBMeLBCQksnbXJwxoOjgRpIwW/view?usp=sharing
Day 35 Anki Flashcard下载: https://drive.google.com/file/d/1jgYmhxnG9f4dBgqFR8gdAlkyQp2o1AfT/view?usp=sharing
Day 34 Cisco Packet Tracer 练习题下载:https://drive.google.com/file/d/1jp132aDW4uJth2tYVsKjR7YXtm1WxWFw/view?usp=sharing
Day 35 Cisco Packet Tracer 练习题下载: https://drive.google.com/file/d/1rhMucDNy1PB2Q_DNRKWk0BReP_w62EGB/view?usp=sharing
Day 34 Cisco Packet Tracer 练习题完成下载:https://drive.google.com/file/d/1JxWdEy5_A7I3lwKDWrItCBeBmsD3pHUT/view?usp=sharing
Day 35 Cisco Packet Tracer 练习题完成下载: https://drive.google.com/file/d/1Jc98WvN5MxfVl73XPYKYJUxnlbepulGv/view?usp=sharing
0 条评论