通常ACL可分为基础acl和高级acl。
基础acl只能基于源IP地址进行匹配,高级acl则能基于多种参数进行匹配,包括三层信息,源和目的IP地址以及四层信息,比如TCP/UDP的源和目的的端口号。
当数据包到达过滤数据包的路由器时,分析IP数据包第三层及第四层的包头信息,进行判断,根据预先定义好的规则对包进行过滤,决定该数据包是应该通过还是应该丢弃。如果全部满足规则,则会deny或者permit。
本次实验通过一台PC和一个Client和server通过AR1连接,与AR2中的子网模拟实现了对ACL的应用,可以阻止通信和只允许部分通信,以及单项联通。
一.建立如下拓扑图并初始化设备
因为AR1自带的串口只能配置3个接口,所以需要在设置里为AR1配置一个接口,只要不是二层板,随便一个都可以。
二.设置访问控制要求
1.基本要求:
(1)源IP地址为172.16.1.1的流量不能从Internet进入企业网络;
(2)财务部门服务器(10.10.10.0/24)只能由财务部VLAN(10.10.30.0/24)中的主机进行访问。
2.高级ACL实验需求:
(1)通过高级ACL阻止工程部主机访问服务器。
(2)不允许财务部主机访问服务器的WEB服务,其它服务可以访问,如FTP。
三.设备的配置
1.IP配置
[AR1]
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]ip add 10.10.20.1 24
[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1]ip add 10.10.30.1 24
[AR1-GigabitEthernet2/0/0]ip add
[AR1-GigabitEthernet2/0/0]ip address 10.10.10.1 24
[AR1-GigabitEthernet0/02]ip add
[AR1-GigabitEthernet0/0/2]ip address 100.64.8.10 30
[AR2]
[AR2]int g0/0/0
[AR2-GigabitEthernet0/0/0]ip add 100.64.8.9 30
[AR2]int loopb0
[AR2-LoopBack0]ip add 172.16.1.1 32
[PC1]
[Client1]
[Server1]
2.配置服务器
(1) 先建立一个文件夹,里面随便随便保存一些东西。
(2)点击 “ Server1” 进行Http配置,选择刚刚建立好的文件夹,然后点击启动 。
(3)再建立一个文件夹
(4)点击Ftp进行配置。
(5) 此时可以通过client1点击【获取】或【登录】访问到此前建立的文件夹。
在没有做ACL之前,因为直连路由,所以都是通的。
3.配置OSPF,实现网络连通
[AR1]ospf 1 router-id 1.1.1.1
[AR1-ospf-1]area 0
[AR1-ospf-1-area-0.0.0.0]network 10.10.10.1 0.0.0.0
[AR1-ospf-1-area-0.0.0.0]network 10.10.20.1 0.0.0.0
[AR1-ospf-1-area-0.0.0.0]network 10.10.30.1 0.0.0.0
[AR1-ospf-1-area-0.0.0.0]network 100.64.8.10 0.0.0.3
[AR2]ospf 1 router-id 2.2.2.2
[AR2-ospf-1]area 0
[AR2-ospf-1-area-0.0.0.0]network 100.64.8.9 0.0.0.0
[AR2-ospf-1-area-0.0.0.0]network 172.16.1.1 0.0.0.0
此时,AR2已经学到了AR1的IP配置。
AR1同样学到了loopback。
从PC1 ping AR2是可以ping通的。
AR2的loopback也能ping通。
四.ACL基础配置
1.配置基本ACL,实现本实验需求
[AR1]acl 2000//基本acl
[AR1-acl-basic-2000]rule deny source 172.16.1.1 0.0.0.0
//省略rule编号,默认值则为5,拒绝访问匹配172.16.1.1
[AR1-acl-basic-2000]quit
[AR1]acl 2001
[AR1-acl-basic-2001]rule permit source 10.10.30.0 0.0.0.255
//只允许10.10.30.0进行访问
[AR1-acl-basic-2001]rule deny source any
//如果与上面允许的源不匹配,就拒绝所有源
注:基本ACL的位置应该尽可能靠近目的地,高级ACL尽可能靠近要拒绝的流量源
[AR1]interface g0/0/2
[AR1-GigabitEthernet0/0/2]traffic-filter inbound acl 2000
//traffic-filter inbound:表示对进的方向,流量过滤。
[AR1-GigabitEthernet0/0/2]quit
[AR1]interface g2/0/0
[AR1-GigabitEthernet2/0/0]traffic-filter outbound acl 2001
//表示此接口才用acl 2001配置
此时已经PC1和AR2的loopback0已经不能ping通了。
此时在AR1查看可知,之前在AR2上对PC1的访问被拒绝了5次,和前面刚好吻合。
此时server1只能由client1通信。
注:AR1上所有的配置汇总:
五.ACL高级配置
1.删除之前的acl基础配置。
[AR1-GigabitEthernet2/0/0]undo traffic-filter outbound
[AR1-GigabitEthernet0/0/2]undo traffic-filter inbound
[AR1]undo acl 2000
[AR1]undo acl 2001
删除以后,PC1又可以ping通server1了
2.高级ACL的配置如下:
[AR1]acl 3000
[AR1-acl-adv-3000]rule deny ip source 10.10.20.0 0.0.0.255 destination 10.10.10.2 0
//拒绝ip协议,10.10.20.0访问10.10.10.2
[AR1]interface g0/0/0
[AR1-GigabitEthernet0/0/0]traffic-filter inbound acl 3000
//在g0/0/0调用acl 3000
此时PC1不能再访问server1。
[AR1]acl 3001
[AR1-acl-adv-3001]rule deny tcp source 10.10.30.0 0.0.0.255 destination 10.10.10.2 0 destination-port eq 80
//拒绝tcp协议,从源10.10.30.0到10.10.10.2,eq表示等于,等于80端口(www,HTTP,80)。
[AR1]interface g0/0/1
[AR1-GigabitEthernet0/0/1]traffic-filter inbound acl 3001
六.单项ping通
示例:在AR1上进行高级ACL的配置,要求PC1可以ping通AR2的172.16.1.1地址,AR2不能ping通PC1的10.10.20.2地址。
1.初始状态:
2. AR1对ACL的配置
通过抓包可知,PC在ping AR2时,使用的是ICMP协议。request是8,reply是0。
请求报文:
应答报文:
此时,如果想要实现单项联通,只需要在request的时候,做一个deny;或者在reply的时候,做一个deny,即可实现单项联通。
基于此,只需在AR1上,将AR2去ping PC1的请求报文给deny,此时即可完成要求。
[AR1]acl 3002
[AR1-acl-adv-3002]rule 5 deny icmp source 172.16.1.1 0 destination 10.10.20.2 0 icmp-type echo
[AR1]interface GigabitEthernet2/0/0
[AR1-GigabitEthernet0/0/2]traffic-filter inbound acl 3002
3.结果
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)