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

相关文章

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

Java Spring 中 @PostConstruct 注解使用原理及常见场景

《JavaSpring中@PostConstruct注解使用原理及常见场景》在JavaSpring中,@PostConstruct注解是一个非常实用的功能,它允许开发者在Spring容器完全初... 目录一、@PostConstruct 注解概述二、@PostConstruct 注解的基本使用2.1 基本代

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

C语言中位操作的实际应用举例

《C语言中位操作的实际应用举例》:本文主要介绍C语言中位操作的实际应用,总结了位操作的使用场景,并指出了需要注意的问题,如可读性、平台依赖性和溢出风险,文中通过代码介绍的非常详细,需要的朋友可以参... 目录1. 嵌入式系统与硬件寄存器操作2. 网络协议解析3. 图像处理与颜色编码4. 高效处理布尔标志集合

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

Java中Switch Case多个条件处理方法举例

《Java中SwitchCase多个条件处理方法举例》Java中switch语句用于根据变量值执行不同代码块,适用于多个条件的处理,:本文主要介绍Java中SwitchCase多个条件处理的相... 目录前言基本语法处理多个条件示例1:合并相同代码的多个case示例2:通过字符串合并多个case进阶用法使用

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H