访问控制列表ACL目标理解访问控制列表的工作原理(访问控制列表的作用,路由器对访问控制列表的处理过程)理解访问控制列表的反码掌握访问控制列表的种类掌握标准和扩展访问控制列表的配置方法能够利用访问控制列表对网络进行控制什么是访问控制列表访问控制列表(ACL)应用于路由器接口的指令列表,用于指定哪些数据包可以接收转发,哪些数据包需要拒绝ACL的工作原理读取第三层及第四层包头中的信息根据预先定义好的规则对包进行过滤访问控制列表的作用1-1提供网络访问的基本安全手段可用于QoS,控制数据流量控制通信量主机A主机B人力资源网络研发网络使用ACL阻止某指定网络访问另一指定网络访问控制列表的作用1-2实现访问控制列表的核心技术是包过滤Internet公司总部内部网络未授权用户办事处访问控制列表访问控制列表工作原理2-1通过分析IP数据包包头信息,进行判断(这里IP所承载的上层协议为TCP)IP报头TCP报头数据源地址目的地址源端口目的端口访问控制列表利用这4个元素定义的规则访问控制列表工作原理2-2进入数据包和ACL匹配吗?有更多条目吗?应用条件拒绝允许路由到接口查找路由表是是否是否Icmp消息转发数据包接口上有访问控制列表吗?列表中的下一个条目否路由器对访问控制列表的处理过程3-1外出数据包查找路由表接口上有访问控制列表吗?源地址匹配吗?拒绝允许列表中的下一个条目是是转发数据包Icmp消息否否否有更多条目吗?应用条件是路由器对访问控制列表的处理过程3-2第一步,创建访问控制列表第二步,应用到接口e0的出方向上Router(config)#access-list1deny172.16.4.130.0.0.0Router(config)#access-list1permit172.16.0.00.0.255.255Router(config)#access-list1permit0.0.0.0255.255.255.255Router(config)#interfacefastethernet0/0Router(config-if)#ipaccess-group1out访问控制列表实例使用通配符any和host4-1通配符any可代替0.0.0.0255.255.255.255Router(config)#access-list1permit0.0.0.0255.255.255.255Router(config)#access-list1permitany使用通配符any和host4-2host表示检查IP地址的所有位Router(config)#access-list1permit172.30.16.290.0.0.0Router(config)#access-list1permithost172.30.16.29Deny和permit命令Router(config)#access-listaccess-list-number{permit|deny}{testconditions}允许数据包通过应用了访问控制列表的接口拒绝数据包通过应用访问控制列表使用命令ipaccess-group将ACL应用到某一个接口上在接口的一个方向上,只能应用一个access-listRouter(config-if)#ipaccess-groupaccess-list-number{in|out}访问控制列表的种类基本类型的访问控制列表标准访问控制列表扩展访问控制列表其他种类的访问控制列表基于MAC地址的访问控制列表基于时间的访问控制列表扩展acl标准acl路由器B路由器C路由器D路由器AS0S0S1S1E0E0E1E0E0E1应用访问控制列表源目的标准访问控制列表5-1标准访问控制列表根据数据包的源IP地址来允许或拒绝数据包访问控制列表号从1到99标准访问控制列表5-2标准访问控制列表只使用源地址进行过滤,表明是允许还是拒绝从172.16.4.0/24来的数据包可以通过!从172.16.3.0/24来的数据包不能通过!路由器如果在访问控制列表中有的话应用条件拒绝允许更多条目?列表中的下一个条目否有访问控制列表吗?源地址不匹配是匹配是否Icmp消息转发数据包标准访问控制列表5-3标准访问控制列表的配置第一步,使用access-list命令创建访问控制列表第二步,使用ipaccess-group命令把访问控制列表应用到某接口,access-class命令把访问列表应用到网络设备的线路上,允许或拒绝远程管理设备Router(config)#access-listaccess-list-number{permit|deny}source[source-wildcard][log]Router(config-if)#ipaccess-groupaccess-list-number{in|out}标准ACL应用1:允许特定源的流量6-1172.16.3.0172.16.4.0Non-172.16.0.0E0E1S0172.16.4.13标准ACL应用:允许特定源的流量6-2第一步,创建允许来自172.16.0.0的流量的ACL第二步,应用到接口E0和E1的出方向上Router(config)#access-list1permit172.16.0.00.0.255.255Router(config)#interfacefastethernet0/0Router(config-if)#ipaccess-group1outRouter(config)#interfacefastethernet0/1Router(config-if)#ipaccess-group1out1、单地址地址0.0.0.02、子网网络号反掩码192.168.1.10.0.0.0192.168.1.00.0.0.255255.255.255.0Access-list2permit192.168.1.20.0.0.0Access-list2denyhost192.168.1.3标准ACL应用:拒绝特定主机的通信流量第一步,创建拒绝来自172.16.4.13的流量的ACL第二步,应用到接口E0的出方向Router(config)#access-list1denyhost172.16.4.13Router(config)#access-list1permit0.0.0.0255.255.255.255Router(config)#interfacefastethernet0/0Router(config-if)#ipaccess-group1outany标准ACL应用:拒绝特定子网的流量第一步,创建拒绝来自子网172.16.4.0的流量的ACL第二步,应用到接口E0的出方向Router(config)#access-list1deny172.16.4.00.0.0.255Router(config)#access—list1permitanyRouter(config)#interfacefastethernet0/0Router(config-if)#ipaccess-group1out0.0.0.0255.255.255.255扩展访问控制列表7-1扩展访问控制列表基于源和目的地址、传输层协议和应用端口号进行过滤每个条件都必须匹配,才会施加允许或拒绝条件使用扩展ACL可以实现更加精确的流量控制访问控制列表号从100到199扩展访问控制列表7-2扩展访问控制列表使用更多的信息描述数据包,表明是允许还是拒绝从172.16.3.0/24来的,到172.16.4.13的,使用TCP协议,利用HTTP访问的数据包可以通过!路由器有访问控制列表吗?源地址目的地址协议协议任选项应用条件拒绝允许更多条目?列表中的下一个条目不匹配否是匹配匹配匹配匹配是否Icmp消息转发数据包如果在访问控制列表中有的话扩展访问控制列表7-3不匹配不匹配不匹配端口号关键字描述TCP/UDP20FTP-DATA(文件传输协议)FTP(数据)TCP21FTP(文件传输协议)FTPTCP23TELNET终端连接TCP25SMTP简单邮件传输协议TCP42NAMESERVER主机名字服务器UDP53DOMAIN域名服务器(DNS)TCP/UDP69TFTP普通文件传输协议(TFTP)UDP80第一步,使用access-list命令创建扩展访问控制列表Router(config)#access-listaccess-list-number{permit|deny}protocol[sourcesource-wildcarddestinationdestination-wildcard][operatorport][established][log]扩展访问控制列表操作符的含义操作符及语法意义eqportnumber等于端口号portnumbergtportnumber大于端口号portnumberltportnumber小于端口号portnumberneqportnumber不等于端口号portnumber扩展访问控制列表的配置8-2扩展访问控制列表的配置8-3第二步,使用ipaccess-group命令将扩展访问控制列表应用到某接口Router(config-if)#ipaccess-groupaccess-list-number{in|out}扩展ACL应用1:拒绝ftp流量通过E0第一步,创建拒绝来自172.16.4.0、去往172.16.3.0、ftp流量的ACL第二步,应用到接口E0的出方向Router(config)#access-list101denytcp172.16.4.00.0.0.255172.16.3.00.0.0.255eq21Router(config)#access-list101permitipanyanyRouter(config)#interfacefastthernet0/0Router(config-if)#ipaccess-group101out扩展ACL应用2:拒绝telnet流量通过E0第一步,创建拒绝来自172.16.4.0、去往172.16.3.0、telnet流量的ACL第二步,应用到接口E0的出方向上Router(config)#access-list101denytcp172.16.4.00.0.0.255172.16.3.00.0.0.255eq23Router(config)#access-list101permitipanyanyRouter(config)#interfacefastethernet0/0Router(config-if)#ipaccess-group101out命名的访问控制列表9-1标准ACL和扩展ACL中可以使用一个字母数字组合的字符串(名字)代替来表示ACL的表号命名IP访问列表允许从指定的访问列表删除单个条目如果添加一个条目到列表中,那么该条目被添加到列表末尾不能以同一个名字命名多个ACL在命名的访问控制列表下,permit和deny命令的语法格式与前述有所不同命名的访问控制列表9-2第一步,创建名为cisco的命名访问控制列表第二步,指定一个或多个permit及deny条件第三步,应用到接口E0的出方向Router(config)#interfacefastethernet0/0Router(config-if)#ipaccess-groupciscooutRouter(config)#ipaccess-listextendedciscoRouter(config-ext-nacl)#denytcp172.16.4.00.0.0.255172.16.3.00.0.0.255eq23Router(config-ext-nacl)#permitipa