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配置舉例:

拓撲:

wKioL1TAi63xI4ppAAPJZcquAPs342.jpg

配置步驟:

使用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—查看特定冗餘組的狀態

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章