实验需求及网络拓扑结构设计
本次实验目标是让我们更清晰地了解防火墙的原理、设计与实现,熟悉防火墙关键技术,掌握防火墙的安全级别,以及熟悉思科防火墙的基本配置。为实现预设实验目标要求将网络划分为 inside(内网)、outside(外网)、DMZ(服务器区)三个区域,并对防火墙进行配置,使得内网和 DMZ 区的设备可以访问外网的设备,内网设备可以访问 DMZ区设备,但是 DMZ 区设备不能访问内网设备,外网设备可以访问 DMZ 区的设备。根据实验目标和需求设计网络拓扑如下图所示:
对网络拓扑图各设备 IP 地址规划如下表所示。
实验具体步骤
(1)根据设计的网络拓扑图,在 Cisco Packet Tracer 中搭建网络。
(2)配置主机、服务器和路由器的接口的 IP 地址。通过 IP Configuration 分别配置主机和服务器的 IP 地址。
通过命令配置路由器接口的 IP 地址 :
Router>enable
Router#configure terminal
Router(config)#interface GigabitEthernet 0/0
Router(config-if )#ip address 192.0.2.100
255.255.255.0
Router(config-if )#no shutdown
Router(config-if )#exit
Router(config)#ip route 0.0.0.0 0.0.0.0 192.0.2.1
命令说明:
命令:ip route <ip_address> <mask><gateway> [<preference>],no ip route <ip_address> <mask> <gateway> [<preference>]。
功能:配置静态路由
本命令的 no 操作为删除静态路由。参数 :<ip_address> 和 <mask> 分别是目的设备的点分十进制格式的 IP 地址和子网掩码,<gateway> 则为下一跳设备的 IP 地址,<preference> 表示路由优先级,在 1 至 255 间取值,其值越小表明优先级越高 [6]。其中0.0.0.0 不是一个真正意义上的 IP 地址,而是表示本地主机路由表中没有具体写明的目的主机或网络的这样一个集合。
(3)开启路由器的 telnet 服务。
Router(config)#line vty 0 15 //设定终端连接数为16
Router(config-line)#password cisco
Router(config-line)#login
(4)更改 ASA 防火墙名称。
ciscoasa>enable
Password:(密码默认为空)
ciscoasa#configure terminal
ciscoasa(config)#hostname PKT-ASA
(5)配置 VLAN 1 的 IP 地址和名称。
PKT-ASA#configure terminal
PKT-ASA(config)#interface vlan 1
PKT-ASA(config-if )#ip address 192.168.1.1 255.255.255.0
PKT-ASA(config-if )#nameif inside //设置VLAN1的别名
PKT-ASA(config-if )#security-level 100
说明 :Packet Tracer 中的 ASA 5505 已经默认配置好了两个 VLAN
VLAN1 :Inside VLAN(interfaces E0/1->E0/7)
VLAN2 :Outside VLAN(interfaces E0/0)
(6)配置 VLAN 2 的 IP 地址和名称。
PKT-ASA#configure terminal
PKT-ASA(config)#interface vlan 2
PKT-ASA(config-if )#ip address 192.0.2.1 255.255.255.0
PKT-ASA(config-if )#nameif outside
PKT-ASA(config-if )#security-level 0
(7)配置 VLAN 3 的 IP 地址和名称。
PKT-ASA#configure terminal
PKT-ASA(config)#interface vlan 3
PKT-ASA(config-if)#no forward interface vlan 1 //设置VLAN3为不能转发VLAN1
PKT-ASA(config-if )#nameif dmz
PKT-ASA(config-if )#security-level 50
PKT-ASA(config-if )#ip address 172.16.10.1 255.255.255.0
(8)分配 ASA 防火墙的接口到不同的 VLAN(其
中 VLAN1 和 VLAN2 已经默认划分,不需要再配置)。
PKT-ASA#configure terminal
PKT-ASA(config)#iinterface Ethernet 0/2
PKT-ASA(config-if )#switchport access vlan 3
结果测试
(1)验证 ASA 防火墙和主机、服务器、路由器的结果表明全部能够 ping 通。从 ASA 防火墙分别 ping 主机、服务器和路由器。
(2)验证从 inside 和 dmz 区域连通到 outside 区域情况 :
使用 ping 命令进行验证,结果表明能够从 inside和 dmz 区 域 连 通 到 outside 区 域, 因 为 inside 和dmz 区的安全级别高于 outside 区域。
(3)通过 ACL 开启防火墙的 icmp 通路 :
模拟网络运行,通过数据包动态传输图,结果表明icmp 数据包可以从高安全级别的 inside 区域通过防火墙到低安全区域的 outside,反之则不行,这正是防火墙的作用。如果需要使得 icmp 数据包可以从低安全级别的 outside 区域通过防火墙到高安全区域的 inside,则需要手动通过 ACL 进行配置。
PKT-ASA#configure terminal
PKT-ASA(config)#access-list icmp extended permit icmp any any
PKT-ASA(config)#access-group icmp in interface outside
命令说明 :在 ASA 上配置 ACL 有两个作用,一是允许入站连接 ;二是控制出站连接的流量。目前有两种主要的 ACL: 标准 ACL 和扩展 ACL,标准 ACL 只对数据包中的源地址进行检查,而扩展 ACL 既要对数据包的源地址进行检查,也要对数据包的目的地址进行检查,并且能够检查数据包的端口号、特定协议类型等 [7]。
标准 ACL :
asa(config)#access-list acl-name [standrad]{permit | deny } ip_addr mask
扩展 ACL :
asa(config)#access-list acl_name [extended]{permit | deny } protocol src_ip_addr src_mask dst_ip_addr dst_mask [operator port]
将 ACL 应用到接口 :
asa(config)#access-group acl_name {in |out} interface interface_name