CLI举例:负载分担场景下的源NAT配置(主备设备共用同一个地址池)

本文主要是介绍CLI举例:负载分担场景下的源NAT配置(主备设备共用同一个地址池),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

CLI举例:负载分担场景下的源NAT配置(主备设备共用同一个地址池)

组网需求

如图1所示,企业的两台FW的业务接口都工作在三层,上下行分别连接路由器。FW与上下行路由器之间运行OSPF协议。上行接口连接同一个ISP。

现在希望两台FW以负载分担方式工作。正常情况下,部门A的用户发出的流量通过FW_A转发,部门B的用户发出的流量通过FW_B转发。当其中一台FW出现故障时,流量全部通过另一台FW转发,保证业务不中断。

本例以上下行均连接路由器的负载分担组网为例,实际上下行设备和接口根据实际场景判断是否需要配置OSPF,源NAT配置没有差异。

本例不适用上行接口连接两个不同的ISP的场景。

图1 负载分担场景下的源NAT配置组网

数据规划

项目

FW_A

FW_B

接口

GigabitEthernet 1/0/1

IP地址:10.2.0.1/24

安全区域:Untrust

GigabitEthernet 1/0/3

IP地址:10.3.0.1/24

安全区域:Trust

GigabitEthernet 1/0/7

IP地址:10.10.0.1/24

安全区域:DMZ

GigabitEthernet 1/0/1

IP地址:10.2.1.1/24

安全区域:Untrust

GigabitEthernet 1/0/3

IP地址:10.3.1.1/24

安全区域:Trust

GigabitEthernet 1/0/7

IP地址:10.10.0.2/24

安全区域:DMZ

OSPF

进程ID:10

区域标识:0

区域包含的网段:10.2.0.0/24、10.3.0.0/24、1.1.1.10/32

进程ID:10

区域标识:0

区域包含的网段:10.2.1.0/24、10.3.1.0/24、1.1.1.10/32

配置思路
  1. 分别在FW_A和FW_B上配置接口IP地址和安全区域,完成网络基本参数配置。
  2. 分别在FW_A和FW_B上配置OSPF。
  3. 由于FW_A和FW_B共用一个NAT地址池,主备设备都正常运行的情况下,两台FW可能会将不同主机发来的流量的源IP地址和源端口转换为同一个公网地址和公网端口。为避免出现端口冲突问题,需要为主备设备分配不同的端口范围。
  4. 分别在FW_A和FW_B上配置双机热备功能,包括配置接口监控、指定心跳口、启用快速备份功能等。
  5. 在FW_A上配置允许设备间交互OSPF报文及允许内网访问外网的安全策略。FW_A上配置的安全策略会自动备份到FW_B上。
  6. 在FW_A上配置NAT地址池。FW_A上配置的NAT地址池会自动备份到FW_B上。
  7. 在FW_A上配置源NAT策略,实现内网访问外网时自动进行源地址转换。FW_A上配置的源NAT策略会自动备份到FW_B上。
  8. 配置下行设备,使得正常情况下部门A用户发出的流量通过FW_A转发,部门B用户发出的流量通过FW_B转发。
  9. 在上行路由器上配置接口地址、指向ISP的静态路路由,同时配置OSPF使得FW和路由之间互相学习对方的路由。在下行路由器上配置接口地址,同时配置OSPF使得FW和路由之间互相学习对方的路由。具体配置请参见路由器的产品文档,本举例不作介绍。

操作步骤
  1. 配置接口IP地址和安全区域,完成网络基本参数配置。
    在FW_A上配置接口。# 配置接口IP地址。<FW_A> system-view
    [FW_A] interface GigabitEthernet 1/0/1
    [FW_A-GigabitEthernet 1/0/1] ip address 10.2.0.1 24
    [FW_A-GigabitEthernet 1/0/1] quit
    [FW_A] interface GigabitEthernet 1/0/3
    [FW_A-GigabitEthernet 1/0/3] ip address 10.3.0.1 24
    [FW_A-GigabitEthernet 1/0/3] quit
    [FW_A] interface GigabitEthernet 1/0/7
    [FW_A-GigabitEthernet 1/0/7] ip address 10.10.0.1 24
    [FW_A-GigabitEthernet 1/0/7] quit
    # 配置接口加入相应安全区域。[FW_A] firewall zone trust
    [FW_A-zone-trust] add interface GigabitEthernet 1/0/3
    [FW_A-zone-trust] quit
    [FW_A] firewall zone untrust
    [FW_A-zone-untrust] add interface GigabitEthernet 1/0/1 
    [FW_A-zone-untrust] quit
    [FW_A] firewall zone dmz
    [FW_A-zone-dmz] add interface GigabitEthernet 1/0/7 
    [FW_A-zone-dmz] quit在FW_B上配置接口。# 配置接口IP地址。<FW_B> system-view
    [FW_B] interface GigabitEthernet 1/0/1
    [FW_B-GigabitEthernet 1/0/1] ip address 10.2.1.1 24
    [FW_B-GigabitEthernet 1/0/1] quit
    [FW_B] interface GigabitEthernet 1/0/3
    [FW_B-GigabitEthernet 1/0/3] ip address 10.3.1.1 24
    [FW_B-GigabitEthernet 1/0/3] quit
    [FW_B] interface GigabitEthernet 1/0/7
    [FW_B-GigabitEthernet 1/0/7] ip address 10.10.0.2 24
    [FW_B-GigabitEthernet 1/0/7] quit
    # 配置接口加入相应安全区域。[FW_B] firewall zone trust
    [FW_B-zone-trust] add interface GigabitEthernet 1/0/3
    [FW_B-zone-trust] 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 dmz
    [FW_B-zone-dmz] add interface GigabitEthernet 1/0/7
    [FW_B-zone-dmz] quit在FW_A和FW_B上配置OSPF。# 在FW_A上配置OSPF。[FW_A] ospf 10
    [FW_A-ospf-100] import-route unr
    [FW_A-ospf-100] area 0
    [FW_A-ospf-100-area-0.0.0.0] network 10.2.0.0 0.0.0.255
    [FW_A-ospf-100-area-0.0.0.0] network 10.3.0.0 0.0.0.255
    # 在FW_B上配置OSPF。[FW_B] ospf 10
    [FW_B-ospf-100] import-route unr
    [FW_B-ospf-100] area 0
    [FW_B-ospf-100-area-0.0.0.0] network 10.2.1.0 0.0.0.255
    [FW_B-ospf-100-area-0.0.0.0] network 10.3.1.0 0.0.0.255

  2. 配置负载分担场景的NAT地址池端口分配功能。

    双机热备的负载分担场景下,两台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命令)。[FW_A] hrp nat resource primary-group

  3. 配置双机热备功能。
    1. 在FW_A上配置双机热备功能。# 配置接口监控。[FW_A] hrp track interface GigabitEthernet 1/0/1
      [FW_A] hrp track interface GigabitEthernet 1/0/3
      # 指定心跳接口。[FW_A] hrp interface GigabitEthernet 1/0/7 remote 10.10.0.2
      # 启用快速备份功能。[FW_A] hrp mirror session enable
      负载分担场景下,报文的来回路径可能会不一致,务必启用会话快速备份功能,使一台FW的会话信息立即同步至另一台FW,保证内外部用户的业务不中断。# 启用双机热备。[FW_A] hrp enable

    2. 在FW_B上配置双机热备功能。

      # 配置接口监控。[FW_B] hrp track interface GigabitEthernet 1/0/1
      [FW_B] hrp track interface GigabitEthernet 1/0/3
      # 指定心跳接口。[FW_B] hrp interface GigabitEthernet 1/0/7 remote 10.10.0.1
      # 启用快速备份功能。[FW_B] hrp mirror session enable
      # 启用双机热备。[FW_B] hrp enable

  4. 在FW_A上配置安全策略允许设备间交互OSPF报文及允许内网用户访问外网。

    在FW_A上配置的安全策略会自动备份到FW_B上。

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

  5. 配置NAT地址池,并允许端口转换,实现公网地址复用。

    在FW_A上配置的地址池会自动备份到FW_B上。

    HRP_M[FW_A] nat address-group addressgroup1
    HRP_M[FW_A-nat-address-group-addressgroup1] section 0 1.1.1.10 1.1.1.10
    HRP_M[FW_A-nat-address-group-addressgroup1] mode pat
    HRP_M[FW_A-nat-address-group-addressgroup1] route enable
    HRP_M[FW_A-nat-address-group-addressgroup1] quit

  6. 配置源NAT策略,使内网用户通过转换后的公网IP地址访问Internet。

    在FW_A上配置的NAT策略会自动备份到FW_B上。

    HRP_M[FW_A] nat-policy
    HRP_M[FW_A-policy-nat] rule name policy_nat_1
    HRP_M[FW_A-policy-nat-policy_nat_1] source-zone trust
    HRP_M[FW_A-policy-nat-policy_nat_1] destination-zone untrust
    HRP_M[FW_A-policy-nat-policy_nat_1] action source-nat address-group addressgroup1
    HRP_M[FW_A-policy-nat-policy_nat_1] quit
    HRP_M[FW_A-policy-nat] quit

  7. 配置下行设备,使得两台FW都正常运行的情况下,部门A用户发出的流量通过FW_A转发,部门B用户发出的流量通过FW_B转发。
  8. 在上行路由器上配置接口地址、指向ISP的静态路路由,同时配置OSPF使得FW和路由之间互相学习对方的路由。在下行路由器上配置接口地址,同时配置OSPF使得FW和路由之间互相学习对方的路由。具体配置请参见路由器的产品文档,本举例不作介绍。

结果验证
  1. 主备设备均正常运行情况下,分别在FW_A和FW_B上执行display hrp state命令,检查HRP的状态信息,显示以下信息表示HRP建立成功。

    HRP_M[FW_A] display hrp stateRole: active, peer: active                                                    Running priority: 49010, peer: 49010                                           Backup channel usage: 3%                                                       Stable time: 0 days, 5 hours, 1 minutes 
    HRP_S[FW_B] display hrp stateRole: active, peer: active                                                    Running priority: 49010, peer: 49010                                           Backup channel usage: 3%                                                       Stable time: 0 days, 5 hours, 1 minutes 

  2. 内网PC可以正常访问Internet表示安全策略配置成功。
  3. 分别在FW_A和FW_B上执行display nat-policy rule rule-name命令查看源NAT策略的命中次数,命中次数大于等于1即表示有数据流命中NAT策略。
  4. 分别在FW_A和FW_B上执行display firewall session table命令查询源地址为内网PC的私网地址的表项,查看本次NAT转换的信息。存在该表项,且NAT转换后的IP地址为NAT地址池中的地址,表示NAT策略配置成功。“[]”中的内容为NAT转换后的IP地址和端口。

     
    HRP_M<FW> display firewall session table
    Current Total Sessions : 1http  VPN:public --> public  10.3.2.55:2474[1.1.1.10:3761]-->3.3.3.3:80

  5. 当FW_A出现故障时,分别在FW_A和FW_B上执行display hrp state命令,检查HRP的状态信息,显示以下信息表示主备切换成功。

    HRP_M[FW_A] display hrp stateRole:standby, peer:  active (shoule be "active-active")                                                  Running priority: 49012, peer: 49010                                           Backup channel usage: 0%                                                       Stable time: 0 days, 0 hours, 0 minutes 
    HRP_S[FW_B] display hrp stateRole: active, peer: standby  (shoule be "active-active")                                                 Running priority: 49010, peer: 49012                                           Backup channel usage: 0%                                                       Stable time: 0 days, 0 hours, 1 minutes 

配置脚本
FW_AFW_B
#hrp mirror session enablehrp enablehrp interface GigabitEthernet 1/0/7 remote 10.10.0.2
#
hrp nat resource primary-group
#
hrp track interface GigabitEthernet 1/0/1
hrp track interface GigabitEthernet 1/0/3
#
interface GigabitEthernet 1/0/7ip address 10.10.0.1 255.255.255.0
#
firewall zone trustset priority 85add interface GigabitEthernet 1/0/3
#
firewall zone untrustset priority 5add interface GigabitEthernet 1/0/1
#
firewall zone dmzset priority 50add interface GigabitEthernet 1/0/7
#  
ospf 10 import-route unrarea 0.0.0.0network 10.2.0.0 0.0.0.255network 10.3.0.0 0.0.0.255
#    nat address-group addressgroup1mode pat route enable section 0 1.1.1.10 1.1.1.10
#    
security-policy  rule name policy_sec_1source-zone localsource-zone trustsource-zone untrustdestination-zone localdestination-zone trust  destination-zone untrustaction permit    
#    
nat-policy  rule name policy_nat_1source-zone trustdestination-zone untrustaction source-nat address-group addressgroup1
#hrp mirror session enablehrp enablehrp interface GigabitEthernet 1/0/7 remote 10.10.0.1
#
hrp nat resource secondary-group
#
hrp track interface GigabitEthernet 1/0/1
hrp track interface GigabitEthernet 1/0/3
#
interface GigabitEthernet 1/0/7ip address 10.10.0.2 255.255.255.0
#
firewall zone trustset priority 85add interface GigabitEthernet 1/0/3
#
firewall zone untrustset priority 5add interface GigabitEthernet 1/0/1
#
firewall zone dmzset priority 50add interface GigabitEthernet 1/0/7
#  
ospf 10 import-route unrarea 0.0.0.0network 10.2.1.0.0.0.255network 10.3.1.0 0.0.0.255
#    nat address-group addressgroup1mode pat route enable section 0 1.1.1.10 1.1.1.10
#    
security-policy  rule name policy_sec_1source-zone localsource-zone trustsource-zone untrustdestination-zone localdestination-zone trust  destination-zone untrustaction permit    
#    
nat-policy  rule name policy_nat_1source-zone trustdestination-zone untrustaction source-nat address-group addressgroup1

这篇关于CLI举例:负载分担场景下的源NAT配置(主备设备共用同一个地址池)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1008029

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

Java中的.close()举例详解

《Java中的.close()举例详解》.close()方法只适用于通过window.open()打开的弹出窗口,对于浏览器的主窗口,如果没有得到用户允许是不能关闭的,:本文主要介绍Java中的.... 目录当你遇到以下三种情况时,一定要记得使用 .close():用法作用举例如何判断代码中的 input

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

k8s中实现mysql主备过程详解

《k8s中实现mysql主备过程详解》文章讲解了在K8s中使用StatefulSet部署MySQL主备架构,包含NFS安装、storageClass配置、MySQL部署及同步检查步骤,确保主备数据一致... 目录一、k8s中实现mysql主备1.1 环境信息1.2 部署nfs-provisioner1.2.

SpringBoot中ResponseEntity的使用方法举例详解

《SpringBoot中ResponseEntity的使用方法举例详解》ResponseEntity是Spring的一个用于表示HTTP响应的全功能对象,它可以包含响应的状态码、头信息及响应体内容,下... 目录一、ResponseEntity概述基本特点:二、ResponseEntity的基本用法1. 创

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

vue监听属性watch的用法及使用场景详解

《vue监听属性watch的用法及使用场景详解》watch是vue中常用的监听器,它主要用于侦听数据的变化,在数据发生变化的时候执行一些操作,:本文主要介绍vue监听属性watch的用法及使用场景... 目录1. 监听属性 watch2. 常规用法3. 监听对象和route变化4. 使用场景附Watch 的

Java 结构化并发Structured Concurrency实践举例

《Java结构化并发StructuredConcurrency实践举例》Java21结构化并发通过作用域和任务句柄统一管理并发生命周期,解决线程泄漏与任务追踪问题,提升代码安全性和可观测性,其核心... 目录一、结构化并发的核心概念与设计目标二、结构化并发的核心组件(一)作用域(Scopes)(二)任务句柄