访问控制列表
A. 访问控制列表的作用和组成是什么
标准和扩展标准的ACL使用 1 ~ 99 以及1300~1999之间的数字作为表号 扩展的ACL使用 100 ~ 199以及2000~2699之间的数字作为表号作用:控制流量对网络统一管理流量允许、拒绝用 标准ACL对单以服务或协议控制允许、拒绝用 扩展ACL。
B. 什么是访问控制列表
下面是对几种访问控制列表的简要总结。
●标准IP访问控制列表
一个标准IP访问控制列表匹配IP包中的源地址或源地址中的一部分,可对匹配的包采取拒绝或允许两个操作。编号范围是从1到99的访问控制列表是标准IP访问控制列表。
●扩展IP访问控制列表
扩展IP访问控制列表比标准IP访问控制列表具有更多的匹配项,包括协议类型、源地址、目的地址、源端口、目的端口、建立连接的和IP优先级等。编号范围是从100到199的访问控制列表是扩展IP访问控制列表。
●命名的IP访问控制列表
所谓命名的IP访问控制列表是以列表名代替列表编号来定义IP访问控制列表,同样包括标准和扩展两种列表,定义过滤的语句与编号方式中相似。
●标准IPX访问控制列表
标准IPX访问控制列表的编号范围是800-899,它检查IPX源网络号和目的网络号,同样可以检查源地址和目的地址的节点号部分。
●扩展IPX访问控制列表
扩展IPX访问控制列表在标准IPX访问控制列表的基础上,增加了对IPX报头中以下几个宇段的检查,它们是协议类型、源Socket、目标Socket。扩展IPX访问控制列表的编号范围是900-999。
●命名的IPX访问控制列表
与命名的IP访问控制列表一样,命名的IPX访问控制列表是使用列表名取代列表编号。从而方便定义和引用列表,同样有标准和扩展之分。
C. 路由器的访问控制列表是怎样设置的
访问控制列表是一种包过滤技术,分为标准访问控制列表(编号为1到99)和扩展访问控制列表(编号为100到199)两类。标准访问控制列表主要是对源地址的控制,适用于所有的协议。
以Cisco2600路由器为例,假设允许192.168.1.0网段内的所有机器通过路由器出去,那么设置如下:access-list 1 permit 192.168.1.0 0.0.0.255interface serial 0ip access-group 1 out其中,0.0.0.255为该网段的通配符掩码。非标准访问控制列表可以实现对源地址和目的地址的双重控制,还可以只针对某一协议作控制。以Cisco路由器为例,假设拒绝192.16.1.0网段内的所有机器通过80端口从路由器访问新浪网站,操作如下:access-list 101 deny tcp 192.168.1.0 0.0.0.255 www.sina.com.cn eq 80access-list 101 permit any anyinterface serial 1ip access-group 101 out
D. 访问控制列表的分类
in的时候判断的是源地址是vlan内的地址,out的时候判断源地址是非本vlan 内的地址。
18、19两个不同的网段,在18网段上加访问列表,
----〉表示能够访问,---X-->;表示不能访问。
ip access-l exte test_liu
deny ip host 10.24.18.5 host 10.24.19.30
permit ip any any
__________________________________________________
inter vlan 18
ip access-g test_liu in
exit
测试:18.5--X-->19.30
19.30--X-->18.5
访问列表生效,在IN 方向判断源地址18.5属于本VLAN
___________________________________________________
inter vlan 18
ip access-g test_liu out
exit
测试:18.5---->19.30
19.30---->18.5
访问列表不生效,在OUT方向判断源地址18.5属于本VLAN,不作限制
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
ip access-l exte test_liu
deny ip host 10.24.19.30 host 10.24.18.5
permit ip any any
----------------------------------------------------
inter vlan 18
ip access-g test_liu in
exit
测试:18.5---->19.30
19.30---->18.5
访问列表不生效,在in方向判断源地址19.30不属于本VLAN,不作限制
__________________________________________________ 配置路由器
动态路由已设好,IP地址分配如下:
RouterA f0/0: 10.65.1.2
RouterA f0/1: 10.66.1.2
RouterA s0/1: 10.68.1.2
RouterC s0/0: 10.68.1.1
RouterC s0/1: 10.78.1.2
RouterB s0/0: 10.78.1.1
RouterB s0/1: 10.69.1.2
RouterB f0/0: 10.70.1.2
SWA:10.65.1.8gateway:10.65.1.2
PCA:10.65.1.1gateway:10.65.1.2
PCB:10.66.1.1gateway:10.66.1.2
PCC:10.69.1.1gateway:10.69.1.2
PCD:10.70.1.1gateway:10.70.1.2
PCE:10.65.1.3gateway:10.65.1.2
PCF:10.65.2.1gateway:10.65.1.2
基本基础
先从PCA ping PCD:
[root@PCA @root]#ping 10.70.1.1 (通)
在ROC的s0/0写一个输入的访问控制列表:
RouterC(config)#access-list 1 permit 10.65.1.1 0.0.0.0
RouterC(config)#access-list 1 deny any
RouterC(config)#int s0/0
RouterC(config-if)#ip access-group 1 in
RouterC(config-if)#end
RouterC#sh access-list 1
[root@PCA @root]#ping 10.70.1.1(通)
[root@PCE @root]#ping 10.70.1.1(不通)
[root@PCE @root]#ping 10.66.1.1(通)
[root@PCB @root]#ping 10.70.1.1(不通)
[root@PCD @root]#ping 10.66.1.1(通)
第一个ping,PCA的IP地址是10.65.1.1在访问控制列表access-list 1中是
允许的,所以通。
第二个ping,PCE虽然是65网段,但是access-list 1对10.65.1.1是完全匹配,
所以10.65.1.3的数据包不能通过。
第三个ping,PCE到PCB不通过RouterC的s0/0,所以能通。
第四个ping,PCB的IP地址是10.66.1.1,它是被禁止的,所以不通。
第五个ping,从PCD到PCB的数据包是从RouterC的s0/0口出,不受access-list 1
的控制,所以通。
下面再写一个访问控制列表,先删除原访问控制列表:
RouterC(config)#no access-list 1
RouterC(config-if)#no ip access-group 1 in
二者都可能实现去掉访问列表的目的。前者是从列表号角度删除,后者是从接口
的输入和输出角度删除。
可以通过sh access-list <n> 命令查看访问控制列表。
下面再写一个访问控制列表:
RouterC(config)#access-list 2 deny 10.65.1.1 0.0.0.255
RouterC(config)#access-list 2 permit any
RouterC(config)#int s0/0
RouterC(config-if)#ip access-group 1 out
RouterC(config-if)#end
RouterC#sh access-list 1
这个访问控制列表比上一个访问控制列表有以下几点不同:
⑴ 先deny后permit,
⑵ 禁止的是一个C类
⑶ 一个输出的访问控制
[root@PCA @root]#ping 10.69.1.1(不通)
[root@PCE @root]#ping 10.69.1.1(不通)
[root@PCF @root]#ping 10.69.1.1(通)
[root@PCB @root]#ping 10.69.1.1(通)
因为PCA和PCE的IP地址10.65.1.1、10.65.1.3,在deny范围内,所以不通。
而PCF的IP是10.65.2.1不在10.65.1.0 0.0.0.255范围内,所以能通。
梯形基本
访问控制列表一般是顺序匹配的,梯形结构,下面是一个参考:
RouterC(config)#access-list 4 permit 10.65.1.1
RouterC(config)#access-list 4 deny 10.65.1.0 0.0.0.255
RouterC(config)#access-list 4 permit 10.65.0.0 0.0.255.255
RouterC(config)#access-list 4 deny 10.0.0.0 0.255.255.255
RouterC(config)#access-list 4 permit any
RouterC(config)#int s0/1
RouterC(config-if)#ip access-group 4 out
[root@PCA @root]#ping 10.69.1.1(通)
[root@PCE @root]#ping 10.69.1.1(不通)
[root@PCF @root]#ping 10.69.1.1(通)
[root@PCB @root]#ping 10.69.1.1(不通) 列表格式
---- 标准型IP访问列表的格式如下:---- access-list[list number][permit|deny][source address]---- [address][wildcard mask][log]---- 下面解释一下标准型IP访问列表的关键字和参数。首先,在access和list这2个关键字之间必须有一个连字符-;其次,list number的范围在0~99之间,这表明该access-list语句是一个普通的标准型IP访问列表语句。因为对于Cisco IOS,在0~99之间的数字指示出该访问列表和IP协议有关,所以list number参数具有双重功能: (1)定义访问列表的操作协议; (2)通知IOS在处理access-list语句时,把相同的list number参数作为同一实体对待。正如本文在后面所讨论的,扩展型IP访问列表也是通过list number(范围是100~199之间的数字)而表现其特点的。因此,当运用访问列表时,还需要补充如下重要的规则: 在需要创建访问列表的时候,需要选择适当的list number参数。
允许拒绝
---- 在标准型IP访问列表中,使用permit语句可以使得和访问列表项目匹配的数据包通过接口,而deny语句可以在接口过滤掉和访问列表项目匹配的数据包。source address代表主机的IP地址,利用不同掩码的组合可以指定主机。---- 为了更好地了解IP地址和通配符掩码的作用,这里举一个例子。假设您的公司有一个分支机构,其IP地址为C类的192.46.28.0。在您的公司,每个分支机构都需要通过总部的路由器访问Internet。要实现这点,您就可以使用一个通配符掩码 0.0.0.255。因为C类IP地址的最后一组数字代表主机,把它们都置1即允许总部访问网络上的每一台主机。因此,您的标准型IP访问列表中的access-list语句如下:---- access-list 1 permit 192.46.28.0 0.0.0.255---- 注意,通配符掩码是子网掩码的补充。因此,如果您是网络高手,您可以先确定子网掩码,然后把它转换成可应用的通配符掩码。这里,又可以补充一条访问列表的规则5。
指定地址
---- 如果您想要指定一个特定的主机,可以增加一个通配符掩码0.0.0.0。例如,为了让来自IP地址为192.46.27.7的数据包通过,可以使用下列语句:---- Access-list 1 permit 192.46.27.7 0.0.0.0---- 在Cisco的访问列表中,用户除了使用上述的通配符掩码0.0.0.0来指定特定的主机外,还可以使用host这一关键字。例如,为了让来自IP地址为192.46.27.7的数据包可以通过,您可以使用下列语句:---- Access-list 1 permit host 192.46.27.7---- 除了可以利用关键字host来代表通配符掩码0.0.0.0外,关键字any可以作为源地址的缩写,并代表通配符掩码0.0.0.0 255.255.255.255。例如,如果希望拒绝来自IP地址为192.46.27.8的站点的数据包,可以在访问列表中增加以下语句:---- Access-list 1 deny host 192.46.27.8---- Access-list 1 permit any---- 注意上述2条访问列表语句的次序。第1条语句把来自源地址为192.46.27.8的数据包过滤掉,第2条语句则允许来自任何源地址的数据包通过访问列表作用的接口。如果改变上述语句的次序,那么访问列表将不能够阻止来自源地址为192.46.27.8的数据包通过接口。因为访问列表是按从上到下的次序执行语句的。这样,如果第1条语句是:---- Access-list 1 permit any---- 的话,那么来自任何源地址的数据包都会通过接口。
拒绝列表
---- 在默认情况下,除非明确规定允许通过,访问列表总是阻止或拒绝一切数据包的通过,即实际上在每个访问列表的最后,都隐含有一条deny any的语句。假设我们使用了前面创建的标准IP访问列表,从路由器的角度来看,这条语句的实际内容如下:---- access-list 1 deny host 192.46.27.8---- access-list 1 permit any---- access-list 1 deny any---- 在上述例子里面,由于访问列表中第2条语句明确允许任何数据包都通过,所以隐含的拒绝语句不起作用,但实际情况并不总是如此。例如,如果希望来自源地址为192.46.27.8和192.46.27.12的数据包通过路由器的接口,同时阻止其他一切数据包通过,则访问列表的代码如下:---- access-list 1 permit host 192.46.27.8---- access-list 1 permit host 192.46.27.12---- 注意,所有的访问列表会自动在最后包括deny any语句。---- 顺便讨论一下标准型IP访问列表的参数log,它起日志的作用。一旦访问列表作用于某个接口,那么包括关键字log的语句将记录那些满足访问列表中permit和deny条件的数据包。第一个通过接口并且和访问列表语句匹配的数据包将立即产生一个日志信息。后续的数据包根据记录日志的方式,或者在控制台上显示日志,或者在内存中记录日志。通过Cisco IOS的控制台命令可以选择记录日志方式。 (1) “ACL 的最后一条语句都是隐式拒绝语句” 是什么意思?
每个 ACL 的末尾都会自动插入一条隐含的 deny 语句,虽然ACL中看不到这条语句,它仍其作用。隐含的 deny 语句会阻止所有流量,以防不受欢迎的流量意外进入网络。
(2) 配置ACL后为什么没有生效?
在创建访问控制列表之后,必须将其应用到某个接口才可开始生效。ACL 控制的对象是进出接口的流量。
E. 访问控制列表有几种类型说出不同访问控制列表可控制访问的元素有哪些
标准访问控制列表,扩展访问控制列表,命名访问控制列表,定时访问控制列表。
一个标准IP访问控制列表匹配IP包中的源地址或源地址中的一部分,可对匹配的包采取拒绝或允许两个操作。编号范围是从1到99的访问控制列表是标准IP访问控制列表。
扩展IP访问控制列表比标准IP访问控制列表具有更多的匹配项,包括协议类型、源地址、目的地址、源端口、目的端口、建立连接的和IP优先级等。编号范围是从100到199的访问控制列表是扩展IP访问控制列表。
(5)访问控制列表扩展阅读:
访问控制列表具有许多作用,如限制网络流量、提高网络性能;通信流量的控制,例如ACL可以限定或简化路由更新信息的长度,从而限制通过路由器某一网段的通信流量;提供网络安全访问的基本手段;在路由器端口处决定哪种类型的通信流量被转发或被阻塞,例如,用户可以允许E-mail通信流量被路由,拒绝所有的 Telnet通信流量等。
F. 访问控制列表有什么用
访问控制列表顾名思义就是控制网络访问权限的,可以基于IP地址进行控制也可以基于MAC地址进行控制。
在控制列表中的IP地址或MAC地址依据其设置的允许或拒绝前置条件可以做到只允许控制列表中的IP地址或MAC地址的设备允许或拒绝使用网络