首页 > 代码库 > JUNIPER SRX系列防火墙(JUNOS12.1)HA配置说明

JUNIPER SRX系列防火墙(JUNOS12.1)HA配置说明

JUNIPER SRX系列防火墙(JUNOS12.1)HA配置说明

Chassis Cluster概述和简介:

  • Juniper SRX系列防火墙可以通过一组相同型号的SRX系列防火墙来提供网络节点的冗余性。每一台设备必须要有相同的junos版本,每一台节点设备通过各自的 control ports相互连接来形成Chassis Cluster的控制平面,控制平面通过juniper转有的协议来同步两条节点设备之间的配置和内核状态信息,从而提供基于接口和服务的高可用性。同时,每一台节点设备通过各自的 fabric ports 接口彼此互联,用于同步彼此的回话状态和两台设备在数在数据平面上的统一性。为了实现管理回话的冗余fabric link允许穿越节点管理流量的处理。

 

  • JuniperChassis Cluster两台设备在控制平面工作在主被状态,当两台JUNIPER SRX被配置为Chassis Cluster后,两天设备角色为一主一被,互为备份,

  • Juniper Chassis Cluster两台设备在数据平面工作在主主状态,配置为ChassisCluster两台设备会通过fabric ports接口来同步回话状态信息,从而确保在发生主被切换时已经存在的回话不会被重置,并且在主主状态下也能很好的处理异步流量。也就是说数据不管是从那个节点的接口到达,在数据平面都能被处理,不分主被。

 

  • SRX高端设备有专门的 control ports用来在两台设备间互联从而形成Chassis Cluster

 

  • 两台SRX防火墙形成ChassisCluster后就相当于将两台设备联合成了一个逻辑的设备,作为一个整体的安全设备运行

 

  • 当一个SRX设备加入一个cluster后,它将变为这个cluster的一个节点设备,除了节点必须的唯一配置和一个管理ip地址以外,所有的节点都共享相同的配置;

 

  • Cluster node ID相关概念:

Cluser ID的取值范围为1-255,所以在一个二层域中,最多只能部署255Chassis Cluster,当配置cluser ID的值为0,就相当于关闭了一个cluser

cluster中的每个设备node可以使用0或者是1标识;

 

  • NTP同步,主路由引擎会通过外部NTP服务器同步时间,然后备用路由引擎通过主路由引擎来同步自己的时间;

 

  • 当两台SRX设备形成ChassisCluster后配置会自动从主节点向备用节点进行同步,可以手动使用以下命令关闭同步: set chassis cluster configuration-synchronizeno-secondary-bootup-auto command in configuration mode.或者使用以下命令打开自动同步: delete chassis cluster configuration-synchronizeno-secondary-bootup-auto command in configuration mode.,也可以使用以下命令查看当前配置同步的配置和配置同步状态:show chassis cluster information configuration-synchronization

 

冗余组(redundary group)相关概念:

理解Chassis Cluster 冗余组:

  • Chassis Cluster通过冗余组提供接口和服务的高可用性;

  • 冗余组是管理一组对象的一种抽象概念,冗余组中包含了Chassis Cluster 两个节点的对象,在任何时候一个冗余组在一个节点上处于主用状态而在另一个节点上处于备用状态;如果一个冗余组在一个节点上处于主用状态,那么这个冗余组在此节点上所包含的对象将处于活动状态;

 

  • 冗余组是主被切换的独立单元,一个冗余组的主被切花并不会影响其他冗余组的主被状态。如果一个冗余组发生了主被切花,则其包含的所有对象都将相应的发生切换;

 

  • 冗余组主要通过以下三个条件来判断其角色是否是主用状态:

  • 节点优先级

  • 节点ID,如果两个设备配置了相同的节点优先级,则具有较小节点ID的设备为主设备;所以在配置时最好配置node 0的优先级为高;

  • 设备启动顺序,如果一个低优先级的设备优先启动,并且高优先级设备并没有配置抢占,那么低优先级设备将会成为主用设备;

 

  • SRX Chassis Cluster可以创建多个冗余组,并且可以配置不同冗余组的主设备在不同的节点上,一个冗余组的主用不会影响其他冗余组的主用;

关于冗余组0 Redundancy Group 0

  • 当配置SRX设备为ChassisCluster后,设备会自动创建 RedundancyGroup 0 RedundancyGroup 0管理着Chassis Cluster中每个节点路由引擎的切换,同其他所有冗余组一样, RedundancyGroup 0在同一时间只能在一个节点上处于主用状态。一个Chassis Cluster中那个节点的路由引擎处于活动状态,那么 RedundancyGroup 0在此节点上就是主用状态。 RedundancyGroup 0的切换意味着路由引擎发生了切换;

 

  • 以下条件觉得了 RedundancyGroup 0是否处于主用状态:

  • 先启用的节点

  • 配置了高优先级的节点

  • 优先级相同时,最小nodeID的节点设备

 

  • Redundancy Group 0不能够配置抢占功能,如果要切换 RedundancyGroup 0的主用状态,则必须手动切换, RedundancyGroup 0的切换意味着路由引擎的切换,所以好考虑周全;

 Redundancy Group 1-128

  • 你可以配置多个冗余组编号从1128,你能配置的最大冗余组的数量和你配置的冗余以太网接口的数量相同。每个节点上同一时间每一个冗余组作为一个独立的主被切换单元。

 

  • 每一冗余组包含了一个或者多个冗余以太网接口,冗余以太网接口作为虚拟接口至少要包含一对物理接口分别在不同的node上面。如果一个冗余组在node 0 上处于活动状态,那么和它关联的所有冗余以太网接口都处于活跃状态,如果发生了切换,冗余组在node 1上变为了活动状态,那么在node 1 上关联的所有冗余以太网接口将变为活动状态。

 

  • 可以在SRX上配置多个冗余组来负载流量,通过将不同冗余组的主用设备分布在不同的node上,从而让两个node都能够同事处理流量。需要注意的是,如果出站接口和入站接口各自冗余组的主用设备分布在两个node上,则会造成流量进入如站接口后出站活动接口在另一个冗余组的活动node上,这时候流量就会被 fabric link 转发都合适的node上。

 Redundancy Group接口监控:

  • 要实现 RedundancyGroup的自动故障转换必须让 Redundancy Group监控与之相关的接口状态(down or up),这些接口一般是与 Redundancy Group关联的冗余以太网接口的物理子接口。当你配置 Redundancy Group去监控一个接口时,给这个接口指定一个weight值;

 

  • 每一个 RedundancyGroup都有一个阈值初始化设置为255,当一个冗余组监控到一个接口不可用的时候, Redundancy Group 将用自己的阈值减去接口weight值。当 RedundancyGroup的阈值被减到0的时候,故障切换将自从发生。

 

  • 当一个冗余组在两个节点上监控的接口都发生了故障,并且 Redundancy Group 阈值已经触发了,则具有最小node ID的设备将为此冗余组的主用设备;

 

  • 可以使用此hold-down-interval命令来抑制因为接口监控是被而导致的故障切换;

 

  • 如果故障切换发生在 RedundancyGroup 0 上,在 Redundancy Group 0 备用设备上的接口监控将会被关闭30秒,从而防止了其它冗余组随着 Redundancy Group 0 的切换而切换;

 Redundancy Group IP AddressMonitoring

  • Redundancy Group IP Address Monitoring的目的就是监控端到端连接的可达性,当SRX上联网关不是直连的时候,如果网关出现故障,因为SRX接口上联设备没有故障,所以SRX检测不到故障的发生,当配置了ip 地址监控以后,就可以根据被监控地址来判断上联网关是否可用而做出自动故障切换;

 

  • Ip地址监控允许你不仅配置一个监控地址和weight值而且可以配置一个全局的ip地址监控阈值和全局weight值,当监控地址不可达导致ip地址监控的全局阈值变为0时,ip地址监控的全局weight值才会从冗余组中的阈值中减去。这样就可以配置多个监控ip地址,当某个被监控的ip地址从不可达变为可达时,监控阈值将会被恢复。如果没有配置抢占功能的话,切换时不会发生的。

 

  • 一旦一个冗余组监控ip地址不可达了,其weight值将会在冗余组 global-threshold中扣除,如果经过重新计算的 global-threshold值不等于0,则这个ip地址被标记为不可达,但是globle-weight值并不会从冗余组threshold中扣除。如果global-threshold 的值变为了0,则globle-weight将会从冗余组threshold中扣除。此时如果监控ip地址中还有不可达的,并且global-threshold 的值为0,除非有一个监控地址变为可达或者将监控地址从配置中移除,否则Chassis Cluster中的两个节点将会来回切换。

 

  • 总之,当监控ip或者其他监控项故障,导致weight值在冗余组threshold 中被扣除,当冗余组threshold 累计扣除为0后,故障切换将会发生。当ChassisCluster中监控ip在两个节点上同时触发了阈值时,节点ID小的设备将成为主设备。

 

  • 为了使得一个ip地址可以在备用节点上被监控,则被监控的冗余以太网接口必须要配置一个sencondary address

 

Redundant Ethernet Interfaces

  • 一个冗余以太网接口至少要包含一对物理接口,物理接口叫做冗余接口的子接口,并且分别分布在不同的节点上;

 

  • 如果一个冗余接口在一个节点上关联了多个物理子接口,则这些接口必须配置LACP

 

  • 冗余接口子接口的类型必须相同,但是可以在不同的模块上;

 

  • 每一个节点的每一个冗余以太网接口可以聚合8条链路作为冗余以太网聚合链路;

 

ChassisCluster Control Plane

  • Chassis Cluster在控制平面上处于主被状态;

 

  • 备用节点路由引擎上的回话状态、配置和其他信息处于不活跃状态,如果主路由引擎失败了,备用路由引擎才会去承载所有的控制信息;

 

控制平面功能:

  • 控制平面运行在路由引擎上,监控整个Chassis Cluster系统,包括两个节点上的接口;

  • 管理系统和数据平面资源,包括每一个节点上的包转发引擎(PFE);

  • 通过controllink同步配置;

  • 完成回话的建立和维持,完成AAA功能;

  • 管理应用程序特定的信令协议,也就是高级协议监控功能

  • 处理异步路由功能;

  • 管理路由状态、ARP进程和DHCP进程

        

从控制平面出来的信息遵从一下两条路径:

  • 在主节点上,控制信息从路由引擎(RE)转发到本地包转发引擎(PFE;

  • 控制信息通传过controllink 转发到备用节点的路由引擎(RE)和包转发引擎(PFE;

 

Chassis Cluster Control Links

  • 控制链路使用专用的协议在连个节点之间传输回话状态、同步配置和心跳信号;

  • SRX5600SRX5800默认情况下所有的control port是关闭的,每一个SPC都有两个control port,每一个设备可以插入多个SPC。通过配置control link来初始化Chassis Cluster,控制端口名称为fpc(0/1)

 

  • SRX3400SRX3600都有专门的控制端口,并且也不需要配置control link

 

  • SRX1400专用的control portSYSIOport10port11,也不需要配置control link

 

双控制链路( Dual Control Links

  • SRX5000SRX3000支持两对控制链路在一个cluset的每一台设备之间,保证了控制链路的高可用性;

 

  • 对于SRX5000,这个功能需要第二块路由引擎以及第二块SCB被安装在每台设备上,第二块路由引擎的目的仅仅是用来初始化SCB的交换功能;

 

  • 第二块路由引擎不提供备份功能,也不需要升级,甚至当主路由引擎升级的时候。你也不能运行CLI、不需要配置 chassis ID and cluster ID 、也不能直接从主路由引擎登录到第二快路由引擎;

 

  • 当第一块路由引擎被安装以后,第二块路由引擎不能接管设备硬件,只有当第一快路由引擎不存在时,它才会接管设备硬件变为master

 

  • 对于SRX 3000 此功能需要一个SCM安装在每台设备的路由引擎槽中,仅仅用来初始化第二条control link

 

Cluster Control Link Heartbeats

Junos 根据配置的间隔时间通过ControlLink传输心跳信号,系统运用心跳信号的传输去监控Control Link的状态,如果丢失的心跳信号的数量超过了配置的阈值,系统就会评估是否发生了错误;

 

 Control Link Failure and Recovery

  • Control Link Failure定义:通过Control Link Failure不能够收到headbeat信号,但是headbeat 信号任然可以通过fabric link收到;

 

  • 确定正常的ControlLink Failure

  • Heardbeat 信号丢失数量超过了所配置的阈值;

  • 至少收到了一个序列号同丢失的heardbeat 信号相同的probe信号通过fabric path

 

  • 如果发生了正常的controllink 失败:

  • 冗余组0任然在当前的主节点上,其它所有荣誉组将此节点作为primary

  • 180s以后系统将disable secondeary 节点

  • 如果在180s之内fabric link也出现故障,则secondarynode也变为primary,此时两台设备将处于双活状态;

Chassis Cluster Data Plane

  • 数据平面工作在active/active状态;

  • 数据平面管理流量的处理和会话状态的冗余,系统会识别会话处于活跃状态的节点并将流量发送给此节点处理;

  • 为了提供会话的冗余,数据平面会在fabric link上同步回话状态通过特定的数据包,这种数据包叫做RTO,从而确保在切换发生时保证两台设备上会话的一致性和稳定性,保证了已经存在的会话可以继续对流量进行处理,而不需要重新建立回话。

 

  • 你可以在两个节点上配置fabriclink来连接SRX从而来传输RTO数据包,同control link不通d是,你可以配置指定两条fabric link链路来保证冗余,可以使用FE接口或者是GE接口;

 

  • fabric link 因为探测信号超时导致失败时,sencondary 节点将会disable

 

 Chassis Cluster中的设备管理:

当你配置一个Chassis Cluster是,指定一个设备作为primary,一个设备作为secondary。当设备初始化完成重启后,会在两个节点上自动创建接口fxp0接口,可以给fxp0接口配置一个唯一的管理地址作为带外管理的接口,此配置不会在两台设备之间同步。

 

 

SRX高端设备Chassis Cluster配置举例:

拓扑:

技术分享

配置步骤:

使用console接口分别登陆每台防火墙,配置control port

node 0

user@host# set chassiscluster control-ports fpc 1 port 0

user@host# set chassiscluster control-ports fpc 13 port 0

user@host# commit

node1

user@host# set chassiscluster control-ports fpc 1 port 0

user@host# set chassiscluster control-ports fpc 13 port 0

user@host# commit

 

配置两台设备到集群模式:

node 0

user@host> set chassis cluster cluster-id1 node 0 reboot

node 1

user@host> set chassis cluster cluster-id1 node 1 reboot

 

重启完成以后,两台设备就会自动形成集群模式,以后的配置只需要在一台设备上使用consol配置,另一台除了每台设备唯一的配置以外,其它配置都会自动同步:

 

配置fabric linkport

user@host# setinterfaces fab0 fabric-options member-interfaces ge-11/3/0

user@host# setinterfaces fab1 fabric-options member-interfaces ge-23/3/0

 

配置两个节点的名称、节点管理地址和管理路由:

user@host# set groupsnode0 system host-name SRX5800-1

user@host# set groupsnode0 interfaces fxp0 unit 0 family inet address 10.3.5.1/24

user@host# set groupsnode0 system backup-router 10.3.5.254 destination 0.0.0.0/16

user@host# set groupsnode1 system host-name SRX5800-2

user@host# set groupsnode1 interfaces fxp0 unit 0 family inet address 10.3.5.2/24

user@host# set groupsnode1 system backup-router 10.3.5.254 destination 0.0.0.0/16

user@host# setapply-groups “${node}”

 

配置集群中冗余接口的数量、冗余组节点优先级

user@host# set chassiscluster reth-count 2

user@host# set chassiscluster redundancy-group 0 node 0 priority 129

user@host# set chassiscluster redundancy-group 0 node 1 priority 128

user@host# set chassiscluster redundancy-group 1 node 0 priority 129

user@host# set chassiscluster redundancy-group 1 node 1 priority 128

 

配置冗余以太网接口和接口地址:

user@host# setinterfaces xe-6/0/0 gigether-options redundant-parent reth0

user@host# setinterfaces xe-6/1/0 gigether-options redundant-parent reth1

user@host# setinterfaces xe-18/0/0 gigether-options redundant-parent reth0

user@host# setinterfaces xe-18/1/0 gigether-options redundant-parent reth1

user@host# setinterfaces reth0 redundant-ether-optionsredundancy-group1

user@host# setinterfaces reth0 unit 0 family inet address 1.1.1.1/24

user@host# setinterfaces reth1 redundant-ether-options redundancy-group1

user@host# setinterfaces reth1 unit 0 family inet address 2.2.2.1/24

 

配置冗余组接口监控和冗余control link自动恢复功能

user@host# set chassiscluster redundancy-group 1 interface-monitor xe-6/0/0 weight 255

user@host# set chassiscluster redundancy-group 1 interface-monitor xe-6/1/0 weight 255

user@host# set chassiscluster redundancy-group 1 interface-monitor xe-18/0/0 weight 255

user@host# set chassiscluster redundancy-group 1 interface-monitor xe-18/1/0 weight 255

user@host# set chassiscluster control-link-recovery

 

 

将冗余以太网接口关联到相应的区域

user@host# set securityzones security-zone untrust interfaces reth0.0

user@host# set securityzones security-zone trust interfaces reth1.0

 

配置出向默认路由和指向内网的静态路由

user@host# setrouting-options static route 0.0.0.0/0 next-hop 1.1.1.254

user@host# setrouting-options static route 2.0.0.0/8 next-hop 2.2.2.254

 

配置区域和安全控制策略(略):

user@host# set security zones security-zone Untrust interfaces reth0.0

user@host# set security zones security-zone Trust interfaces reth1.0

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

 

验证命令:

show chassis cluster status-----查看集群状态

show chassis cluster interfaces---查看集群冗余接口和监控接口

show chassis cluster statistics—查看集群个功能详细信息

show chassis cluster control-plane statistics—查看集群控制平面详细信息

show chassis cluster data-plane statistics—查看集群数据平面详细信息

show chassis cluster status redundancy-group 1—查看特定冗余组的状态

 


本文出自 “网络运维” 博客,请务必保留此出处http://4719076.blog.51cto.com/4709076/1606962

JUNIPER SRX系列防火墙(JUNOS12.1)HA配置说明