目录
ACL作用
路由器的访问控制列表ACL的作用是(B)
A. ACL可以监控交换的字节数 B. ACL提供路由过滤功能
C. ACL可以检测网络病毒 D. ACL可以提高网络的利用率
通过路由器提供的访问控制列表可以根据一些准则过滤不安全的数据包,如攻击包、病毒包等,以保证网络的可靠性和安全性。ACL适合于所有网络层协议,如IP/IPX/AppleTalk等协议。ACL的定义也是基于每一种协议的,但实际网络应用中,特别是在Internet上,都使用TCP/IP协议,因此基于IP协议的ACL的应用即为普遍。
总结:IP访问控制列表的主要功能
(1) 过滤流入和流出路由器接口的数据包。
(2) 带宽控制、控制对虚拟终端(VTY)的访问(Telnet)
(3) 限定路由更新内容、重新分配路由、触发按需拨号(Dial-on-Demand Routing,DDR)呼叫
(4) 限制诊断(debug)输出和为质量保证服务(QoS)识别、分类流量等。
IP访问控制列表的分类
IP访问控制列表的分为两类:一类是标准访问控制列表、扩展访问控制列表。
(1)标准访问控制列表(IP StandardAccess Lists)
只允许过滤数据包的源地址,根据源网络、子网或主机的IP地址来决定对数据包的过滤,比如拒绝接收还是允许接收。
标准访问控制列表的表号范围是1~99,补充的表号是1300~1999。
举例:当需要配置对虚拟在终端(VTY)的访问控制权限,可以使用标准访问控制列表,设定凡是来自网络管理员的IP地址可以允许通过vty line远程登录到路由器,而来自所有其它地址的数据拒绝通过vty line 进入路由器。
(2)扩展访问控制列表(IP ExtendedAccesss Lists)
允许用户根据以下内容过滤报文:源地址和目的地址,根据源网络或目的网络、子网、主机的IP地址决定数据包的过滤操作,还可以检查指定的协议,根据数据包头中的协议类型进行过滤,如IP协议、TCP协议、和UDP协议等。
扩展访问控制列表的表号范围是100~199,补充的表号是2000~2699。
举例:在发生利用ICMP协议攻击网络的情况下,可以使用扩展访问控制列表设置拒绝所有ICMP协议的数据包通过路由器。此外还可以检查端口号,根据端口号对数据包进行过滤。
举例:为防止“冲击波”蠕虫病毒的传播,可以使用设定拒绝TCP协议的4444端口的所有数据包通过路由器。由于扩展访问列表具有更强的功能、更灵活的配置、更精确的控制和更好的扩展性等优点,因此应用广泛。
IP访问控制列表的过滤准则
(1)特别要注意的是ACL语句的匹配顺序,ACL按照条件语句的顺序从第一条开始执行,数据包只有在跟第一个判断条件不匹配时,才能被交给ACL中的下一条件语句进行比较。当若当匹配成功后,将直接对该条数据执行相应的permit或deny操作。
(2)在CIsco IOS操作系统上,所有的ACL默认拒绝所有,也就是说,如果你书写了一个空的列表,该列表会匹配所有内容,并标记为deny。
(3)IP访问控制列表是一个连续的列表,至少有一个“permit”(允许)
语句和一个或多个“deny”(拒绝)
语句组成。不写明permit或deny时,默认为deny。
(4)使用ACL匹配IP地址,结合通配符掩码可以匹配一定范围内的IP地址。
注意:通配符掩码的作用与子网掩码
的作用刚好相反。0表示匹配,1表示不匹配。
(5)IP访问控制列表的定义格式:access-list 或 ip access-list。
(6)access list命令要求只能使用表号
标识列表,在建立控制列表的同一语句中,同时配置过滤规则;
(7)ip access-list命令,既可以使用表号,也可以使用名字标识一个访问控制列表。在访问控制列表建立并配置号规则之后,列表并不能马上生效,必须将控制列表应用于一个接口、一个VTY line或被其他命令引用之后,列表才能生效。
实战案例1:配置标准IP访问控制列表
在全局配置模式下配置,命令格式:
access-list access-list-number
{permit|deny}
source
wildcard-mask
表号 子网掩码的反码
示例1:只允许源地址为211.105.130.0 255.255.255.0子网上的主机登录到路由器
Router(config) #access-list 10 permit 211.105.130.0 0.0.0.255
Router(config) #
配置应用接口:
Router(config) #line vty 0 5
Router(config-line) #access-class 10 in
查看访问控制列表的配置信息:
在特权用户模式下:
Router #show configuration
!
access-list 10 permit 211.105.130.0 0.0.0.255
!
!
line vty 0 5
access-class 10 in
password 7 01090A1D0A52525C701E18
login
!
查看访问控制列表:
在特权用户模式下:
Router # sh access-lists
Standard IP access list 10
permit 211.105.130.0, wildcard bits 0.0.0.255(74 matches)
示例2:只允许源地址为182.105.130.111和222.112.7.56的两台主机登录路由器。
在全局配置模式下:
Router(config) #access-list 20 permit 182.105.130.111
Router(config) #access-list 20 permit 222.112.7.56
Router(config) #access-list 20 deny any //any代表所有的主机
配置应用接口:
Router(config) #line vty 0 5
Router(config-line) #access-class 20 in
示例3:禁止源地址为非法地址的数据包进入路由器或从路由器输出。
在全局配置模式下:
Router(config) #access-list 30 deny 10.0.0.0 0.255.255.255 log
Router(config) #access-list 30 deny 192.168.0.0 0.0.255.255
Router(config) #access-list 30 deny 127.0.0.0 0.255.255.255
Router(config) #access-list 30 deny 172.16.0.0 0.15.255.255
Router(config) #access-list 30 permit any
配置应用接口:
Router(config) #interface g0/1
Router(config-if) #ip access-group 30 in 将ACL调用在接口上
实战案例2:配置扩展IP访问控制列表
case1:使用access-list命令
在全局配置模式下,命令格式:
access-list access-list-number
{permit|deny}
protocol
source
wildcard-mask
destination
wildcard-mask
[operator]
[operand]
说明:其中operator操作,有“lt”小于、“gt”大于、“eq”等于、“neq”不等于。operand操作数指的是端口号。
示例1:拒绝转发所有IP地址进出的,端口号为1434的UDP协议数据包。
在全局配置模式下:
Router(config) #access-list 130 deny udp any any eq 1434
Router(config) #access-list 130 permit ip any any
Router(config) #
配置应用接口:
Router(config) #interface g0/1
Router(config-if) #ip access-group 130 in
Router(config-if) #ip access-group 130 out
Router(config-if) #
示例2:封禁某一台主机。
在全局配置模式下: //log如果有这种情况发生就在控制台报送一条信息。
Router(config) #access-list 110 deny ip host 202.112.60.230 any log
Router(config) #access-list 110 deny ip any host 202.112.60.230 log
Router(config) #access-list 110 permit ip any any
配置应用接口:
Router(config) #interface g0/1
Router(config-if) #ip access-group 110 in
Router(config-if) #ip access-group 110 out
Router(config-if) #
示例3:封禁ICMP协议,只允许162.105.141.0/24和202.38.97.0/24子网的ICMP数据包通过路由器。
在全局配置模式下;
Router(config) #access-list 198 permit icmp 162.105.141.0 255.255.255.0 any
Router(config) #access-list 198 permit icmp 202.38.97.0 255.255.255.0 any
Router(config) #access-list 198 deny icmp any any
Router(config) #access-list 198 permit ip any any
Router(config) #
配置应用接口:
Router(config) #interface g0/1
Router(config-if) #ip access-group 198 in
Router(config-if) #ip access-group 198 out
Router(config-if) #
case2:使用ip access-list命令
在全局模式下,命令格式:ip access-list extended|standard
access-list-number|name
注:在扩展或标准访问控制模式下(如:router(config-ext-nacl)#),配置过滤规则,命令格式:
{permit|deny}
protocol
source
wildcard-mask
destination
wildcard-mask
[operator]
[operand]
示例:拒绝转发所有IP地址进与出方向的,端口号为1434的UDP协议数据包。
Router(config) #ip access-list extended 130 //进入扩展访问控制列表配置模式
Router(config-ext-nacl) #
Router(config-ext-nacl) #deny udp any any eq 1434
Router(config-ext-nacl) #permit ip any any
Router(config-ext-nacl) #
配置应用接口:
Router(config) #interface g0/1
Router(config-if) #ip access-group 130 in
Router(config-if) #ip access-group 130 out
Router(config-if) #