1、第 4 章 网络系统安全4.1 ACL概述4.2 标准ACL4.3 扩展ACL4.4 RACL4.5 防火墙概述4.6 PIX防火墙的基本配置4.7 PIX防火墙的NAT与PAT配置4.8 PIX防火墙的管理配置4.9 PIX防火墙的ACL配置4.10 PIX防火墙的对象分组配置4.11 PIX防火墙的DHCP服务器配置4.12 PIX防火墙的DHCP中断代理配置第 4 章 网络系统安全ACL可以为流过网络的流量提供一个基本级别的安全保护。默认情况下,路由器不过滤任何流量,可以通过为路由器配置和应用ACL来过滤通过路由器的流量。ACL通常用来阻止不同设备访问特定的服务、特定的设备或者特定的网络
2、部分。ACL是应用于路由器接口的指令列表。这些指令列表用来告诉路由器哪些数据包可以进入或离开、哪些数据包要被拒绝。所以,ACL往往被看做是一种流量过滤工具。4.1 ACL概述概述第 4 章 网络系统安全4.1.1 ACL的工作原理的工作原理要实现流量过滤,必须通过ACL语句,在路由器上定义条件,根据这些条件来决定是否允许流量通过。ACL语句有两个组件:条件和操作。条件基本上是一组规则,用于匹配数据包内容,如在数据包源地址中查找匹配,或者在源地址、目的地址、协议类型和协议信息中查找匹配。当ACL语句条件与比较的数据包内容相匹配时,则会采取一个操作:允许或拒绝数据包。第 4 章 网络系统安全每条A
3、CL语句只能列出一个条件和一个操作,如果需要多个条件或多个操作,则必须设置多条ACL语句。ACL语句组合在一起形成一个列表或策略,一个列表中包含的语句数量是没有限制的,零条、一条或多条都是允许的,当然列表越长,管理越复杂。ACL的基本工作过程是:路由器自上而下地处理列表,从第一条语句开始,如果数据包内容与当前语句条件不匹配,则处理列表中的下一条语句,以此类推;如果数据包内容与当前语句条件匹配,则不再处理后面的语句;如果数据包内容与列表中任何显式语句条件都不匹配,则丢弃该数据包,这是因为在每个访问控制列表的最后都跟随着一条看不见的语句,称为“隐式的拒绝”语句,致使所有没有找到显式匹配的数据包都被
4、拒绝。第 4 章 网络系统安全所以,在ACL中应至少包含一条允许操作的语句,否则数据包即使没有与带有拒绝操作的语句条件匹配,也会因隐式的拒绝语句而被丢弃。但是,如果路由器激活了一个不包含任何语句的ACL,即空的ACL,它将允许所有的数据包通过,这意味着一个空的ACL是不包含隐式拒绝语句的,隐式拒绝语句只在非空的ACL(至少包含一条允许或拒绝语句)中起作用。ACL语句的排列顺序很重要,下面举例说明语句的顺序可能带来的问题。如图4-1所示,路由器分隔了两个网段,一个网段由用户使用,另一个网段放置服务器,过滤流量的目的是允许所有用户到达Web服务器,但只允许用户C到达FTP服务器。假设按照以下顺序将
5、ACL过滤规则配置在路由器上:允许所有用户访问服务器网段;拒绝用户A访问FTP服务器;拒绝用户B访问FTP服务器。第 4 章 网络系统安全图4-1 ACL语句的排列顺序第 4 章 网络系统安全语句是自上而下处理的,当某一时刻用户A试图访问FTP服务器时,会因与第一条语句匹配而得到允许。因此,这样的排列顺序会造成每个用户都可以访问FTP服务器。为达到过滤流量的目的,ACL应该按照以下顺序配置:拒绝用户A访问FTP服务器;拒绝用户B访问FTP服务器;允许所有用户访问服务器网段。第 4 章 网络系统安全当新的ACL语句被添加到列表中时,默认会被添加到列表的最后,所以设置ACL前应先理清ACL语句顺序
6、,一般规则是:按照条件约束由强到弱的顺序排列语句,将“条件约束最强的语句”放在列表的顶部,“条件约束最弱的语句”放在列表的底部。两种常用的配置方式是:如果想允许每个用户都能够访问大多数服务,只拒绝少数特定用户,则在设置ACL时,首先拒绝特定的连接,然后允许所有其他连接;反之,如果只允许少数用户的访问,而拒绝所有其他的访问,则在设置ACL时,首先指定允许语句,而隐式拒绝所有其他访问。第 4 章 网络系统安全4.1.2 ACL的类型的类型路由器接口可能支持多种网络层协议(如IP、IPX、AppleTalk),则对每种协议必须定义单独的ACL,如IP ACL用于匹配IP数据报内容,过滤IP数据流;而
7、IPX ACL用于匹配IPX 数据包内容,过滤IPX数据流。实际应用时,只能在每个接口、每个协议、每个方向上应用一个ACL。例如,在某个接口的输入方向,不能有两个IP ACL,但是可以在该接口的输入和输出方向分别应用一个IP ACL,或者将一个IP ACL和IPX ACL同时应用到该接口的输入方向上。以下只讨论IP ACL的类型。第 4 章 网络系统安全依据过滤方式的差异,ACL大致可分为4种类型:标准ACL、扩展ACL、反射ACL(Reflexive ACL,RACL)和基于上下文的访问控制(Context-Based Access Control,CBAC)。其中,标准ACL和扩展ACL可
8、以实现包过滤功能,RACL和CBAC可以实现有状态的过滤功能。标准ACL基于数据包的源地址过滤数据包,只能过滤网络层信息。标准ACL通常和VTY(Virtual TeletYpe)、HTTP一起使用,限制到路由器本身的访问。第 4 章 网络系统安全扩展ACL基于源IP地址和目的IP地址、协议类型(如ICMP、IP、OSPF、TCP、UDP等)及协议信息(如ICMP消息类型、TCP或UDP端口号、TCP标志代码)来过滤流量,可以过滤网络层和传输层信息。扩展ACL通常过滤通过路由器的流量。标准ACL和扩展ACL不跟踪连接的状态,当内部网络中有用户向外部网络发送流量时,对于返回流量的处理将是个问题。
9、“允许某返回流量通过”的过滤条目必须预先静态设置好,否则相应的返回流量会被路由器阻挡。但这种静态指定的过滤条目往往会在边界路由器构成一个很大的安全漏洞。所以标准ACL和扩展ACL的局限性在于它们只善于过滤单向的流量,而不善于过滤双向的流量。第 4 章 网络系统安全RACL可以过滤网络层、传输层、会话层的信息。在路由器上使用RACL可以实现基本的有状态的过滤功能。在允许返回流量进入内部网络时,RACL会在路由器输入方向的ACL中建立一个临时入口,当会话完成或者超时之后,这个临时入口对应的过滤条目被自动删除。RACL在双向流量的过滤方面表现良好,但是RACL不提供一个完整的有状态的过滤解决方案,尤
10、其在需要过滤多于两个路由器接口间的流量时,配置过程会变得复杂。另外,RACL对内存和处理器资源的使用效率也不高,多适用于小型网络环境。第 4 章 网络系统安全CBAC可以实现有状态的应用层过滤。CBAC提供了比RACL更好的有状态的过滤功能,实现多方向流量的过滤配置更简易,具有更多增强的安全特性(如流量审查),对内存和处理器资源的使用效率较高,局限性较少,多适用于大型网络环境。一般情况下,在一台路由器上使用相同类型的ACL来实施安全策略。第 4 章 网络系统安全标准ACL通常被用来限制通过VTY线路对路由器的访问(Telnet和SSH);限制通过HTTP或HTTPS对路由器的访问;限制从路由器
11、本身发出的流量(如过滤路由选择更新)。可以通过两种形式来为标准ACL语句分组:编号和命名。4.2 标准标准ACL第 4 章 网络系统安全4.2.1 命令格式与说明命令格式与说明1.编号的标准编号的标准ACL1)建立编号的标准ACL命令格式如下:Router(config)#access-list ACL_num permit|deny source_IP_address wildcard_mask|any其中,ACL_num是ACL编号,用于组合同一列表中的语句,范围可以是199,或者是13001999。ACL编号后面的permit|deny是语句条件匹配时所要采取的操作,只有两种:允许或者拒
12、绝。permit|deny后面跟着的是条件,使用标准ACL时,只能指定source_IP_address(源地址)和wildcard_mask(通配符掩码)。wildcard_mask是可选项,如果忽略不写,则默认是0.0.0.0,即精确匹配。如果想要匹配所有地址,可以用关键字any来替换源地址和通配符掩码两项。第 4 章 网络系统安全2)激活编号的标准ACL 如果想在流量进入或者离开路由器接口时过滤它们,则命令格式如下:Router(config)#interface typeslot_num/port_numRouter(config-if)#ip access-group ACL_num
13、 in|out其中,ACL_num是要激活的ACL编号。in|out指定路由器过滤信息的方向:过滤进入路由器接口的流量时,使用参数in;过滤离开路由器接口的流量时,使用参数out。第 4 章 网络系统安全如果想要限制到路由器的Telnet或SSH连接,则使用以下命令激活ACL:Router(config)#line vty beginning_num ending_numRouter(config-if)#access-class ACL_num in|outVTY实质上是逻辑线路,而Cisco IOS从配置和操作的角度将它们作为物理线路来对待。Cisco IOS VTY允许很多类型的远程访问
14、,如Telnet、Rlogin、SSH等。第 4 章 网络系统安全允许各种远程访问方式会给攻击者留下可乘之机,所以应该在VTY上配置某种限制,Cisco IOS通过标准ACL完成这种限制。为了在VTY上激活ACL,不能使用ip access-group命令,而要使用access-class命令。一台路由器有5个VTY线路,要将access-class应用到所有的VTY上,则beginning_num(开始编号)和ending_num(结束编号)分别为0和4。in|out用于指定限制方向:限制输入的VTY会话时,使用参数in;限制输出的VTY会话时,使用参数out。第 4 章 网络系统安全3)删
15、除编号的标准ACL删除某个编号ACL的命令格式如下:Router(config)#no access-list ACL_num值得注意的是,不能删除编号ACL中的一个特定条目,如果想要通过no参数来删除一个特定条目,将会删除整个ACL,即与命令no access-list ACL_num的效果等同。编号的标准ACL和编号的扩展ACL都是如此。第 4 章 网络系统安全2.命名的标准命名的标准ACL与编号的标准ACL相比,命名的标准ACL的主要优点有:允许管理员给ACL指定一个描述性的名称;建立的ACL的数量不受数字编号最大值的限制;允许删除ACL中的特定条目。1)建立命名的标准ACL命令格式如下
16、:Router(config)#ip access-list standard ACL_nameRouter(config-std-nacl)#deny source_IP_address wildcard_mask|anyRouter(config-std-nacl)#permit source_IP_address wildcard_mask|anyRouter(config-std-nacl)#exit第 4 章 网络系统安全使用ip access-list命令指定命名ACL。standard表示命名ACL的类型为标准。ACL_name指明ACL的名称,名称可以是描述性字符,也可以是一个
17、号码(数字)。执行ip access-list命令后,将进入子配置模式,在这里输入permit和deny命令语句,基本语法与编号的标准ACL中的access-list命令相同。第 4 章 网络系统安全2)激活命名的标准ACL激活命名的标准ACL的命令格式与编号的标准ACL相同,如果想在流量进入或者离开路由器接口时过滤它们,则使用ip access-group命令在路由器接口上激活ACL;如果想要限制到路由器的Telnet或SSH连接,则使用access-class命令。唯一不同的是,要将命令中的ACL_num替换为ACL_name。第 4 章 网络系统安全3)删除命名的标准ACL要删除某个命名
18、的标准ACL,命令格式如下:Router(config)#no ip access-list standard ACL_name命名的标准ACL允许删除ACL中的某个特定条目,而不会影响其他条目的存在。过程是:首先通过ip access-list standard ACL_name进入该ACL的子配置模式中,然后使用no参数删除想要删除的某个特定条目。第 4 章 网络系统安全4.2.2 实验实验标准标准ACL的配置的配置【实验目的实验目的】(1)掌握使用标准ACL过滤流量的基本配置。(2)掌握使用标准ACL限制VTY访问的基本配置。(3)掌握编号ACL和命名ACL的配置差异。【实验环境实验环境
19、】路由器1台,交换机2台,计算机至少3台,连接成如图4-2所示网络。第 4 章 网络系统安全图4-2 标准ACL的配置实验环境第 4 章 网络系统安全【实验过程实验过程】1.搭建基本网络环境搭建基本网络环境参考图4-2连接设备,并参照表4-1配置主机和路由器的基本参数,配置过程不再叙述。条件允许的话,可以在外部网络添加主机数量。应确保此时PC2和PC3均可以ping 通外部网络192.168.1.0中的主机PC1。第 4 章 网络系统安全表表4-1 实验设备的基本配置参数实验设备的基本配置参数设 备 IP地址 子网掩码 默认网关 计算机 PC1 192.168.1.2 255.255.255.
20、0 192.168.1.1 计算机 PC2 172.16.1.2 255.255.255.0 172.16.1.1 计算机 PC3 172.16.1.3 255.255.255.0 172.16.1.1 路由器 R 的f0/0 172.16.1.1 255.255.255.0 路由器 R 的f0/1 192.168.1.1 255.255.255.0 第 4 章 网络系统安全 2.配置编号的标准ACL以禁止内部网络中的PC2访问外部网络 (1)在路由器建立编号为1的标准ACL,拒绝PC2对外的访问,允许其他主机访问外网:Router(config)#access-list 1 deny 172
21、.16.1.2 Router(config)#access-list 1 permit any Router(config)#exit 第 4 章 网络系统安全(2)查看建立的 ACL:Router#show access-list Standard IP access list 1 deny 172.16.1.2 permit any(3)根据本实验要求与实验连网环境,激活 ACL 的位置可以有两个,任选其一即可。选择在 f0/1 的输出方向上激活 ACL,配置如下:Router(config)#interface f0/1 Router(config-if)#ip access-group
22、 1 out Router(config-if)#end 第 4 章 网络系统安全或者选择在f0/0的输入方向上激活ACL,配置如下:Router(config)#int f0/0 Router(config-if)#ip access-group 1 in Router(config-if)#end 第 4 章 网络系统安全假设选择了在 f0/1的输出方向上激活 ACL,则通过“show ip interface f0/1”命令查看f0/1是否应用了 ACL,显示如下:Router#show ip interface f0/1 FastEthernet0/1 is up,line proto
23、col is up Internet address is 192.168.1.1/24 Broadcast address is 255.255.255.255 Address determined by setup command MTU is 1500 bytes Helper address is not set Directed broadcast forwarding is disabled Outgoing access list is 1 Inbound access list is not set 第 4 章 网络系统安全加黑部分表明 f0/1的输出方向上已应用了编号为 1的
24、 ACL。(4)在路由器接口上激活 ACL后,测试结果为:PC2 无法 ping通 PC1,但是 PC3 仍可以ping通 PC1。再次查看 ACL,“n matches”也显示了被拒绝或允许的数据包个数:Router#show access-list Standard IP access list 1 deny 172.16.1.2(8 matches)permit any(4 matches)第 4 章 网络系统安全(5)如果要禁止内部网络172.16.1.0中所有用户访问外部网络,需要将拒绝操作的语句改为:Router(config)#access-list 1 deny 172.16.
25、1.0 0.0.0.255,其他各步同上。测试结果将显示PC2和PC3都无法ping通PC1。(6)为不影响后续实验结果,删除编号的标准ACL:Router(config)#no access-list 1 第 4 章 网络系统安全3.配置命名的标准 ACL 以禁止内部网络中的 PC2 访问外部网络(1)在路由器上做如下配置以建立名称为“pc_out”的标准 ACL:Router(config)#ip access-list standard pc_out Router(config-std-nacl)#deny 172.16.1.2 Router(config-std-nacl)#permi
26、t any Router(config-std-nacl)#end(2)查看建立的 ACL:Router#show access-list Standard IP access list pc_out deny 172.16.1.2 permit any 第 4 章 网络系统安全(3)同编号的 ACL一样,本实验激活 ACL 的位置可有两个,这里选择在 f0/1的输出方向上激活 ACL:Router(config)#int f0/1 Router(config-if)#ip access-group pc_out out Router(config-if)#end 同样也可利用“show ip
27、 interface f0/1”命令查看 f0/1是否应用了 ACL。(4)实验测试结果与“编号的标准 ACL”相同。(5)为不影响后续实验结果,删除命名的标准 ACL:Router(config)#no ip access-list standard pc_out 第 4 章 网络系统安全4.配置 VTY 访问限制(1)为 VTY线路访问指定密码:Router(config)#line vty 0 4 Router(config-line)#password cisco Router(config-line)#login(2)在内部网络或外部网络的任何一台主机上远程登录(telnet)172
28、.16.1.1 或者远程登录192.168.1.1,如图 4-3所示,均可正常登录路由器。第 4 章 网络系统安全图4-3 远程登录路由器成功第 4 章 网络系统安全(3)在路由器上配置ACL,仅允许地址为172.16.1.2的主机可以远程登录到路由器:Router(config)#access-list 1 permit 172.16.1.2 Router(config)#line vty 0 4 Router(config-line)#access-class 1 in (4)在主机172.16.1.3和192.168.1.2上尝试远程登录路由器,均失败,如图4-4。第 4 章 网络系统安
29、全图4-4 远程登录路由器失败第 4 章 网络系统安全4.3.1 命令格式与说明命令格式与说明1.编号的扩展编号的扩展ACL建立编号的扩展ACL命令的基本语法如下:Router(config)#access-list ACL_num permit|deny protocol source_IP_address source_wildcard _mask destination_IP_address destination_wildcard_mask protocol_options precedence precedence dscp value tos tos log|log input f
30、ragments established4.3 扩展扩展ACL第 4 章 网络系统安全使用access-list命令来建立扩展ACL。ACL_num是ACL的编号,用来对ACL语句分组,扩展ACL的编号范围是100199,以及20002699。permit|deny是语句条件匹配时所要采取的操作(允许或者拒绝),后面紧跟着的是条件。protocol是TCP/IP协议的名称或者编号,Cisco IOS支持的协议名称有:ahp(认证头协议)、eigrp(Cisco EIGRP 路由选择协议)、esp(封装安全有效载荷)、gre(Cisco GRE隧道)、icmp(Internet 控制报文协议)、
31、igmp(Internet 组管理协议)、ip(网际协议)、ipinip(IP隧道中的IP)、nos(兼容IP之上的IP隧道)、ospf(OSPF路由选择协议)、psp(有效载荷压缩协议)、pim(协议独立组播)、tcp(传输控制协议)、udp(用户数据报协议)。如果想要过滤的协议名称在以上的罗列中没有出现,可以使用协议编号,范围是0255。第 4 章 网络系统安全与标准ACL不同,扩展ACL必须同时指定源地址和目的地址,以及它们相应的通配符掩码,分别对应source_IP_address、source_wildcard_mask、destination_IP_address、destinat
32、ion_wildcard_mask 四个参数。当通配符掩码是0.0.0.0时,路由器将它转换为host IP_address,如输入“10.0.0.1 0.0.0.0”,则等同于输入“host 10.0.0.1”。其余的参数是可选的。对于特定的协议(如TCP、UDP、ICMP及其他协议),可以应用protocol_options来优化条件。第 4 章 网络系统安全可选参数precedence precedence能使数据包基于优先级的级别来过滤,范围是07。可选参数dscp value通过IP数据报头部的区分服务代码点(Differentiated Services Code Point,DS
33、CP)的值来进行过滤。DSCP用于通过区分流量的优先次序来实施QoS(服务质量),可以为它指定一个063的值或者DSCP代码名称。可选参数tos tos能使数据包基于服务类型的级别来过滤,范围是115。它们可用于QoS机制。可选参数log使得Cisco IOS可以将符合条件的匹配记录到已经打开的日志记录设备中。可选参数log input记录的信息包括接收到数据包的输入接口和数据包中的第2层源地址。可选参数fragments用于过滤分片。第 4 章 网络系统安全可选参数established是只针对TCP连接的参数,其功能详见下文TCP部分的描述。扩展ACL对于所使用的不同协议提供了不同的参数选
34、项,根据protocol参数所指定的协议的不同,语法也有所不同。以下分别描述基于TCP、UDP、ICMP协议的语法格式。1)过滤TCP流量要过滤TCP流量,protocol参数使用tcp关键字,建立ACL的命令格式如下:Router(config)#access-list ACL_num permit|deny tcp source_IP_address source_wildcard_mask operator src_port destination_IP_address destination_wildcard_mask operator dest_port precedence pre
35、cedence dscp value tos tos log|log input fragments established ack fin psh rst syn urg第 4 章 网络系统安全operator src_port和operator dest_port是可选的,其中src_port和dest_port分别代表源端口和目的端口,输入端口号或者端口名称都是有效的,端口号范围是065 535,0代表所有TCP端口。operator处需要指定一个操作符,可以是eq、lt、gt、neq、range五种操作符,含义分别为等于、小于、大于、不等于、一个端口范围。例如“eq 25”表示必须精确
36、匹配25号端口。又如“range 21 23”表示必须匹配2123号范围内的端口(包含边界值)。指定一个操作符,后面跟着一个基于TCP的端口名称或端口号,便可用于匹配TCP流量中的端口信息。第 4 章 网络系统安全established是一个用于TCP连接的参数。当内部网络的用户向外部网络发起TCP连接时,应允许其返回流量进入内部网络,而拒绝其他外来流量,这时可以使用established参数。设置了该参数后,路由器将检查由外入内的流量是否设置了ACK、FIN、PSH、RST、SYN、URG这些TCP协议标记,如果已经设置好,则允许该TCP流量进入,如果未设置,则路由器会认为这是新的TCP连接
37、,拒绝该流量进入。第 4 章 网络系统安全另外,利用可选参数ack、fin、psh、rst、syn、urg可以更具体地过滤单一的TCP协议标志。established参数实现的功能与有状态的过滤功能有点类似,但是不能认为使用了该参数的扩展ACL就可以完成有状态的过滤功能,因为无论是标准ACL还是扩展ACL都不维护状态信息。使用established参数后,路由器并不是基于状态来查看要进入的流量是否是内部网络发起的连接的返回流量,而只是查看那些TCP协议标记是否设置,而黑客往往会利用这一点,如使用数据包生成器,将TCP报文的相应标记设置为适当的值。所以,如果使用了established参数允许返
38、回流量进入网络,将在路由器上构成一个大的漏洞。第 4 章 网络系统安全2)过滤UDP流量要过滤UDP流量,protocol参数使用udp关键字,建立ACL的命令格式如下:Router(config)#access-list ACL_num permit|deny udp source_IP_address source_wildcard_mask operator src_port destination_IP_address destination_wildcard_mask operator dest_port precedence precedence dscp value tos to
39、s log|log input fragments也可以选择使用匹配源和目的端口,且必须指定操作符、端口名称或端口号。操作符和TCP所使用的一样。如果指定了一个操作符,则后面必须跟着基于UDP的端口名称或端口号(065 535)。注意,这里0代表所有UDP端口。UDP不同于TCP,它是无连接的协议,所以参数established和ack、fin、psh、rst、syn、urg对过滤UDP流量是无效的。第 4 章 网络系统安全3)过滤ICMP流量要过滤ICMP流量,protocol参数使用icmp关键字,建立ACL的命令格式如下:Router(config)#access-list ACL_nu
40、m permit|deny icmp source_IP_address source_wildcard _mask destination_IP_address destination_wildcard_mask ICMP_type precedence precedence dscp value tos tos log|log input fragments第 4 章 网络系统安全与TCP、UDP不同,该命令中没有通过操作符和端口来指定一个匹配条件,而是增添可选项ICMP_type用于匹配ICMP消息类型。可以输入ICMP消息类型的名称,如echo(询问请求)、echo-reply(询问响
41、应)、host-redirect(主机重定向)、host-unknown(未知主机)、host-unreachable(主机不可达)、net-unknown(未知网络)、net-unreachable(网络不可达)等,也可以输入ICMP消息类型的编号,范围是0255,0代表所有的ICMP消息。如果没有指定ICMP_type,则默认匹配任何ICMP消息类型。建立ACL后,必须在路由器上激活ACL,过滤规则才能生效。编号的扩展ACL的激活或删除命令与编号的标准ACL类似,请参考4.2.1节相关内容。第 4 章 网络系统安全2.命名的扩展命名的扩展ACL建立命名的扩展ACL的命令格式如下:Route
42、r(config)#ip access-list extended ACL_nameRouter(config-ext-nacl)#permit|deny protocol source_IP_address source_wildcard_mask destination_IP_address destination_wildcard_mask protocol_options precedence precedence dscp value tos tos log|log input fragments established第 4 章 网络系统安全使用ip access-list建立命名
43、ACL。extended表示命名ACL的类型为扩展,ACL_name指明ACL的名称,名称可以是描述性字符,也可以是个号码(数字)。执行ip access-list extended命令后,将进入扩展ACL子配置模式,在这里输入permit或deny命令语句,其基本语法与编号的扩展ACL中的access-list命令相同,并且支持相同的选项。命名的扩展ACL的激活或删除命令与命名的标准ACL类似,请参考4.2.1节相关内容。第 4 章 网络系统安全4.3.2 实验实验扩展扩展ACL的基本配置的基本配置【实验目的实验目的】(1)掌握使用编号的扩展ACL过滤流量的基本配置;(2)掌握使用命名的扩展
44、ACL过滤流量的基本配置。【实验环境实验环境】实验环境请参考4.2.2节图4-2。第 4 章 网络系统安全【实验过程实验过程】1.搭建基本网络环境搭建基本网络环境参考图4-2连接设备,并参照表4-1完成主机和路由器的基本参数配置。条件允许的话,可以在外部网络添加主机数量。首先,在PC1上开启FTP服务和Web服务,测试正常,如图4-5所示。然后测试连通性和服务访问情况,PC2和PC3均可以ping 通外部网络192.168.1.0中的主机PC1,而且均可以正常访问PC1的FTP和Web服务。第 4 章 网络系统安全图4-5 PC1的服务访问测试第 4 章 网络系统安全2.配置编号的扩展ACL以
45、禁止内部网络中的PC2访问PC1的FTP服务(1)在路由器建立编号为100的扩展ACL,禁止PC2访问PC1的FTP服务器,不限制其他主机对PC1的服务访问。然后在f0/0的输入方向上激活编号为100的ACL。Router(config)#access-list 100 deny tcp 172.16.1.2 0.0.0.0 192.168.1.2 0.0.0.0 eq ftp Router(config)#access-list 100 permit ip any any Router(config)#interface f0/0 Router(config-if)#ip access-gr
46、oup 100 in Router(config-if)#end 第 4 章 网络系统安全不要忘记“IP_address 0.0.0.0”的形式等同于“host IP_address”,所以第一条语句也可以写为:access-list 100 deny tcp host 172.16.1.2 host 192.168.1.2 eq ftp。配置后,可以在特权模式下用“show access-list”和“show ip interface f0/0”命令来查看已建立的ACL条目,以及该ACL是否已在接口上应用。(2)在路由器接口上激活ACL后,测试结果为:PC2和PC3均可以ping通PC1;
47、PC2无法访问PC1的FTP服务,而依然可以访问PC1的Web服务;PC3可以正常访问PC1的FTP服务和Web服务。第 4 章 网络系统安全(3)如果要禁止内部网络172.16.1.0中所有用户访问PC1的FTP服务,需要将第一条拒绝操作的语句改为:access-list 100 deny tcp 172.16.1.0 0.0.0.255 192.168.1.2 0.0.0.0 eq ftp,其他各步同上。测试结果为:PC2和PC3均可ping通PC1,PC2和PC3均无法访问PC1的FTP服务,而依然都能访问PC1的Web服务。(4)为不影响后续实验结果,删除编号的扩展ACL:Router
48、(config)#no access-list 100 第 4 章 网络系统安全3.配置命名的扩展ACL以禁止内部网络中的PC2访问PC1的FTP服务(1)在路由器上做如下配置,建立名称为“deny_ftp”的扩展ACL,禁止PC2访问PC1的FTP服务器,不限制其他主机对PC1的服务访问。然后在f0/0的输入方向上激活名称为“deny_ftp”的ACL,并查看建立的ACL。第 4 章 网络系统安全Router(config)#ip access-list extended deny_ftp Router(config-ext-nacl)#deny tcp host 172.16.1.2 ho
49、st 192.168.1.2 eq ftp Router(config-ext-nacl)#permit ip any any Router(config-ext-nacl)#exit Router(config)#int f0/0 Router(config-if)#ip access-group deny_ftp in Router(config-if)#end Router#show access-list Extended IP access list deny_ftp deny tcp host 172.16.1.2 host 192.168.1.2 eq ftp permit ip
50、 any any 第 4 章 网络系统安全(2)在路由器接口上激活ACL后,测试结果同样为:PC2和PC3均可以ping通PC1;PC2无法访问PC1的FTP服务,而依然可以访问PC1的Web服务;PC3可以正常访问PC1的FTP服务和Web服务。4.配置扩展的配置扩展的ACL以限制内外网络间的以限制内外网络间的ping操作操作(1)配置ACL,拒绝任何主机向内部网络发起ping请求,允许任何主机向内部网络返回ping响应:第 4 章 网络系统安全Router(config)#ip access-list extended icmp_filter Router(config-ext-nacl)