自反ACL实验配置
拓扑图
R4为外网,R2和R3为内网。
地址表
Device |
Interface |
IP address |
R1 |
F 0/0 |
10.1.17.1 |
F 0/1 |
14.1.17.1 |
|
R2 |
F 0/0 |
10.1.17.2 |
R3 |
F 0/0 |
10.1.17.3 |
R4 |
F 0/0 |
14.1.17.4 |
先在R2、R3与R4上配置配置静态路由
R2(config)#ip route 14.1.17.0 255.255.255.0 10.1.17.1
R3(config)#ip route 14.1.17.0 255.255.255.0 10.1.17.1
R4(config)#ip route 10.1.17.0 255.255.255.0 14.1.17.1
配置静态路由完成,路由之间互通,即可做自反ACL
1.配置拒绝外网主动访问内网
说明:拒绝外网主动访问内网,但是ICMP可以不受限制
(1)配置允许ICMP可以不用标记就进入内网,其它的必须被标记才返回
R1(config)#ip access-list extended come
R1(config-ext-nacl)#permit icmp any any
R1(config-ext-nacl)#evaluate abc
(2)应用ACL
R1(config)#int f0/1
R1(config-if)#ip access-group come in
2.测试结果
(1)测试外网R4的ICMP访问内网
说明:可以看到,ICMP是可以任意访问的
(2)测试外网R4 telnet内网
说明:可以看到,除ICMP之外,其它流量是不能进入内网的。
(1) 测试内网R2的ICMP访问外网
说明:可以看到,内网发ICMP到外网,也正常返回了
(2) 测试内网R2发起telnet到外网
说明:可以看到,除ICMP之外,其它流量是不能通过的。
3.配置内网向外网发起的telnet被返回
(1)配置内网出去时,telnet被记录为abc,将会被允许返回
R1(config)#ip access-list extended goto
R1(config-ext-nacl)#permit tcp any any eq telnet reflect abc timeout 60
R1(config-ext-nacl)#permit ip any any
(2)应用ACL
R1(config)#int f0/1
R1(config-if)#ip access-group goto out
4.测试结果
(1)查看R2到外网的ICMP
说明:ICMP属正常
(3)查看内网向外网发起telnet
说明:可以看出,此时内网发向外网的telnet因为被标记为abc,所以在回来时,开了缺口,也就可以允许返回了。
(4)查看ACL
说明:可以看到,有一条为abc的ACL为允许外网到内网的telnet,正是由于内网发到外网的telnet被标记了,所以也自动产生了允许其返回的ACL,并且后面跟有剩余时间。
动态ACL
拓扑图
说明:
R2和R3为内网,R4为外网,配置R1,默认允许所有telnet通过,因为要使用telnet做认证,然后只有当认证通过之后,ICMP才可以通过。
这里静态路由配置与地址表与第一个实验自反ACL完全相同,参照上面配置做通路由即可开始此实验配置。
1.配置Dynamic ACL
(1)配置默认不需要认证就可以通过的数据,如telnet
R1(config)#access-list 100 permit tcp an an eq telnet
(2)配置认证之后才能通过的数据,如ICMP,绝对时间为2分钟。
R1(config)#access-list 100 dynamic ccie timeout 2 permit icmp any any
(3)应用ACL
R1(config)#int f0/0
R1(config-if)#ip access-group 100 in
2.测试访问
(1)测试内网R2 telnet外网R4
说明:从结果中看出,telnet不受限制。
(2)测试测试内网R2 ping外网R4
说明:内网在没有认证之前,ICMP是无法通过的。
3.配置本地用户数据库
R1(config)#username gggggg password cisco
4.配置所有人的用户名具有访问功能
R1(config)#line vty 0 117
R1(config-line)#login local
R1(config-line)#autocommand access-enable
5.内网R2做认证
说明:当telnet路由器认证成功后,是会被关闭会话的。
6.测试内网到外网的ICMP通信功能
说明:认证通过之后,ICMP被放行。
7.查看ACL状态
说明:可以看到动态允许的流量已放行。
基于时间的ACL
拓扑图
前提:在R1路由器上需要提前配置好正确的时间
R1#clock set 10:00:00 apr 23 2019
这里静态路由配置与地址表与第一个实验自反ACL完全相同,参照上面配置做通路由即可开始此实验配置。
1.配置time-range
r1(config)#time-range TELNET
r1(config-time-range)#periodic weekdays 9:00 to 15:00
说明:定义的时间范围为每周一到周五的9:00 to 15:00
2.配置ACL
说明:配置R1在上面的时间范围内拒绝R2到R4的telnet,其它流量全部通过。
R1(config)#access-list 150 deny tcp host 10.1.17.2 any eq 23 time-range TELNET
R1(config)#access-list 150 permit ip any any
3.应用ACL
R1(config)#int f0/0
R1(config-if)#ip access-group 150 in
4.测试时间范围内的流量情况
(1)查看当前R1的时间
说明:当前时间为周二10:00,即在所配置的时间范围内。
(2)测试R2向R4发起telnet会话
说明:可以看到,在规定的时间范围内,R2向R4发起telnet会话是被拒绝的。
(3)测试除telnet外的其它流量
说明:可以看到,在规定的时间范围内,除了telnet之外,其它流量不受限制。
(4)测试除R2之外的设备telnet情况
说明:可以看到,除R2之外,其它设备telnet并不受限制。
5.测试时间范围外的流量情况
(1)更改当前R1的时间
说明:更改时间为周二16:00,即在所配置的时间范围之外。
(2)测试R2向R4发起telnet会话
说明:在时间范围之外,所限制的流量被放开。
Established扩展ACL
拓扑图
地址表
Device |
Interface |
IP address |
R1 |
F 0/0 |
172.16.17.1 |
F 0/1 |
10.3.17.1 |
|
S 0/3/0 |
10.1.17.1 |
|
R2 |
S 0/3/0 |
10.1.17.2 |
S 0/3/1 |
10.2.17.2 |
|
R3 |
F 0/0 |
192.168.17.3 |
S 0/1/0 |
10.2.17.3 |
|
PC1 |
NIC |
172.16.17.100 |
Default Gateway |
172.16.17.1 |
|
PC2 |
NIC |
10.3.17.100 |
Default Gateway |
10.3.17.1 |
|
SERVER1 |
NIC |
192.168.17.100 |
Default Gateway |
192.168.17.3 |
配置扩展ACL前先把网络做通,配置静态路由。
R1(config)#ip route 10.2.17.0 255.255.255.0 10.1.17.2
R1(config)#ip route 192.168.17.0 255.255.255.0 10.1.17.2
R2(config)#ip route 172.16.17.0 255.255.255.0 10.1.17.1
R2(config)#ip route 10.3.17.0 255.255.255.0 10.1.17.1
R2(config)#ip route 192.168.17.0 255.255.255.0 10.2.17.3
R3(config)#ip route 10.1.17.0 255.255.255.0 10.2.17.2
R3(config)#ip route 172.16.17.0 255.255.255.0 10.2.17.2
R3(config)#ip route 10.3.17.0 255.255.255.0 10.2.17.2
试从PC1 ping 到Server1
静态路由配置完成,开始做扩展ACL实验。
实验步骤
要求:
� 拒绝PC1 所在网段访问Server 192.168.17.100 的Web 服务
� 拒绝PC2 所在网段访问Server 192.168.17.100 的Ftp 服务
� 拒绝PC1 所在网段访问Server 192.168.17.100 的SQL 服务
� 拒绝PC1 所在网段访问路由器R3 的Telnet 服务
� 拒绝PC2 所在网段访问路由器R2 的Web 服务
� 拒绝PC1 和PC2 所在网段ping Server 服务器
� 只允许路由器R3 以接口s0/1/0 为源ping 路由器R2 的接口s0/1/1 地址,而不允许路
由器R2 以接口s0/1/1 为源ping 路由器R3 的接口s0/1/0 地址,即单向ping.
(一)配置路由器
R1(config)#access-list 110 remark this is an example for extended acl
R1(config)#access-list 110 deny tcp 172.16.17.0 0.0.0.255 host 192.168.17.100 eq 80
R1(config)#access-list 110 deny tcp 10.3.17.0 0.0.0.255 host 192.168.17.100 eq 21
R1(config)#access-list 110 deny tcp 10.3.17.0 0.0.0.255 host 192.168.17.100 eq 20
R1(config)#access-list 110 deny tcp 172.16.17.0 0.0.0.255 host 192.168.17.100 eq 1433
R1(config)#access-list 110 deny tcp 172.16.17.0 0.0.0.255 host 10.2.17.3 eq 23
R1(config)#access-list 110 deny tcp 172.16.17.0 0.0.0.255 host 192.168.17.3 eq 23
R1(config)#access-list 110 deny tcp 10.3.17.0 0.0.0.255 host 10.1.17.2 eq 80
R1(config)#access-list 110 deny tcp 10.3.17.0 0.0.0.255 host 10.2.17.2 eq 80
R1(config)#access-list 110 deny icmp 172.16.17.0 0.0.0.255 host 192.168.17.100
R1(config)#access-list 110 deny icmp 10.3.17.0 0.0.0.255 host 192.168.17.100
R1(config)#access-list 110 permit ip any any
R1(config)#int s0/1/0
R1(config-if)#ip access-group 110 out
(二)配置路由器R3
R3(config)#access-list 120 deny icmp host 10.2.17.2 host 10.2.17.3 echo
R3(config)#access-list 120 permit ip any any
R3(config)#int s0/1/0
R3(config-if)#ip access-group 120 in
四、实验调试
(一)路由器R1 上查看ACL110
R1#sh ip access-lists 110
(二)路由器R2 ping R3
(三)配置命令扩展ACL
R3(config)#ip access-list extended acl120
R3(config-ext-nacl)#deny icmp host 10.2.17.2 host 10.2.17.3 echo
R3(config-ext-nacl)#permit ip any any
R3(config-ext-nacl)#int s0/1/0
R3(config-if)#ip access-group acl120 in
R3#show ip access-lists
扩展ACL实验配置完成,验证成功
基于上下文的访问控制
拓扑图
地址表
Device |
Interface |
IP address |
R0 |
F 0/0 |
192.168.17.1 |
S 0/0/0 |
10.1.17.1 |
|
R1 |
S 0/0/0 |
10.1.17.2 |
S 0/0/1 |
10.2.17.2 |
|
R2 |
F 0/0 |
172.16.17.3 |
S 0/0/0 |
10.2.17.3 |
|
PC-A |
NIC |
192.168.17.4 |
Default Gateway |
192.168.17.1 |
|
PC-C |
NIC |
172.16.17.4 |
Default Gateway |
172.16.17.3 |
预配置:
在配置防火墙之前验证设备间连通性,即先配置静态路由
R0(config)#ip route 10.2.17.0 255.255.255.0 10.1.17.2
R0(config)#ip route 172.16.17.0 255.255.255.0 10.1.17.2
R1(config)#ip route 192.168.17.0 255.255.255.0 10.1.17.1
R1(config)#ip route 172.16.17.0 255.255.255.0 10.2.17.3
R2(config)#ip route 10.1.17.0 255.255.255.0 10.2.17.2
R2(config)#ip route 192.168.17.0 255.255.255.0 10.2.17.2
在R2启用密码
R2(config)#enable password abc123
启用console口密码
R2(config)#line console 0
R2(config-line)#password abd123
启用vty行接入密码
R2(config)#line vty 0 4
R2(config-line)#password abe123
把S0、S1所有交换机接口都在Vlan1(S2同理)
S0(config)#int f 0/1
S0(config-if)# switchport access vlan 1
S0(config-if)# switchport trunk allowed vlan 1
S0(config)#int f 0/2
S0(config-if)# switchport access vlan 1
S0(config-if)# switchport trunk allowed vlan 1
在PC-A的命令提示符ping PC-C
在R2配置一个命名IP ACl阻隔所有外网产生的流量
用ip access-list extended指令创造一个已命名的IP ACL
R2(config)#ip access-list extended out-in
R2(config-ext-nacl)# deny ip any any
R2(config-ext-nacl)# exit
在s0/0/0应用ACl
R2(config)#int s 0/0/0
R2(config-if)# ip access-group out-in in
确保进入s0/0/1接口的流量被阻隔
在PC-C命令提示符ping PC-A服务器。ICMP回送响应会被ACL阻隔
创建一个CBAC检测规则
第一步 创建一个检测规则来检测ICMP,Telnet,和HTTP流量。
R2(config)# ip inspect name IN-OUT-IN icmp
R2(config)# ip inspect name IN-OUT-IN telnet
R2(config)# ip inspect name IN-OUT-IN http
第二步 开启时间戳记记录和CBAC审计跟踪信息。
R2(config)# ip inspect audit-trail
R2(config)# service timestamps debug datetime msec
R2(config)# logging host 192.168.17.3
第三步 对在s0/0/0的出口流量用检测规则。
R2(config-if)# ip inspect IN-OUT-IN out
第四步 验证审计跟踪信息正被syslog服务器记录
在PC-C 成功ping、telnet访问PC-A来检测连通性
需要注意Telnet不了
CBAC基于上下文的访问控制配置完成。
总结:我们在这次实验是对ACL全面的了解,不仅有基本ACL还有自反ACL和扩展ACL,这次的实验可谓非常的难,我们通过ACL对网络进行管理,屏蔽禁止访问的网络,和如何对网页进行禁止访问从而达到防火墙的目的。我们根据预先定义好的规则,如时间,地址等,对包进行过滤,从而达到访问控制的目的。总的来说本次实验还是非常有意义的,让我们深刻的了解到了,防火墙的工作原理,以及自己可以控制进出地址时还是蛮有成就感