华为防火墙-CLI举例:虚拟系统双机热备(负载分担),防火墙上行连接路由器,下行多个虚拟系统连接不同子网,上行共用根系统出口

本举例介绍了FW上配置虚拟系统后,下行多个虚拟系统通过交换机连接不同子网,上行共用根系统接口连接路由器的负载分担方式双机热备的CLI配置方法。

组网需求

图1所示,某企业部署了FW作为出口网关,连接内部网络与Internet。为提高可靠性,采用双机组网。两台FW的业务接口都工作在三层,上行连接路由器,两者之间运行OSPF协议;下行通过交换机连接不同子网,各子网间相互隔离。具体要求如下:

  • 企业只有一个上行接口,所有部门都需要借用该接口访问Internet。
  • 公司内网不同部门之间需要网络隔离,不能互访。
  • 两台FW以负载分担方式工作。正常情况下,部门A流量通过FW_A转发,部门B流量通过FW_B转发。当FW_A或FW_B出现故障时,部门A和部门B流量都通过另一台FW转发,保证业务不中断。
  • FW上下行链路状态保持一致,当一侧接口Down时,另一侧接口能保持联动,保证业务不中断。
图1 虚拟系统双机热备组网图
华为防火墙-CLI举例:虚拟系统双机热备(负载分担),防火墙上行连接路由器,下行多个虚拟系统连接不同子网,上行共用根系统出口

数据规划

表1 FW_A数据规划

项目

数据

说明

接口

接口号:GigabitEthernet 1/0/1

IP地址:192.168.0.2/30

安全区域:Untrust

根系统(public)上行接口

接口号:GigabitEthernet 1/0/2

IP地址:10.3.1.2/24

安全区域:Trust

虚拟系统(vsysa)下行接口

接口号:GigabitEthernet 1/0/3

IP地址:10.3.2.2/24

安全区域:Trust

虚拟系统(vsysb)下行接口

接口号:GigabitEthernet 1/0/7

IP地址:10.10.0.1/24

安全区域:DMZ

心跳接口

VRRP备份组

VRRP备份组1:10.3.1.1/24 active

-

VRRP备份组2:10.3.2.1/24 standby

-

路由

黑洞路由

目的地址:1.1.1.1/32

根系统(public)NAT地址池的黑洞路由,防止路由环路

OSPF 100

发布的网段:192.168.0.0/30

引入静态路由

根系统(public)OSPF配置

表2 FW_B数据规划

项目

数据

说明

接口

接口号:GigabitEthernet 1/0/1

IP地址:192.168.0.10/30

安全区域:Untrust

根系统(public)上行接口

接口号:GigabitEthernet 1/0/2

IP地址:10.3.1.3/24

安全区域:Trust

虚拟系统(vsysa)下行接口

接口号:GigabitEthernet 1/0/3

IP地址:10.3.2.3/24

安全区域:Trust

虚拟系统(vsysb)下行接口

接口号:GigabitEthernet 1/0/7

IP地址:10.10.0.2/24

安全区域:DMZ

心跳接口

VRRP备份组

VRRP备份组1:10.3.1.1/24 standby

-

VRRP备份组2:10.3.2.1/24 active

-

路由

黑洞路由

目的地址:1.1.1.1/32

根系统(public)NAT地址池的黑洞路由,防止路由环路

OSPF 100

发布的网段:192.168.0.8/30

引入静态路由

根系统(public)OSPF配置

表3 Router1数据规划

项目

数据

说明

接口

接口号:GigabitEthernet 1/0/1

IP地址:192.168.0.1/30

连接FW根系统(public)

接口号:GigabitEthernet 1/0/2

IP地址:192.168.0.5/30

连接Router2

OSPF

OSPF 100

发布的网段:192.168.0.0/30

引入缺省路由

-

表4 Router2数据规划

项目

数据

说明

接口

接口号:GigabitEthernet 1/0/1

IP地址:192.168.0.9/30

连接FW根系统(public)

接口号:GigabitEthernet 1/0/2

IP地址:192.168.0.6/30

连接Router1

OSPF

OSPF 100

发布的网段:192.168.0.8/30

引入缺省路由

-

配置思路

  1. 通过在FW_A和FW_B创建不同的虚拟系统,实现不同部门之间的网络隔离。
  2. 通过在FW_A和FW_B配置虚拟系统和根系统之间的互访,实现不同虚拟系统共用根系统的接口访问Internet。
  3. FW_A和FW_B的业务接口工作在三层,上行连接路由器,运行OSPF协议,以负载分担方式工作,则需要配置OSPF、VGMP组监控业务接口,即配置基于OSPF的负载分担双机热备;下行连接交换机,则需要VRRP备份组;除此之外,还需完成心跳口配置和启用双机热备功能等基础配置。
  4. 通过在FW_A和FW_B上配置Link-Group,将根系统的上行接口和虚拟系统的下行接口加入同一个Link-Group中,保证上下行接口状态一致。
  5. 双机建立后,在FW_A上为内网用户访问Internet配置安全策略、NAT策略,FW_B上无需配置,会自动从FW_A上同步过来。

操作步骤

  1. 创建虚拟系统vsysa和vsysb,并为其分配接口。 
    华为防火墙-CLI举例:虚拟系统双机热备(负载分担),防火墙上行连接路由器,下行多个虚拟系统连接不同子网,上行共用根系统出口

    请确保FW_A和FW_B上创建的虚拟系统名称和ID均相同。可以在虚拟系统创建好后,分别在两台设备上执行display vsys命令查看和比较配置结果。

    本例仅体现与双机热备强相关的虚拟系统配置,虚拟系统的其他配置不在此赘述,请参见《配置指南》中“虚拟系统”。

    FW_A

    FW_B

    # 在FW上开启虚拟系统功能。

    <FW_A> system-view
    [FW_A] vsys enable
    <FW_B> system-view
    [FW_B] vsys enable

    # 在FW上创建虚拟系统vsysa,并为其分配接口GigabitEthernet 1/0/2。

    [FW_A] vsys name vsysa
    [FW_A-vsys-vsysa] assign interface GigabitEthernet 1/0/2
    [FW_A-vsys-vsysa] quit
    [FW_B] vsys name vsysa
    [FW_B-vsys-vsysa] assign interface GigabitEthernet 1/0/2
    [FW_B-vsys-vsysa] quit

    # 在FW上创建虚拟系统vsysb,并为其分配接口GigabitEthernet 1/0/3。

    [FW_A] vsys name vsysb
    [FW_A-vsys-vsysb] assign interface GigabitEthernet 1/0/3
    [FW_A-vsys-vsysb] quit
    [FW_B] vsys name vsysb
    [FW_B-vsys-vsysb] assign interface GigabitEthernet 1/0/3
    [FW_B-vsys-vsysb] quit

     

  2. 配置接口。
    1. 配置FW的根系统接口,并将其加入安全区域。 

      FW_A

      FW_B

      # 在FW上为根系统上行接口、心跳接口配置IP地址。

      [FW_A] interface GigabitEthernet 1/0/1
      [FW_A-GigabitEthernet1/0/1] ip address 192.168.0.2 30
      [FW_A-GigabitEthernet1/0/1] quit
      [FW_A] interface GigabitEthernet 1/0/7
      [FW_A-GigabitEthernet1/0/7] ip address 10.10.0.1 24
      [FW_A-GigabitEthernet1/0/7] quit
      [FW_B] interface GigabitEthernet 1/0/1
      [FW_B-GigabitEthernet1/0/1] ip address 192.168.0.10 30
      [FW_B-GigabitEthernet1/0/1] quit
      [FW_B] interface GigabitEthernet 1/0/7
      [FW_B-GigabitEthernet1/0/7] ip address 10.10.0.2 24
      [FW_B-GigabitEthernet1/0/7] quit

      # 在FW上为根系统的虚拟接口Virtual-if0配置IP地址,该IP地址可设置为任意值,保证不与其他接口上的IP地址冲突即可。

      [FW_A] interface Virtual-if 0 
      [FW_A-Virtual-if0] ip address 172.16.0.1 24 
      [FW_A-Virtual-if0] quit
      [FW_B] interface Virtual-if 0 
      [FW_B-Virtual-if0] ip address 172.16.0.2 24 
      [FW_B-Virtual-if0] quit

      # 在FW上将根系统的接口加入安全区域。

      [FW_A] firewall zone untrust
      [FW_A-zone-untrust] add interface GigabitEthernet 1/0/1
      [FW_A-zone-untrust] quit
      [FW_A] firewall zone trust 
      [FW_A-zone-trust] add interface Virtual-if 0 
      [FW_A-zone-trust] quit
      [FW_A] firewall zone dmz
      [FW_A-zone-dmz] add interface GigabitEthernet 1/0/7
      [FW_A-zone-dmz] quit
      [FW_B] firewall zone untrust
      [FW_B-zone-untrust] add interface GigabitEthernet 1/0/1
      [FW_B-zone-untrust] quit
      [FW_B] firewall zone trust 
      [FW_B-zone-trust] add interface Virtual-if 0 
      [FW_B-zone-trust] quit
      [FW_B] firewall zone dmz
      [FW_B-zone-dmz] add interface GigabitEthernet 1/0/7
      [FW_B-zone-dmz] quit

       

    2. 配置FW的虚拟系统vsysa接口,并将其加入安全区域。 

      FW_A

      FW_B

      # 在FW上为虚拟系统vsysa下行接口配置IP地址、VRRP备份组。

      [FW_A] interface GigabitEthernet 1/0/2
      [FW_A-GigabitEthernet1/0/2] ip address 10.3.1.2 24
      [FW_A-GigabitEthernet1/0/2] vrrp vrid 1 virtual-ip 10.3.1.1 24 active
      [FW_A-GigabitEthernet1/0/2] quit
      [FW_B] interface GigabitEthernet 1/0/2
      [FW_B-GigabitEthernet1/0/2] ip address 10.3.1.3 24
      [FW_B-GigabitEthernet1/0/2] vrrp vrid 1 virtual-ip 10.3.1.1 24 standby
      [FW_B-GigabitEthernet1/0/2] quit

      # 在FW上为虚拟系统vsysa的虚拟接口Virtual-if1配置IP地址,该IP地址可设置为任意值,保证不与其他接口上的IP地址冲突即可。

      [FW_A] interface Virtual-if 1 
      [FW_A-Virtual-if1] ip address 172.16.1.1 24 
      [FW_A-Virtual-if1] quit
      [FW_B] interface Virtual-if 1 
      [FW_B-Virtual-if1] ip address 172.16.1.2 24 
      [FW_B-Virtual-if1] quit

      # 在FW上将虚拟系统vsysa的接口加入安全区域。

      [FW_A] switch vsys vsysa
      <FW_A-vsysa> system-view
      [FW_A-vsysa] firewall zone trust
      [FW_A-vsysa-zone-trust] add interface GigabitEthernet 1/0/2
      [FW_A-vsysa-zone-trust] quit
      [FW_A-vsysa] firewall zone untrust
      [FW_A-vsysa-zone-untrust] add interface Virtual-if1
      [FW_A-vsysa-zone-untrust] quit
      [FW_A-vsysa] quit
      <FW_A-vsysa> quit
      [FW_B] switch vsys vsysa
      <FW_B-vsysa> system-view
      [FW_B-vsysa] firewall zone trust
      [FW_B-vsysa-zone-trust] add interface GigabitEthernet 1/0/2
      [FW_B-vsysa-zone-trust] quit
      [FW_B-vsysa] firewall zone untrust
      [FW_B-vsysa-zone-untrust] add interface Virtual-if1
      [FW_B-vsysa-zone-untrust] quit
      [FW_B-vsysa] quit
      <FW_B-vsysa> quit

       

    3. 配置FW的虚拟系统vsysb接口,并将其加入安全区域。 

      FW_A

      FW_B

      # 在FW上为虚拟系统vsysb下行接口配置IP地址、VRRP备份组。

      [FW_A] interface GigabitEthernet 1/0/3
      [FW_A-GigabitEthernet1/0/3] ip address 10.3.2.2 24
      [FW_A-GigabitEthernet1/0/3] vrrp vrid 2 virtual-ip 10.3.2.1 24 standby
      [FW_A-GigabitEthernet1/0/3] quit
      [FW_B] interface GigabitEthernet 1/0/3
      [FW_B-GigabitEthernet1/0/3] ip address 10.3.2.3 24
      [FW_B-GigabitEthernet1/0/3] vrrp vrid 2 virtual-ip 10.3.2.1 24 active
      [FW_B-GigabitEthernet1/0/3] quit

      # 在FW上为虚拟系统vsysb的虚拟接口Virtual-if2配置IP地址,该IP地址可设置为任意值,保证不与其他接口上的IP地址冲突即可。

      [FW_A] interface Virtual-if 2 
      [FW_A-Virtual-if2] ip address 172.16.2.1 24 
      [FW_A-Virtual-if2] quit
      [FW_B] interface Virtual-if 2 
      [FW_B-Virtual-if2] ip address 172.16.2.2 24 
      [FW_B-Virtual-if2] quit

      # 在FW上将虚拟系统vsysb的接口加入安全区域。

      [FW_A] switch vsys vsysb
      <FW_A-vsysb> system-view
      [FW_A-vsysb] firewall zone trust
      [FW_A-vsysb-zone-trust] add interface GigabitEthernet 1/0/3
      [FW_A-vsysb-zone-trust] quit
      [FW_A-vsysb] firewall zone untrust
      [FW_A-vsysb-zone-untrust] add interface Virtual-if2
      [FW_A-vsysb-zone-untrust] quit
      [FW_A-vsysb] quit
      <FW_A-vsysb> quit
      [FW_B] switch vsys vsysb
      <FW_B-vsysb> system-view
      [FW_B-vsysb] firewall zone trust
      [FW_B-vsysb-zone-trust] add interface GigabitEthernet 1/0/3
      [FW_B-vsysb-zone-trust] quit
      [FW_B-vsysb] firewall zone untrust
      [FW_B-vsysb-zone-untrust] add interface Virtual-if2
      [FW_B-vsysb-zone-untrust] quit
      [FW_B-vsysb] quit
      <FW_B-vsysb> quit

       

  3. 配置静态路由。 

    FW_A

    FW_B

    # 在FW上完成到根系统NAT地址池地址黑洞路由的配置。此处的1.1.1.1 32应与8中指定的NAT地址池中的地址一致。

    [FW_A] ip route-static 1.1.1.1 32 null 0
    [FW_B] ip route-static 1.1.1.1 32 null 0

    # 配置静态路由,这条静态路由的作用是将vsysa内员工访问Internet的回程流量引入vsysa。

    [FW_A] ip route-static 10.3.1.0 24 vpn-instance vsysa
    [FW_B] ip route-static 10.3.1.0 24 vpn-instance vsysa

    # 配置静态路由,这条静态路由的作用是将vsysb内员工访问Internet的回程流量引入vsysb。

    [FW_A] ip route-static 10.3.2.0 24 vpn-instance vsysb
    [FW_B] ip route-static 10.3.2.0 24 vpn-instance vsysb

    # 配置静态路由,这条静态路由的作用是将vsysa内员工访问Internet的流量引入根系统。

    说明:

    在本例中,对网络拓扑和路由配置进行了简化。假设vsysa只有私网跟Internet的通信需求,所以在路由配置中将“目的地址/掩码”配置为了0.0.0.0 0.0.0.0,即缺省所有报文都送往根系统。实际配置时,为了保证路由信息的准确,应该将“目的地址/掩码”配置为特定的允许访问的Internet地址范围。错误配置路由可能导致vsysa所连接的多个私网无法正常通信。

    [FW_A] switch vsys vsysa
    <FW_A-vsysa> system-view
    [FW_A-vsysa] ip route-static 0.0.0.0 0.0.0.0 public
    [FW_A-vsysa] quit
    <FW_A-vsysa> quit
    [FW_B] switch vsys vsysa
    <FW_B-vsysa> system-view
    [FW_B-vsysa] ip route-static 0.0.0.0 0.0.0.0 public
    [FW_B-vsysa] quit
    <FW_B-vsysa> quit

    # 配置静态路由,这条静态路由的作用是将vsysb内员工访问Internet的流量引入根系统。

    说明:

    在本例中,对网络拓扑和路由配置进行了简化。假设vsysb只有私网跟Internet的通信需求,所以在路由配置中将“目的地址/掩码”配置为了0.0.0.0 0.0.0.0,即缺省所有报文都送往根系统。实际配置时,为了保证路由信息的准确,应该将“目的地址/掩码”配置为特定的允许访问的Internet地址范围。错误配置路由可能导致vsysb所连接的多个私网无法正常通信。

    [FW_A] switch vsys vsysb
    <FW_A-vsysb> system-view
    [FW_A-vsysb] ip route-static 0.0.0.0 0.0.0.0 public
    [FW_A-vsysb] quit
    <FW_A-vsysb> quit
    [FW_B] switch vsys vsysb
    <FW_B-vsysb> system-view
    [FW_B-vsysb] ip route-static 0.0.0.0 0.0.0.0 public
    [FW_B-vsysb] quit
    <FW_B-vsysb> quit

     

  4. 配置OSPF。 

    FW_A

    FW_B

    [FW_A] ospf 100
    [FW_A-ospf-100] import-route static
    [FW_A-ospf-100] area 0
    [FW_A-ospf-100-area-0.0.0.0] network 192.168.0.0 0.0.0.3
    [FW_A-ospf-100-area-0.0.0.0] quit
    [FW_A-ospf-100] quit
    [FW_B] ospf 100
    [FW_B-ospf-100] import-route static
    [FW_B-ospf-100] area 0
    [FW_B-ospf-100-area-0.0.0.0] network 192.168.0.8 0.0.0.3
    [FW_B-ospf-100-area-0.0.0.0] quit
    [FW_B-ospf-100] quit

     

  5. 配置Link-Group功能,保证上下行接口状态一致。 

    # 在FW上将根系统接口(上行接口)和虚拟系统接口(下行接口)加入到同一Link-Group组中。

    FW_A

    FW_B

    [FW_A] interface GigabitEthernet 1/0/1
    [FW_A-GigabitEthernet1/0/1] link-group 1
    [FW_A-GigabitEthernet1/0/1] quit
    [FW_A] interface GigabitEthernet 1/0/2
    [FW_A-GigabitEthernet1/0/2] link-group public 1
    [FW_A-GigabitEthernet1/0/2] quit
    [FW_A] interface GigabitEthernet 1/0/3
    [FW_A-GigabitEthernet1/0/3] link-group public 1
    [FW_A-GigabitEthernet1/0/3] quit
    [FW_B] interface GigabitEthernet 1/0/1
    [FW_B-GigabitEthernet1/0/1] link-group 1
    [FW_B-GigabitEthernet1/0/1] quit
    [FW_B] interface GigabitEthernet 1/0/2
    [FW_B-GigabitEthernet1/0/2] link-group public 1
    [FW_B-GigabitEthernet1/0/2] quit
    [FW_B] interface GigabitEthernet 1/0/3
    [FW_B-GigabitEthernet1/0/3] link-group public 1
    [FW_B-GigabitEthernet1/0/3] quit

     

  6. 配置双机热备功能。 

    FW_A

    FW_B

    # 在FW上配置VGMP组监控上行业务接口。

    [FW_A] hrp track interface GigabitEthernet 1/0/1
    [FW_B] hrp track interface GigabitEthernet 1/0/1

    # 负载分担组网下,两台FW都转发流量,为了防止来回路径不一致,需要在两台FW上都配置会话快速备份功能。

    [FW_A] hrp mirror session enable
    [FW_B] hrp mirror session enable

    # 在FW上指定心跳接口,启用双机热备。

    [FW_A] hrp interface GigabitEthernet 1/0/7 remote 10.10.0.2
    [FW_A] hrp enable
    [FW_B] hrp interface GigabitEthernet 1/0/7 remote 10.10.0.1
    [FW_B] hrp enable

    # 对于双机热备的负载分担组网,为了防止两台设备进行NAT转换时端口冲突,需要在FW_A和FW_B上分别配置可用的端口范围。

    说明:

    双机热备的负载分担场景下,两台FW共用同一个NAT地址池时,在NAPT模式下有可能两台设备分配的公网端口出现冲突。为了避免这种可能存在的冲突,需要在两台设备上分别配置各自可使用的NAT资源(包括公网IP地址和公网端口号)。此时,可以在主设备上配置hrp nat resource primary-group命令,备设备上会自动生成hrp nat resource secondary-group命令(如果主设备上配置的是hrp nat resource secondary-group命令,则备设备上将自动对应生成hrp nat resource primary-group命令)。

    HRP_M[FW_A] hrp nat resource primary-group
    HRP_S[FW_B] hrp nat resource secondary-group

     

  7. 配置安全策略。 
    华为防火墙-CLI举例:虚拟系统双机热备(负载分担),防火墙上行连接路由器,下行多个虚拟系统连接不同子网,上行共用根系统出口

    安全策略的配置支持备份,在FW_A上完成配置后,会自动备份到FW_B上。如果是在双机建立前在FW_A和FW_B分别配置的,请注意保持一致性,包括策略间的配置顺序也必须完全一致,否则主备切换后业务可能会出现异常。

     

    1. 配置根系统的安全策略。 

      # 在FW_A的根系统中配置允许私网用户访问公网的安全策略。配置根系统的安全策略时不需要详细指定地址范围,配置虚拟系统的安全策略时需要配置严格的安全策略,指定具体内网员工的IP地址。

      HRP_M[FW_A] security-policy
      HRP_M[FW_A-policy-security] rule name policy_sec
      HRP_M[FW_A-policy-security-rule-policy_sec] source-zone trust
      HRP_M[FW_A-policy-security-rule-policy_sec] destination-zone untrust
      HRP_M[FW_A-policy-security-rule-policy_sec] action permit
      HRP_M[FW_A-policy-security-rule-policy_sec] quit
      HRP_M[FW_A-policy-security] quit

       

    2. 配置虚拟系统vsysa的安全策略。 

      # 在FW_A的虚拟系统vsysa中配置隔离vsysa和vsysb的安全策略,因为在根系统上配置了将回程流量引入vsysa和vsysb的路由,就这使得vsysa和vsysb之间也能通过根系统中转来互相访问,为了实现vsysa和vsysb的隔离,需要在vsysa中配置这条安全策略。

      HRP_M[FW_A] switch vsys vsysa
      HRP_M<FW_A-vsysa> system-view
      HRP_M[FW_A-vsysa] security-policy
      HRP_M[FW_A-vsysa-policy-security] rule name vsysa_to_vsysb
      HRP_M[FW_A-vsysa-policy-security-rule-vsysa_to_vsysb] source-zone trust 
      HRP_M[FW_A-vsysa-policy-security-rule-vsysa_to_vsysb] destination-zone untrust
      HRP_M[FW_A-vsysa-policy-security-rule-vsysa_to_vsysb] source-address 10.3.1.0 24
      HRP_M[FW_A-vsysa-policy-security-rule-vsysa_to_vsysb] destination-address 10.3.2.0 24
      HRP_M[FW_A-vsysa-policy-security-rule-vsysa_to_vsysb] action deny
      HRP_M[FW_A-vsysa-policy-security-rule-vsysa_to_vsysb] quit

      # 在FW_A的虚拟系统vsysa中配置允许私网用户访问公网的安全策略。

      HRP_M[FW_A-vsysa-policy-security] rule name policy_sec
      HRP_M[FW_A-vsysa-policy-security-rule-policy_sec] source-zone trust 
      HRP_M[FW_A-vsysa-policy-security-rule-policy_sec] destination-zone untrust
      HRP_M[FW_A-vsysa-policy-security-rule-policy_sec] source-address 10.3.1.0 24
      HRP_M[FW_A-vsysa-policy-security-rule-policy_sec] action permit
      HRP_M[FW_A-vsysa-policy-security-rule-policy_sec] quit
      HRP_M[FW_A-vsysa-policy-security] quit

       

    3. 配置虚拟系统vsysb的安全策略。 

      # 在FW_A的虚拟系统vsysb中配置隔离vsysa和vsysb的安全策略,因为在根系统上配置了将回程流量引入vsysa和vsysb的路由,就这使得vsysa和vsysb之间也能通过根系统中转来互相访问,为了实现vsysa和vsysb的隔离,需要在vsysb中配置这条安全策略。

      HRP_M[FW_A] switch vsys vsysb
      HRP_M<FW_A-vsysb> system-view
      HRP_M[FW_A-vsysb] security-policy
      HRP_M[FW_A-vsysb-policy-security] rule name vsysb_to_vsysa
      HRP_M[FW_A-vsysb-policy-security-rule-vsysb_to_vsysa] source-zone trust 
      HRP_M[FW_A-vsysb-policy-security-rule-vsysb_to_vsysa] destination-zone untrust
      HRP_M[FW_A-vsysb-policy-security-rule-vsysb_to_vsysa] source-address 10.3.2.0 24
      HRP_M[FW_A-vsysb-policy-security-rule-vsysb_to_vsysa] destination-address 10.3.1.0 24
      HRP_M[FW_A-vsysb-policy-security-rule-vsysb_to_vsysa] action deny
      HRP_M[FW_A-vsysb-policy-security-rule-vsysb_to_vsysa] quit

      # 在FW_A的虚拟系统vsysb中配置允许私网用户访问公网的安全策略。

      HRP_M[FW_A-vsysb-policy-security] rule name policy_sec
      HRP_M[FW_A-vsysb-policy-security-rule-policy_sec] source-zone trust 
      HRP_M[FW_A-vsysb-policy-security-rule-policy_sec] destination-zone untrust
      HRP_M[FW_A-vsysb-policy-security-rule-policy_sec] source-address 10.3.2.0 24
      HRP_M[FW_A-vsysb-policy-security-rule-policy_sec] action permit
      HRP_M[FW_A-vsysb-policy-security-rule-policy_sec] quit
      HRP_M[FW_A-vsysb-policy-security] quit

       

  8. 配置NAT策略。 

    # 在FW_A上完成根系统NAT策略配置,允许私网用户访问公网。FW_A上配置的NAT策略会自动备份到FW_B上。

    HRP_M[FW_A] nat address-group addressgroup1 
    HRP_M[FW_A-address-group-addressgroup1] section 0 1.1.1.1 1.1.1.1 
    HRP_M[FW_A-address-group-addressgroup1] quit
    HRP_M[FW_A] nat-policy
    HRP_M[FW_A-policy-nat] rule name policy_nat
    HRP_M[FW_A-policy-nat-rule-policy_nat] source-zone trust 
    HRP_M[FW_A-policy-nat-rule-policy_nat] destination-zone untrust
    HRP_M[FW_A-policy-nat-rule-policy_nat] source-address 10.3.1.0 24
    HRP_M[FW_A-policy-nat-rule-policy_nat] source-address 10.3.2.0 24
    HRP_M[FW_A-policy-nat-rule-policy_nat] action source-nat address-group addressgroup1
    HRP_M[FW_A-policy-nat-rule-policy_nat] quit
    HRP_M[FW_A-policy-nat] quit

     

  9. 配置路由器。 
    华为防火墙-CLI举例:虚拟系统双机热备(负载分担),防火墙上行连接路由器,下行多个虚拟系统连接不同子网,上行共用根系统出口

    本举例以华为路由器为例进行说明。

    Router1

    Router2

    [router1] interface GigabitEthernet 1/0/1
    [router1-GigabitEthernet1/0/1] ip address 192.168.0.1 30
    [router1-GigabitEthernet1/0/1] quit
    [router1] interface GigabitEthernet 1/0/2
    [router1-GigabitEthernet1/0/2] ip address 192.168.0.5 30
    [router1-GigabitEthernet1/0/2] quit
    [router1] ospf 100
    [router1-ospf-100] default-route-advertise
    [router1-ospf-100] area 0
    [router1-ospf-100-area-0.0.0.0] network 192.168.0.0 0.0.0.3
    [router1-ospf-100-area-0.0.0.0] quit
    [router1-ospf-100] quit
    [router2] interface GigabitEthernet 1/0/1
    [router2-GigabitEthernet1/0/1] ip address 192.168.0.9 30
    [router2-GigabitEthernet1/0/1] quit
    [router2] interface GigabitEthernet 1/0/2
    [router2-GigabitEthernet1/0/2] ip address 192.168.0.6 30
    [router2-GigabitEthernet1/0/2] quit
    [router2] ospf 100
    [router2-ospf-100] default-route-advertise
    [router2-ospf-100] area 0
    [router2-ospf-100-area-0.0.0.0] network 192.168.0.8 0.0.0.3
    [router2-ospf-100-area-0.0.0.0] quit
    [router2-ospf-100] quit

     

结果验证

  1. FW_A和FW_B上执行display hrp state verbose命令,检查当前HRP的状态,显示以下信息表示HRP建立成功。

    FW_A

    FW_B

    HRP_M[FW_A] display hrp state verbose
     Role: active, peer: active     
     Running priority: 45000, peer: 45000
     Backup channel usage: 0.00%    
     Stable time: 0 days, 15 hours, 41 minutes
     Last state change information: 2018-02-11 17:42:06 HRP link changes to up.
                                            
     Configuration:                         
     hello interval:              1000ms      
     preempt:                     60s        
     mirror configuration:        off 
     mirror session:              on 
     track trunk member:          on 
     auto-sync configuration:     on 
     auto-sync connection-status: on 
     adjust ospf-cost:            on
     adjust ospfv3-cost:          on
     adjust bgp-cost:             on
     nat resource:                primary 
                            
     Detail information:      
               GigabitEthernet1/0/2 vrrp vrid 1: active 
               GigabitEthernet1/0/3 vrrp vrid 2: standby
                           GigabitEthernet1/0/1: up
                                      ospf-cost: +0
                                    ospfv3-cost: +0     
                                       bgp-cost: +0
    HRP_S[FW_B] display hrp state verbose
     Role: active, peer: active
     Running priority: 45000, peer: 45000    
     Backup channel usage: 0.00%     
     Stable time: 0 days, 15 hours, 48 minutes   
     Last state change information: 2018-02-11 9:53:30 HRP link changes to up.
             
     Configuration:                
     hello interval:              1000ms
     preempt:                     60s 
     mirror configuration:        off
     mirror session:              on
     track trunk member:          on
     auto-sync configuration:     on   
     auto-sync connection-status: on
     adjust ospf-cost:            on
     adjust ospfv3-cost:          on
     adjust bgp-cost:             on
     nat resource:                secondary
    
     Detail information:            
               GigabitEthernet1/0/2 vrrp vrid 1: standby
               GigabitEthernet1/0/3 vrrp vrid 2: active
                           GigabitEthernet1/0/1: up
                                      ospf-cost: +0
                                    ospfv3-cost: +0
                                       bgp-cost: +0
  2. 从私网访问公网,能访问成功。分别在FW_A和FW_B上检查会话。

    FW_A

    FW_B

    HRP_M[FW_A] display firewall session table all-systems
     Current Total Sessions : 4
     udp  VPN: vsysb --> public  Remote 10.3.2.4:1001 --> 3.3.3.4:2001 
     udp  VPN: public --> public  Remote 10.3.2.4:1001[1.1.1.1:2049] --> 3.3.3.4:2001 
     udp  VPN: vsysa --> public  10.3.1.4:1000 --> 3.3.3.3:2000  
     udp  VPN: public --> public  10.3.1.4:1000[1.1.1.1:2119] --> 3.3.3.3:2000 
    
    HRP_S[FW_B] display firewall session table all-systems
     Current Total Sessions : 4     
     udp  VPN: vsysb --> public  10.3.2.4:1001 --> 3.3.3.4:2001 
     udp  VPN: public --> public  10.3.2.4:1001[1.1.1.1:2049] --> 3.3.3.4:2001  
     udp  VPN: vsysa --> public  Remote 10.3.1.4:1000 --> 3.3.3.3:2000    
     udp  VPN: public --> public  Remote 10.3.1.4:1000[1.1.1.1:2119] --> 3.3.3.3:2000

    可以看出FW_A和FW_B上存在带有Remote标记的会话,表示配置双机热备功能后,会话备份成功。

  3. 在私网PC上长ping公网的IP,然后将FW_A的GigabitEthernet 1/0/2接口网线拨出,主备FW状态发生切换,FW_A由HRP_M变为HRP_S,ping包无丢包现象;执行命令display link-group,可以看到上行接口GigabitEthernet 1/0/1的状态也变为Down,与GigabitEthernet 1/0/2的状态保持联动。

    HRP_S[FW_A] display link-group
     link group 1, total 3, fault 1
     -------------------------------------------------------------------------------
     Interface                       Vsys                            State          
     -------------------------------------------------------------------------------
     GigabitEthernet1/0/1            public                          down
     GigabitEthernet1/0/2            vsysa                           fault
     GigabitEthernet1/0/3            vsysb                           down
     -------------------------------------------------------------------------------

    再将FW_A的GigabitEthernet 1/0/2接口网线恢复,FW_A重新由HRP_S变为HRP_M,ping包无丢包情况,Link-Group中各接口的状态恢复为Up。

    HRP_M[FW_A] display link-group
     link group 1, total 3, fault 0
     -------------------------------------------------------------------------------
     Interface                       Vsys                            State          
     -------------------------------------------------------------------------------
     GigabitEthernet1/0/1            public                          up
     GigabitEthernet1/0/2            vsysa                           up 
     GigabitEthernet1/0/3            vsysb                           up 
     -------------------------------------------------------------------------------
  4. 在私网PC上长ping公网的IP,然后将FW_B的GigabitEthernet 1/0/3接口网线拨出,主备FW状态发生切换,FW_B由HRP_M变为HRP_S,ping包无丢包现象;执行命令display link-group,可以看到上行接口GigabitEthernet 1/0/1的状态也变为Down,与GigabitEthernet 1/0/3的状态保持联动。

    HRP_S[FW_B] display link-group
     link group 1, total 3, fault 1
     -------------------------------------------------------------------------------
     Interface                       Vsys                            State          
     -------------------------------------------------------------------------------
     GigabitEthernet1/0/1            public                          down 
     GigabitEthernet1/0/2            vsysa                           down 
     GigabitEthernet1/0/3            vsysb                           fault
     -------------------------------------------------------------------------------

    再将FW_B的GigabitEthernet 1/0/3接口网线恢复,FW_B重新由HRP_S变为HRP_M,ping包无丢包情况,Link-Group中各接口的状态恢复为Up。

    HRP_M[FW_B] display link-group
     link group 1, total 3, fault 0
     -------------------------------------------------------------------------------
     Interface                       Vsys                            State          
     -------------------------------------------------------------------------------
     GigabitEthernet1/0/1            public                          up
     GigabitEthernet1/0/2            vsysa                           up 
     GigabitEthernet1/0/3            vsysb                           up 
     -------------------------------------------------------------------------------

配置脚本

根系统配置脚本

FW_A

FW_B

#
 hrp enable
 hrp interface GigabitEthernet 1/0/7 remote 10.10.0.2
 hrp track interface GigabitEthernet 1/0/1
 hrp mirror session enable
 hrp nat resource primary-group
#
interface GigabitEthernet 1/0/1
 ip address 192.168.0.2 255.255.255.252
 link-group 1 
#
interface GigabitEthernet 1/0/2
 ip binding vpn-instance vsysa
 ip address 10.3.1.2 255.255.255.0
 vrrp vrid 1 virtual-ip 10.3.1.1 active
 link-group public 1
#
interface GigabitEthernet 1/0/3
 ip binding vpn-instance vsysb
 ip address 10.3.2.2 255.255.255.0
 vrrp vrid 2 virtual-ip 10.3.2.1 standby
 link-group public 1
#
interface GigabitEthernet 1/0/7
 ip address 10.10.0.1 255.255.255.0
#
interface Virtual-if0
 ip address 172.16.0.1 255.255.255.0
#
interface Virtual-if1
 ip address 172.16.1.1 255.255.255.0
#
interface Virtual-if2
 ip address 172.16.2.1 255.255.255.0
#
firewall zone trust
 set priority 85
 add interface GigabitEthernet 1/0/2
 add interfac Virtual-if0
#
firewall zone dmz
 set priority 50
 add interface GigabitEthernet 1/0/7
#
firewall zone untrust
 set priority 5
 add interface GigabitEthernet 1/0/1
#
vsys enable 
resource-class r0 
#  
vsys name vsysa 
 assign interface GigabitEthernet 1/0/2  
#    
vsys name vsysb 
 assign interface GigabitEthernet 1/0/3 
#
 ip route-static 1.1.1.1 255.255.255.255 null 0
 ip route-static 10.3.1.0 255.255.255.0 vpn-instance vsysa
 ip route-static 10.3.2.0 255.255.255.0 vpn-instance vsysb  
#
ospf 100
 import-route static
 area 0.0.0.0
  network 192.168.0.0 0.0.0.3
#    
security-policy  
 rule name policy_sec
  source-zone trust  
  destination-zone untrust
  action permit
# 
 nat address-group addressgroup1 
  section 0 1.1.1.1 1.1.1.1 
#  
nat-policy  
  rule name policy_nat 
    source-zone trust 
    destination-zone untrust
    source-address 10.3.1.0 24
    source-address 10.3.2.0 24
    action source-nat address-group addressgroup1
#
 hrp enable
 hrp interface GigabitEthernet 1/0/7 remote 10.10.0.1
 hrp track interface GigabitEthernet 1/0/1
 hrp mirror session enable
 hrp nat resource secondary-group
#
interface GigabitEthernet 1/0/1
 ip address 192.168.0.10 255.255.255.252
 link-group 1
#
interface GigabitEthernet 1/0/2
 ip binding vpn-instance vsysa
 ip address 10.3.1.3 255.255.255.0
 vrrp vrid 1 virtual-ip 10.3.1.1 standby
 link-group public 1
#
interface GigabitEthernet 1/0/3
 ip binding vpn-instance vsysb
 ip address 10.3.2.3 255.255.255.0
 vrrp vrid 2 virtual-ip 10.3.2.1 active
 link-group public 1
#
interface GigabitEthernet 1/0/7
 ip address 10.10.0.2 255.255.255.0
#
interface Virtual-if0
 ip address 172.16.0.2 255.255.255.0
#
interface Virtual-if1
 ip address 172.16.1.2 255.255.255.0
#
interface Virtual-if2
 ip address 172.16.2.2 255.255.255.0
#
firewall zone trust
 set priority 85
 add interface GigabitEthernet 1/0/2
 add interfac Virtual-if0
#
firewall zone dmz
 set priority 50
 add interface GigabitEthernet 1/0/7
#
firewall zone untrust
 set priority 5 
 add interface GigabitEthernet 1/0/1
#
vsys enable 
resource-class r0 
#  
vsys name vsysa 
 assign interface GigabitEthernet 1/0/2  
#    
vsys name vsysb 
 assign interface GigabitEthernet 1/0/3 
#
 ip route-static 1.1.1.1 255.255.255.255 null 0
 ip route-static 10.3.1.0 255.255.255.0 vpn-instance vsysa
 ip route-static 10.3.2.0 255.255.255.0 vpn-instance vsysb  
#
ospf 100
 import-route static
 area 0.0.0.0
  network 192.168.0.8 0.0.0.3
#    
security-policy  
 rule name policy_sec
  source-zone trust  
  destination-zone untrust
  action permit    
# 
 nat address-group addressgroup1 
  section 0 1.1.1.1 1.1.1.1 
#  
nat-policy  
  rule name policy_nat 
    source-zone trust 
    destination-zone untrust
    source-address 10.3.1.0 24
    source-address 10.3.2.0 24
    action source-nat address-group addressgroup1

虚拟系统vsysa配置脚本

FW_A

FW_B

#
switch vsys vsysa
#      
interface GigabitEthernet 1/0/2 
 ip binding vpn-instance vsysa  
 ip address 10.3.1.2 255.255.255.0
 vrrp vrid 1 virtual-ip 10.3.1.1 active
 link-group public 1     
#
interface Virtual-if1  
 ip address 172.16.1.1 255.255.255.0 
#
firewall zone trust
 set priority 85
 add interface GigabitEthernet 1/0/2
#
firewall zone untrust
 set priority 5   
 add interface Virtual-if1
#
 ip route-static 0.0.0.0 0.0.0.0 public
#    
security-policy  
 rule name vsysa_to_vsysb
  source-zone trust  
  destination-zone untrust
  source-address 10.3.1.0 24
  destination-address 10.3.2.0 24
  action deny    
 rule name policy_sec
  source-zone trust  
  destination-zone untrust
  source-address 10.3.1.0 24
  action permit
#
switch vsys vsysa
#      
interface GigabitEthernet 1/0/2 
 ip binding vpn-instance vsysa  
 ip address 10.3.1.3 255.255.255.0
 vrrp vrid 1 virtual-ip 10.3.1.1 standby
 link-group public 1     
#
interface Virtual-if1  
 ip address 172.16.1.2 255.255.255.0 
#
firewall zone trust
 set priority 85
 add interface GigabitEthernet 1/0/2
#
firewall zone untrust
 set priority 5 
 add interface Virtual-if1
#
 ip route-static 0.0.0.0 0.0.0.0 public
#    
security-policy  
 rule name vsysa_to_vsysb
  source-zone trust  
  destination-zone untrust
  source-address 10.3.1.0 24
  destination-address 10.3.2.0 24
  action deny    
 rule name policy_sec
  source-zone trust  
  destination-zone untrust
  source-address 10.3.1.0 24
  action permit

虚拟系统vsysb配置脚本

FW_A

FW_B

#
switch vsys vsysb
#      
interface GigabitEthernet 1/0/3 
 ip binding vpn-instance vsysb  
 ip address 10.3.2.2 255.255.255.0  
 vrrp vrid 2 virtual-ip 10.3.2.1 standby
 link-group public 1     
#
interface Virtual-if2  
 ip address 172.16.2.1 255.255.255.0 
#
firewall zone trust
 set priority 85
 add interface GigabitEthernet 1/0/3
#
firewall zone untrust
 set priority 5   
 add interface Virtual-if2
#
 ip route-static 0.0.0.0 0.0.0.0 public
#    
security-policy  
 rule name vsysb_to_vsysa
  source-zone trust  
  destination-zone untrust
  source-address 10.3.2.0 24
  destination-address 10.3.1.0 24
  action deny    
 rule name policy_sec
  source-zone trust  
  destination-zone untrust
  source-address 10.3.2.0 24
  action permit
#
switch vsys vsysb
#      
interface GigabitEthernet 1/0/3 
 ip binding vpn-instance vsysb  
 ip address 10.3.2.3 255.255.255.0 
 vrrp vrid 2 virtual-ip 10.3.2.1 active
 link-group public 1     
#
interface Virtual-if2  
 ip address 172.16.2.2 255.255.255.0 
#
firewall zone trust
 set priority 85
 add interface GigabitEthernet 1/0/3
#
firewall zone untrust
 set priority 5 
 add interface Virtual-if2
#
 ip route-static 0.0.0.0 0.0.0.0 public
#    
security-policy  
 rule name vsysb_to_vsysa
  source-zone trust  
  destination-zone untrust
  source-address 10.3.2.0 24
  destination-address 10.3.1.0 24
  action deny
 rule name policy_sec
  source-zone trust  
  destination-zone untrust
  source-address 10.3.2.0 24
  action permit
上一篇 SQLAlchemy连上了金仓数据库
下一篇 软件授权管理命令