任务2 完成更为灵活的数据包过滤(扩展ACL)
任务描述
某公司网络中,数据中心WWW、FTP服务器为公司提供网站及文件服务,它与销售部门、技术部门分属3个不同网段,部门之间使用路由器进行数据传送。为保证数据安全,公司要求FPT文件服务器只允许技术部门访问,WWW网站服务器只允许销售部门访问。
本任务将介绍更为灵活地进行数据包过滤的技术,即扩展ACL。
相关知识
标准ACL只能根据数据包的源地址过滤数据包,在实际应用工作中,往往还需要根据数据包的目的地址、协议及端口号等进行过滤,此时需使用扩展ACL来进行过滤。扩展ACL中常用的端口号及协议见表5-3。
表5-3
任务解析
考虑到本任务中,需要针对具体的服务(如FTP、WWW服务)进行过滤,所以需要使用扩展ACL来过滤数据包。使用扩展ACL与使用标准ACL类同,也需要下述两个步骤。
一、定义扩展ACL(有两种方式)
编号的扩展访问控制列表
Router(config)#access-list 编号 permit或deny 协议 源地址 反掩码 目的地址反掩码 关系 目的端口
其中编号为100~199,协议可以是IP、TCP、UDP等,关系可以是eq(等于)、neq(不等于)、it(小于)、gt(大于)等,目的端口通常也可用服务名来代替。
命名的扩展访问控制列表
Router(config)#ip access-list extended 命名
Router(config-std-nacl)#permit或deny 协议 源地址 反掩码 目的地址 反掩码关系 目的端口 !此句可重复使用,构成命名ACL中的多条ACL规则
二、在接口应用ACL
应用ACL到接口,指定数据包在流进或流出的方向进行过滤。一个端口在一个方向上只能应用一组ACL。
Router(config-if)#ip access-group 编号或命名 in或out
其中in表示数据包流进方向,out表示数据包流出方向。
注意:在扩展ACL的末尾,也有一条隐含的deny all(拒绝所有)。这意味着过滤数据包时,如果与ACL规则中所有的允许语句都不匹配,则隐含的deny all将会禁止该数据包通过。
任务实施
一、搭建网络拓扑
在PACKETTRACER软件中搭建如图5-3所示网络拓扑,SERVER服务器使用终端设备Server-PT,默认已开启HTTP(WWW)服务及FTP服务,FTP服务的用户名为“cisco”,密码为“cisco”,各设备及端口地址见表5-4。
图5-3
表5-4
二、配置路由器R1的端口
Router(config)#host R1
R1(config)#int f0/0
R1(config-if)#ip address 10.10.10.1 255.255.255.0
R1(config-if)#no shut
R1(config-if)#exit
R1(config)#int f1/0
R1(config-if)#ip address 10.10.20.1 255.255.255.0
R1(config-if)#no shut
R1(config-if)#exit
R1(config)#int s2/0
R1(config-if)#ip address 11.1.1.1 255.255.255.0
R1(config-if)#clock rate 64000
R1(config-if)#no shut
R1(config-if)#exit
R1(config)#
三、配置路由器R2的端口
Router(config)#host R2
R2(config)#int f0/0
R2(config-if)#ip address 192.168.1.1 255.255.255.0
R2(config-if)#no shut
R2(config-if)#exit
R2(config)#int s2/0
R2(config-if)#ip address 11.1.1.2 255.255.255.0
R2(config-if)#no shut
R2(config-if)#exit
R2(config)#
四、配置路由器R1的OSPF路由协议
R1(config)#router ospf 1
R1(config-router)#netw 10.10.10.0 0.0.0.255 ar 0
R1(config-router)#netw 10.10.20.0 0.0.0.255 ar 0
R1(config-router)#netw 11.1.1.0 0.0.0.255 ar 0
R1(config-router)#exi
R1(config)#
五、配置路由器R2的OSPF路由协议
R2(config)#router ospf 1
R2(config-router)#netw 192.168.1.0 0.0.0.255 ar 0
R2(config-router)#netw 11.1.1.0 0.0.0.255 ar 0
R2(config-router)#exi
R2(config)#
六、配置PC1、PC2和SERVER的IP地址、子网掩码和网关地址并进行连通性测试
表5-4所示为配置PC1、PC2和SERVER的IP地址、子网掩码和网关地址,进行连通性测试。此时全网贯通,PC1、PC2与SERVER可以互访。
七、WWW服务测试
单击PC1,从“桌面”中选择“WEB浏览器”,在URL地址框内填入“192.168.1.2”后单击“跳转”,成功访问SERVER服务器上的WWW服务,如图5-4所示。
图5-4
八、FTP服务测试
单击PC1,从“桌面”中选择“命令提示符”,输入“ftp 192.168.1.2”后敲回车键,输入用户名“cisco”后敲回车键,再输入密码“cisco”(密码不显示),可成功访问SERVER服务器上的FTP服务,如图5-5所示。
图5-5
九、测试PC2访问SERVER服务器上的WWW及FTP服务
如上测试PC2也可访问SERVER服务器上的WWW及FTP服务。
十、在路由器R1上配置编号扩展ACL
在路由器R1上配置编号扩展ACL,使得PC1只能访问SERVER服务器上的FTP服务, PC2只能访问SERVER服务器上的WWW服务。
R1(config)#access-list 100 permit tcp 10.10.10.0 0.0.0.255 192.168.1.0 0.0.0.255 eq ftp !允许技术部(10.10.10.0/24)访问服务器SERVER的FTP服务
R1(config)#access-list 100 permit tcp 10.10.20.0 0.0.0.255 192.168.1.0 0. 0.0.255 eq www !允许销售部(10.10.20.0/24)访问服务器SERVER的WWW服务
R1(config)#int s2/0
R1(config-if)#ip access-group 100 out !应用编号扩展ACL到s2/0端口,对流出的数据包作过滤
R1(config-if)#exi
R1(config)#
注意:本例扩展ACL配置规则采用了允许动作,借用了ACL规则中默认的拒绝动作。
如果采用命名扩展ACL,则使用如下命令:
R1(config)#ip access-list extended server_acl !定义命名扩展ACL,名为server_acl
R1(config-ext-nacl)#permit tcp 10.10.10.0 0.0.0.255 192.168.1.0 0.0.0.255 eq ftp
R1(config-ext-nacl)#permit tcp 10.10.20.0 0.0.0.255 192.168.1.0 0.0.0.255 eq www
R1(config-ext-nacl)#exi
R1(config)#int s2/0
R1(config-if)#ip access-group server_acl out !应用命名扩展ACL到s2/0端口,对流出的数据包作过滤
R1(config-if)#exi
R1(config)#
十一、测试
此时PC1不能访问SERVER服务器上的WWW服务,如图5-6所示;PC1能访问SERV-ER服务器上的FTP服务,如图5-7所示;PC2不能访问SERVER服务器上的FTP服务,如图5-8所示;PC2能访问SERVER服务器上的WWW服务,如图5-9所示。
图5-6
图5-7
图5-8
图5-9
任务小结
对于ACL来说,其内容决定了数据的控制顺序,所以具有严格限制条件的语句应放在ACL所有语句的最上面。由于ACL的最后一条隐含声明:deny all,所以每一条正确的ACL都至少应该有一条允许语句。
由于扩展ACL可以控制目的地址,所以应用到尽量接近数据发送源的三层设备的端口上,以减少网络资源的浪费。如本例中将扩展ACL应用到路由器R1的S2/0口较好。
扩展ACL适用于需要对特定主机、特定子网进行特定服务的场合。
拓展提高
使用ACL控制远程登录(VTY访问)与一般的ACL控制稍有不同,通常需要两个步骤:(1)建立一个针对IP地址过滤的标准ACL。(2)在行配置模式下,使用access-class命令对所有的VTY绑定上述ACL。如只允许网络10.10.10.0/24的主机连接路由器R1的VTY端口,其命令如下:
R1(config)#access-list 10 permit 10.10.10.0 0.0.0.0
R1(config)#line vty 0 4
R1(config-line)#pass 123
R1(config-line)#login
R1(config-line)#access-class 10 in
R1(config-line)#exi
R1(config)#ena pass 456
R1(config)#
测试PC1和PC2,分别如图5-10、图5-11所示。
图5-10
图5-11
课后自测
在PACKET TRACER软件中搭建如图5-12所示网络拓扑,SERVER服务器使用终端设备Server-PT,默认已开启HTTP(WWW)服务及FTP服务,FTP服务的用户名为“cisco”,密码为“cisco”。各设备及端口地址见表5-5,要求完成功能如下所述:
图5-12
表5-5
(1)完成各计算机终端IP地址、子网掩码和默认网关的配置。
(2)完成各设备端口的地址配置。
(3)使用OSPF动态路由完成全网贯通。
(4)在路由器R1的F0/0口应用命名扩展ACL,使得技术部不能访问数据中心的FTP服务,只能访问数据中心的WWW服务。
(5)在路由器R1的F1/0口应用命名扩展ACL,使得销售部不能访问数据中心的WWW服务,只能访问数据中心的FTP服务。
(6)要保证技术部与销售部的互访。
(7)只允许10.10.20.2/24主机远程登录路由器R2,远程登录密码及特权密码自行设定。