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

相关文章

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

Redis Cluster模式配置

《RedisCluster模式配置》:本文主要介绍RedisCluster模式配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录分片 一、分片的本质与核心价值二、分片实现方案对比 ‌三、分片算法详解1. ‌范围分片(顺序分片)‌2. ‌哈希分片3. ‌虚

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

Python主动抛出异常的各种用法和场景分析

《Python主动抛出异常的各种用法和场景分析》在Python中,我们不仅可以捕获和处理异常,还可以主动抛出异常,也就是以类的方式自定义错误的类型和提示信息,这在编程中非常有用,下面我将详细解释主动抛... 目录一、为什么要主动抛出异常?二、基本语法:raise关键字基本示例三、raise的多种用法1. 抛

maven私服配置全过程

《maven私服配置全过程》:本文主要介绍maven私服配置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录使用Nexus作为 公司maven私服maven 私服setttings配置maven项目 pom配置测试效果总结使用Nexus作为 公司maven私