防火墙配置
防火墙
- 安全区域: 一个或多个接口的集合(区别于
路由器的主要特性)- 路由器是转发数据包
- 防火墙是控制数据包
- 当报文在不同的安全区域之间流动时,才会触发安全机制检查
- 以
华为防火墙为例,提供了三个可配置的安全区域
- Local区域(受信任最高,优先级100): 代表防火墙本身
- 防火墙主动发出的报文,可认为从local区域发出
- 需要防火墙响应并处理的,可认为从local区域接收
- local区域不能添加任何接口,但防火墙所有的业务接口本身属于local区域
- Trust区域(受信任高,优先级85): 通常用来定义内部用户所在的网络
- DMZ区域(受信任中等,优先级50): 通常用来定义内部服务器所在的网络
- Untrust区域(受信任低,优先级5): 外网
- 配置
安全策略: 允许两个网络之间可以进行合法的通信- 由
匹配条件(五元组,用户,时间段)和动作组成的控制规则 - 当防火墙收到流量以后,对流量的属性进行识别,然后与
安全策略的规则进行匹配 防火墙默认禁止所有的流量,除非对流量配置安全策略- 从上到下依次匹配
- 比较精确的条件,放在上面
- 比较粗狂的条件,放到下面
- 从上到下依次匹配
- 由
华为实验: 在FW配置NAT,实现私网的电脑可以通过防火墙上网,思路分析
- 配置FW接口地址,划入到安全区域
- 配置安全策略,允许内网访问外网
- 配置NAT地址池,NAPT端口转换
- 源NAT策略
- 在FW,配置缺省路由
思科防火墙配置
-
常用命令
- 注意事项: 以
5505型号防火墙为例(不同的防火墙,命令稍微不同) - 最简单的配置: 以一台
终端和一台5505型号防火墙为例
- 进入配置模式并设置基本参数 # 进入特权模式 ciscoasa> enable Password: # 直接回车(默认无密码) # 进入全局配置模式 ciscoasa# configure terminal # 设置主机名(可选) ciscoasa(config)# hostname FW # 设置enable密码 FW(config)# enable password 123456 - 配置vlan1 # 进入VLAN 1接口配置 FW(config)# interface vlan 1 # 命名接口为inside(内部网络) FW(config-if)# nameif inside # 设置最高安全级别: 防火墙默认允许从高安全级别(inside)到低安全级别的通信,但反向通信需要明确配置ACL规则 FW(config-if)# security-level 100 # 设置防火墙内部接口IP地址(应作为电脑的网关) FW(config-if)# ip address 192.168.1.1 255.255.255.0 # 启用接口 FW(config-if)# no shutdown # 退出接口配置模式 FW(config-if)# exit - 配置物理接口 # 进入e0/0接口配置 FW(config)# interface ethernet 0/0 # 设置为访问模式(非trunk) FW(config-if)# switchport mode access # 将接口划入VLAN 1(与内部接口相同) FW(config-if)# switchport access vlan 1 # 启用接口 FW(config-if)# no shutdown # 退出接口配置模式 FW(config-if)# exit - 注意事项: 以

- 如果是反向通信,需要配置ACL,可以这么配置
# 允许源172.16.1.0的网段流向内网的192.168.1.0网段
FW(config)#access-list out_to_in permit ip host 172.16.1.0 host 192.168.1.0
# 应用规则
FW(config)#access-group out_to_in in interface inside
思科防火墙实现(5505)
- 参考网址:
https://blog.csdn.net/qq_46635165/article/details/121613189 - 常用命令
- write erase # 清空配置
- reload # 重新加载
- 思科模拟实验: 实现
终端和Server端之间互通

- 首先对asa5505进行配置清空,减少实验干扰
ciscoasa#write erase # 清空配置
......
ciscoasa#reload # 重新加载
......
- 查看vlan与端口配置情况:
ciscoasa#show switch vlan
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 down Et0/1, Et0/2, Et0/3, Et0/4
Et0/5, Et0/6, Et0/7
2 down Et0/0
- 可以看到,这款防火墙有两个默认的vlan
- vlan1 默认对应多个接口
- vlan2 默认只对应一个接口
- 思路分析:
在思科中,一般 inside 表示 trust区域,outside 表示 untrust区域)
接下来,需要将e0/1 和 e0/2接口分别加入两个区域(vlan 1 属于trust,vlan 2属于 untrust,并且通过设置安全级别来区分安全区域)
# vlan 1 为 inside, 即为trust区域
ciscoasa(config)#interface vlan 1
ciscoasa(config-if)#nameif inside
INFO: Security level for "inside" set to 100 by default.
ciscoasa(config-if)#ip address 1.1.1.254 255.255.255.0
ciscoasa(config-if)#security-level 100
ciscoasa(config-if)#no shutdown
ciscoasa(config-if)#exit
# 配置vlan 2 为 outside, 即为untrust区域
ciscoasa(config)#interface vlan 2
ciscoasa(config-if)#nameif outside
INFO: Security level for "outside" set to 0 by default.
ciscoasa(config-if)#ip address 2.2.2.254 255.255.255.0
ciscoasa(config-if)#security-level 0
ciscoasa(config-if)#no shu
# 将 e0/2 接口加入 vlan 2(相当于将端口加入untrust区域):
ciscoasa(config-if)#int e0/2
ciscoasa(config-if)#switchport access vlan 2
ciscoasa(config-if)#exit
- 查看此时的vlan和interface情况
ciscoasa#show switch vlan
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 inside up Et0/1, Et0/3, Et0/4, Et0/5
Et0/6, Et0/7
2 outside up Et0/0, Et0/2
ciscoasa#show interface ip brief
Interface IP-Address OK? Method Status Protocol
......
Ethernet0/1 unassigned YES NVRAM up up
Ethernet0/2 unassigned YES NVRAM up up
......
Ethernet0/7 unassigned YES NVRAM down down
Vlan1 1.1.1.254 YES manual up up
Vlan2 2.2.2.254 YES manual up up
- 此时,终端到防火墙之间的通讯已经OK,但是ping 2.2.2.254不通,因为在防火墙上没有配置安全策略放行流量
C:\>ping 1.1.1.254
Pinging 1.1.1.254 with 32 bytes of data:
Reply from 1.1.1.254: bytes=32 time<1ms TTL=255
Reply from 1.1.1.254: bytes=32 time<1ms TTL=255
......
- 思科防火墙的一些概念理解
在思科防火墙中,不同安全级别的接口之间访问时,遵从:
- 允许出站(outbound)连接 [即从高安全等级100到低安全等级0,我可以给你发消息]
- 禁止入站(inbound)连接 [即低安全等级0到高安全等级100,你不能回我消息]
- 禁止相同安全级别的接口之间通信 [如果你的安全等级为100,我也为100,咱俩不能相互发消息]
- 配置
安全策略,放行从untrust到trust 区域的icmp响应报文(允许外部主机对发送到内部的 ping 请求进行回应。)
ciscoasa(config)#access-list icmp permit icmp host 2.2.2.2 host 1.1.1.1 echo-reply // access-list [创建ACL] icmp[ACL条目名称] permit [执行的动作,允许或拒绝] icmp[协议类型] host[表示指定源主机ip] 2.2.2.2 host[表示指定目的主机ip1.1.1.1] echo-reply[报文类型:icmp响应报文]
// 在名为 outside 的接口上,对所有进入防火墙的流量,使用名为 ‘icmp’ 的访问控制列表进行过滤
ciscoasa(config)#access-group icmp in int outside //access-group [将指定ACL应用到接口] icmp[要应用的ACL的名称] in [流量方向:inbound] int outside [应用到outside接口]
######################################################################
查看ACL
ciscoasa(config)#show access-list
access-list cached ACL log flows: total 0, denied 0 (deny-flow-max 4096) alert-interval 300
access-list icmp; 1 elements; name hash: 0xd95cd98d
access-list icmp line 1 extended permit icmp host 2.2.2.2 host 1.1.1.1 echo-reply(hitcnt=3) 0xe655907e
- 此时,在终端上ping 2.2.2.2,可以ping通
Nat配置步骤
- 设置什么样的数据包,需要做转换
- ACL: 使用它来挑选数据包
- 设置从哪个接口发出的数据包,需要做转换
- 在外网口,开启nat
- rule permit source any # 允许内网所有地址上网(Acl 2000编号)
- 这里也可以允许部分IP上网,另外一部分IP不能上网
- 进入连接外网的接口,应用规则: nat ou 2000
防火墙
- 配置
路由器的步骤
- 配IP地址
- 配路由(去外网的路由,回内网)
- 配NAT
- 如果使用
防火墙来代替路由器,多出一个步骤即可
- 配IP地址
- 配路由(去外网的路由,回内网)
- 配NAT
- 配安全策略: 哪些数据包能过,哪些数据包不能过
- 设置安全域(信任域内网,非信任域外网)
- 配置安全规则(允许哪些数据包通过)

浙公网安备 33010602011771号