第7章使用访问控制列表实现IP信息管理本章目标•了解访问控制列表的基本知识•计算通配符掩码•配置IP标准访问控制列表•配置IP扩展访问控制列表•控制VTY访问控制•用NAT和PAT扩展网络7.1访问控制列表7.1.1什么是访问列表OutgoingPacketE0S0IncomingPacketAccessListProcessesPermit?SourceandDestinationProtocol•标准的–检验源地址–一般允许或者禁止整个协议栈•扩展的–检查源和目的地址–通常允许或者禁止某个具体的协议•访问控制列表要绑定到路由器的接口的输入或输出方向上7.1.2为什么使用访问列表FDDI172.16.0.0172.17.0.0TokenRingInternet•管理IP网络资源•过滤通过路由器的数据包7.1.3访问控制列表的类型•标准型访问控制列表•扩展型访问控制列表7.2如何操作访问控制列表7.2.1访问列表作用方向•入站访问列表•出站访问列表7.2.2访问控制列表的作用•允许或者阻止某些通过路由器的包•允许或禁止远程登录到路由器•没有访问控制列表所有的包将通过路由器Virtualterminallineaccess(IP)Transmissionofpacketsonaninterface7.2.2访问控制列表的作用(续)路由过滤RoutingTableQueueList优先极和定制队列的应用按需拨号路由访问控制列表的应用很广7.2.3出站访问列表NotifySender如果没有匹配的访问控制列表,将丢弃这个包NY包丢弃桶ChooseInterfaceRoutingTableEntry?NYTestAccessListStatementsPermit?YAccessList?DiscardPacketNOutboundInterfacesPacketPacketS0E0InboundInterfacePackets7.2.4测试清单:拒绝或允许进入端口的包包丢弃桶Y接口目的地DenyYMatchFirstTest?PermitNDenyPermitMatchNextTest(s)?DenyMatchLastTest?YYNYYPermitImplicitDeny如果不匹配所有的规则,则丢弃DenyN7.3访问列表配置指南•访问控制列表的编号标明哪个协议是被过滤的•每个接口,每个协议,每个方向上可以有一个访问控制列表•访问控制列表的顺序决定被检验的顺序•最特殊的规则应该被放到访问控制列表的前面•在访问控制列表的最后有隐含的规则“禁止所有的”•访问控制列表应绑定到端口上•访问控制列表过滤通过路由器的包;但是不能过滤由路由器自身产生的包7.3.1如何标识访问列表号码范围/标志IP1-99100-199Name(CiscoIOS11.2andlater)800-899900-9991000-1099Name(CiscoIOS11.2.Fandlater)标准的扩展的SAP过滤的名字的标准的扩展的名字的访问控制列表类型IPX•标准的访问控制列表(1to99)检验所有从源地址产生的IP包•扩展访问控制列表(100to199)检验源和目的地址,具体的TCP/IP协议和目的端口•其他的访问控制列表检验其他的网络协议7.3.2配置IP访问控制列表7.3.2.1访问列表命令概述第一步:设置访问控制列表测试语句(一个列表可以由一条或多条语句组成)Router(config)#第二步:在接口上启用特定的访问控制列表{protocol}access-groupaccess-list-number{in|out}Router(config-if)#access-listaccess-list-number{permit|deny}{testconditions}7.3.2.2配置标准IP访问列表access-listaccess-list-number{permit|deny}source[mask]Router(config)#•把列表应用到端口上•设置进入方向还是出去方向的检验•默认的是出去方向的检验•“noipaccess-groupaccess-list-number”将从端口上删除这个访问控制列表Router(config-if)#ipaccess-groupaccess-list-number{in|out}•标准的访问控制列表用1to99•默认的通配符=0.0.0.0•“noaccess-listaccess-list-number”删除整个访问控制列表7.3.2.2标准IP访问列表示例1只允许访问一个网段access-list1permit172.16.0.00.0.255.255(implicitdenyall-notvisibleinthelist)(access-list1deny0.0.0.0255.255.255.255)interfaceethernet0ipaccess-group1outinterfaceethernet1ipaccess-group1out172.16.3.0172.16.4.0172.16.4.13E0S0E1Non-172.16.0.07.3.2.2标准IP访问列表示例2access-list1deny172.16.4.130.0.0.0access-list1permit0.0.0.0255.255.255.255(implicitdenyall)(access-list1deny0.0.0.0255.255.255.255)interfaceethernet0ipaccess-group1out172.16.3.0172.16.4.0172.16.4.13E0S0E1Non-172.16.0.0只拒绝一个具体的主机7.3.2.2标准IP访问列表示例3access-list1deny172.16.4.00.0.0.255access-list1permitany(implicitdenyall)(access-list1deny0.0.0.0255.255.255.255)interfaceethernet0ipaccess-group1out172.16.3.0172.16.4.0172.16.4.13E0S0E1Non-172.16.0.0只拒绝一个具体的子网7.3.2.3扩展IP访问列表配置Router(config-if)#ipaccess-groupaccess-list-number{in|out}•将访问控制列表应用到端口上•设置访问控制列表Router(config)#access-listaccess-list-number{permit|deny}protocolsourcesource-wildcard[operatorport]destinationdestination-wildcard[operatorport][established][log]7.3.2.3扩展访问列表示例1access-list101denytcp172.16.4.00.0.0.255172.16.3.00.0.0.255eq21access-list101denytcp172.16.4.00.0.0.255172.16.3.00.0.0.255eq20access-list101permitipanyany(implicitdenyall)(access-list101denyip0.0.0.0255.255.255.2550.0.0.0255.255.255.255)interfaceethernet0ipaccess-group101out•禁止从子网172.16.4.0到子网172.16.3.0从E0出去的FTP服务•允许所有其他的包172.16.3.0172.16.4.0172.16.4.13E0S0E1Non-172.16.0.07.3.2.3扩展访问列表示例2access-list101denytcp172.16.4.00.0.0.255anyeq23access-list101permitipanyany(implicitdenyall)interfaceethernet0ipaccess-group101out•禁止网络172.16.4.0从E0出去的telnet•允许其他所有的IP包172.16.3.0172.16.4.0172.16.4.13E0S0E1Non-172.16.0.07.3.2.3标准和扩展访问列表对比标准的扩展的只过滤源过滤源或者目的地址允许或者禁止整个TCP/IP协议允许或者禁止一个具体的协议和端口号.范围是从100到199.范围是从1到997.3.3.4实际应用步骤•第1步:创建一个访问控制列表•第2步:指定接口•第3步:定义方向7.4如何控制vty访问01234虚拟端口(vty0到4)物理端口(Telnet)•设置IP地址过滤,需用标准的访问控制列表•用线模式并且使用access-class命令•在所有vty上设置统一的过滤Router#e07.4.1过滤到路由器的虚拟终端(vty)访问•五个虚拟通道(0到4)•过滤哪些地址能登录到路由器上•过滤路由器能登录到哪些设备上01234虚拟端口(vty0到4)物理端口e0(远程登录)完全控制端口(直连的))完全控制e07.4.1虚拟终端的line命令•进入远程访问的线模式•应用访问控制列表限制进入或者出去方向access-classaccess-list-number{in|out}linevty#{vty#|vty-range}Router(config)#Router(config-line)#7.4.2虚拟终端访问示例•只允许网段192.89.55.0的主机远程登录到路由器上access-list12permit192.89.55.00.0.0.255!linevty04access-class12in7.5使用名称IP访问列表Router(config)#ipaccess-list{standard|extended}nameRouter(config{std-|ext-}nacl)#{permit|deny}{ipaccesslisttestconditions}{permit|deny}{ipaccesslisttestconditions}no{permit|deny}{ipaccesslisttestconditions}Router(config-if)#ipaccess-groupname{in|out}•适用于CiscoIOS11.2版本或者以后的•允许或者禁止的声明没有预先约定说明的数字•“no”是从访问控制列表删除具体的某一项检验•将名字的访问控制列表应用到端口上7.6验证访问控制列表wg_ro_a#showipinte0Ethernet0isup,lineprotocolisupInternetaddressis10.1.1.11/24Broadcastaddressis255.255.255.255AddressdeterminedbysetupcommandMTUis1500bytesHelperaddressisnotsetDirectedbroadcastforwardingisdisabledOutgoingaccesslistisnotsetInboundaccesslistis1ProxyARPisenabledSecuritylevelisdefaultSplithorizonisenabledICMPredirectsarealwayssentICMPunreachablesarealwayssentICMPmaskrepliesareneversenttextommitted7.6验证访问控制列表(续)wg_ro_a#showaccess-listsStandardIPaccesslist1permit10.2.2.1permit10.3