防火墙配置作业
拓扑
我的学号为201610110045,所以是45
路由器 | 接口 | Ip地址 |
R1 | F0/0 | 10.45.1.1 |
R3 | F0/0 | 10.45.1.2 |
F0/1 | 10.45.2.1 | |
R4 | F0/0 | 10.45.2.2 |
R2 | F0/0 | 10.45.2.3 |
首先先配置ip地址,让拓扑配置通
Established参数
R3(config)#ip access-list extended goto
R3(config-ext-nacl)#permit tcp any any established//established是允许tcp协议的应答报文通过acl
R3(config)#int f0/0
R3(config-if)#ip access-group goto in//因为是要允许应答报文进入网络所以是in
下图测试内网主动与外网建立tcp成功
外网主动与内网建立tcp失败,下图
自反acl
R3:
R3(config)#ip access-list extended come
R3(config-ext-nacl)#permit icmp any any //允许icmp报文通过,就是允许内外网互相ping
R3(config-ext-nacl)#evaluate abc//其他报文要需要abc这个tag才能通过
R3(config)#ip access-list extended goto
R3(config-ext-nacl)#permit tcp any any reflect abc timeout 10//通过的tcp报文打上abc的tag
R3(config)#interface f0/0
R3(config-if)#ip access-group goto out//从f0/0出去的使用goto规则
R3(config-if)#ip access-group come in//从f0/0进来的使用come规则
这样理论上是内外网ping可以互通,内网telnet外网允许,外网telnet内网不允许,测试如下理论成功
上图R4telnetR1成功
上图R1telnetR4失败
动态acl
R3:
R3(config)#ip access-list extended goto
R3(config-ext-nacl)#permit tcp any any eq telnet//允许任何telnet报文通过因为需要telnet做认证
R3(config-ext-nacl)#dynamic marco timeout 2 permit icmp any any//动态允许验证用户名为marco的用户发起的ping报文通过
R3(config-ext-nacl)#int f0/1
R3(config-if)#ip access-group goto in
R3(config-if)#exit
R3(config-if)#username marco password marco//创建用户名为marco密码为marco的用户
R3(config-if)#line vty 0 182//创建终端
R3(config-if)#login local//登录验证使用本地数据库
R3(config-if)# autocommand access-enable//允许自动建立一个动态的acl
R4上在没有telnet认证之前pingR1无法ping通如下图
在R4telnet认证之后再pingR1,就可以ping通了如下图
基于时间acl
R3:
R3(config)#time-range tt//创建时间范围命名为tt
R3(config-time-range)#periodic weekdays 9:00 to 12:00//时间范围定在工作日9点到12点
R3(config-time-range)#exi
R3(config)#ip access-list extended goto
R3(config-ext-nacl)#permit icmp any any time-range tt//设置允许在tt时间范围内通过icmp报文
R3(config-ext-nacl)#int f0/1
R3(config-if)#ip access-group goto in
查看当前路由器时间
R3#show clock
发现当前时间是星期五1:33,并不在允许ping通的时间工作日9:00到12:00时间段内,理论上R4无法ping通R1,下午为测试,理论正确
接下来设置R3的时间设置到允许ping通的时间段内
R3#clock set 10:00:00 apr 25 2019
R3#show clock
现在时间是周三上午十点,在ping通的时间段内,这时候理论上R4pingR1可以ping通,下图为测试结果,理论成立
基于上下文的访问控制
R3:
R3(config)#ip inspect name test icmp//设置检查icmp报文的上下文命名为test
R3(config)#int fastEthernet 0/0
R3(config-if)#ip inspect test in//设定test检查规则在进入方向
使用
R3#show ip inspect sessions detail
查看R3的上下文日志,是空的
使用R1pingR4,然后在R3查看上下文日志,即可看见ping的会话
区域策略防火墙
R3:
R3(config)#zone security Private//创建区域Private
R3(config-sec-zone)#exit
R3(config)#zone security Public//创建区域Public
R3(config-sec-zone)#exit
R3(config)#int f0/1
R3(config-if)#zone-member security Private//应用接口到Private区域
R3(config-if)#int f0/0
R3(config-if)#zone-member security Public//应用接口到Public区域
R3(config-if)#exit
R3(config)#class-map type inspect match-any publictop//创建class-map名为publictop
R3(config-cmap)#match protocol icmp//匹配icmp协议
R3(config-cmap)#exi
R3(config)#policy-map type inspect 1//创建policy-map编号1
R3(config-pmap)#class type inspect publictop//应用publictop的规则
R3(config-pmap-c)#inspect//设置匹配到的流量使用inspect
R3(config-pmap-c)#exit
R3(config-pmap)#exit
R3(config) #zone-pair security private-public source private destination public//设置从private区域到public
R3(config-sec-zone-pair)#service-policy type inspect 1//使用policy-map 1
R3(config-sec-zone-pair)#exit
R3(config)#class-map type inspect match-any privatetop
R3(config-cmap)#match protocol telnet
R3(config-cmap)#exit
R3(config)#policy-map type inspect 2
R3(config-pmap)#class type inspect privatetop
R3(config-pmap-c)#inspect
R3(config-pmap-c)#exit
R3(config-pmap)#exit
R3(config)#zone-pair security public-private source public destination private
R3(config-sec-zone-pair)#service-policy type inspect 2
R3(config-sec-zone-pair)#exit
以上配置理论上外网R1可以telnetR4但是不能pingR4,R4可以pingR1但是不能telnetR1,下图为测试成功理论成立
R1图如下:
R4如下: