上行是路由器下行是交换机?华为防火墙双机热备上OSPF下VRRP各管一段
防火墙双机热备最常见的形态是"上下行都接交换机",但实际组网里还有另一种典型拓扑:上行接路由器而且跑着 OSPF,下行才是二层交换机带内网。这种混合形态的难点是主备切换要两头兼顾——上行 OSPF 邻居不能因切换断掉,下行内网网关要能漂移。华为的解法是把两件事拆开:上行走 HRP 联动 OSPF 调整选路,下行业务口挂 VRRP 备份组让网关自动漂移。
官方这个 Web 举例:DeviceA 与 DeviceB 业务接口都工作在三层,直路部署。上行 GE0/0/1 接路由器跑 OSPF(两侧 10.2.0.1/24 与 10.2.1.1/24,区域 untrust);下行 GE0/0/3 接二层交换机(10.3.0.1 与 10.3.0.2,区域 trust);GE0/0/7 专做心跳口(区域 dmz,10.10.0.1 与 10.10.0.2)。正常时流量走 DeviceA,故障时切到 DeviceB。
配置步骤(Web 界面)
第一步,在两台设备上分别配三个业务口。选择"网络 > 接口":DeviceA 上 GE0/0/1(untrust,10.2.0.1/24)、GE0/0/3(trust,10.3.0.1/24)、GE0/0/7(dmz,10.10.0.1/24);DeviceB 对应口区域相同,地址 10.2.1.1/24、10.3.0.2/24、10.10.0.2/24。
第二步,两边配 OSPF。在"网络 > 路由 > OSPF"单击"新建":类型 OSPFv2、进程 ID 10,新建区域 0.0.0.0 并逐条新建网络——DeviceA 发布 10.2.0.0/255.255.255.0 和 10.3.0.0/255.255.255.0,DeviceB 发布 10.2.1.0/255.255.255.0 和 10.3.0.0/255.255.255.0。
第三步,配双机热备。两台设备都在"系统 > 高可靠性 > 双机热备"单击"配置",开启后按规划配置(心跳口指向 GE0/0/7 对端地址)。对照配置脚本,DeviceA 上是主用侧:
hrp enable
hrp interface GE0/0/7 remote 10.10.0.2
hrp track interface GE0/0/1
DeviceB 镜像对称,remote 指向 10.10.0.1。hrp track interface GE0/0/1 盯住上行口,上行口一断即触发主备切换。脚本里下行业务口还挂着 VRRP 备份组:DeviceA 为 vrrp vrid 1 virtual-ip 10.3.0.3 active,DeviceB 为 vrrp vrid 1 virtual-ip 10.3.0.3 standby,内网网关就是这个虚拟 IP。
第四步,配安全策略。双机热备建立后,DeviceA 上配的策略自动备份到 DeviceB,只需配一次。选择"策略 > 安全策略 > 安全策略"新建两条:policy_sec1(源安全区域 trust、目的安全区域 untrust、源地址 10.3.0.0/24、动作允许,放行内网用户访问外网)和 policy_sec2(源安全区域 local,untrust、目的安全区域 local,untrust、服务 ospf、动作允许,放行设备与上行路由器交互 OSPF 报文)。
policy_sec2 最容易漏:缺省情况下 firewall packet-filter basic-protocol enable 处于开启状态,OSPF 报文受安全策略控制,不配这条放行,OSPF 邻居建不起来。
第五步,配周边设备。两台下行交换机各有三个接口加入同一 VLAN;内网设备配缺省路由指向虚拟 IP 10.3.0.3;上行路由器上配置 OSPF 发布相邻网段(具体命令参考各设备文档)。
以 DeviceA 为例,最终配置脚本如下:
#
sysname DeviceA
#
hrp enable
hrp interface GE0/0/7 remote 10.10.0.2
hrp track interface GE0/0/1
hrp authentication-key %+%##!!!!!!!!!"!!!!"!!!!*!!!!J6+;U#>V\!_e1NY[iGLXjT%k=rKkg,Z)CI0!!!!!!!!!!!!!!!:!!!!Ec&0;Y9kF~"+*IM>Io(Sm{&9' 5y$6'L:2@-!!!!!%+%#
#
interface GE0/0/1
ip address 10.2.0.1 255.255.255.0
#
interface GE0/0/3
ip address 10.3.0.1 255.255.255.0
vrrp vrid 1 virtual-ip 10.3.0.3 active
#
interface GE0/0/7
ip address 10.10.0.1 255.255.255.0
#
firewall zone trust
set priority 85
add interface GE0/0/3
#
firewall zone untrust
set priority 5
add interface GE0/0/1
#
firewall zone dmz
set priority 50
add interface GE0/0/7
#
ospf 10
area 0.0.0.0
network 10.2.0.0 0.0.0.255
network 10.3.0.0 0.0.0.255
#
security-policy
rule name policy_sec1
source-zone trust
destination-zone untrust
source-address 10.3.0.0 mask 255.255.255.0
action permit
rule name policy_sec2
source-zone local
source-zone untrust
destination-zone local
destination-zone untrust
service ospf
action permit
#
return
DeviceB 脚本结构相同,差异只有四处:sysname、hrp interface 的 remote 地址、GE0/0/1 与 GE0/0/3 的地址、VRRP 角色为 standby。
验证
选择"系统 > 高可靠性 > 双机热备"查看运行情况。正常时 DeviceA 的"当前运行模式"为"主备备份"、“当前运行角色"为"主用”,DeviceB 为"备用",流量经 DeviceA 转发。DeviceA 故障后再查,角色对调:流量改走 DeviceB,业务不中断。
双机热备不是简单两台一模一样,上下行拓扑不同,联动机制就得跟着变。贵州诚鑫致达科技做出口高可用方案时,会先看上行是交换机还是路由器再定切换方案。你们的出口是单台防火墙还是有备份?评论区说说拓扑。