vFW搭建IRF

0f224d134848c2695d17b688cecd16df.gif

正文共:2328字 40圖,預估閱讀時間:5 分鐘

IRF(Intelligent Resilient Framework,智能彈性架構)技術通過將多臺設備連接在一起,虛擬化成一臺設備,集成多臺設備的硬件資源和軟件處理能力,實現多臺設備的協同工作、統一管理和不間斷維護。

IRF主要有可實現多設備統一管理、提高可靠性、實現跨成員設備的鏈路聚合、提高網絡的擴展能力等優勢。

巧的是,操作vFW時我竟然發現有相關命令,那為什么不試一下能不能用呢?

35467e73849604df406e2daa7f348f91.png

8d5a9c37a931362e55cabf0fec546a07.png

環境準備

常規操作中,兩臺物理防火墻要做IRF,一般需要至少1根堆疊線(有條件的再加1根MAD檢測線),在虛擬化平臺內部,也就只好通過增加虛擬交換機和端口組來模擬物理線路了。

登錄到ESXi管理頁面,點擊“網絡”→“虛擬交換機”→“添加標準虛擬交換機”設置vSwitch名稱信息。因為是內部線路,用不到上行鏈路,在這把上行鏈路1后面的網卡關掉;因為一個物理網卡只能加入到一個虛擬交換機中,此處刪除掉上線鏈路能方便后續操作。

b9782899e98a86ad84c95da91a73dc68.png

然后點擊“網絡”→“端口組”→“添加端口組”,設置好名稱并選擇虛擬交換機為剛剛添加的“IRF link”。

d37047bc7ffe1cb1f74a955f4efbe627.png

創建一臺名為“vFW-IRF-Linux-192.168.1.201”的虛擬機,創建過程中先添加IRF鏈路所用的網卡信息。

cbe10ae9dd2647107a429f6e692e2977.png

虛擬機詳細配置信息如下:

b680c398205774fec9d7ed7d1b5e99c5.png

為了保證測試成功,在部署過程中特地選擇了“IRF Install”。需要注意的是,不同版本支持安裝方式不同,E1166系列版本支持4種部署模式。

8d9e4d7f47829287a5ed246493117900.png

E1171系列版本支持5種部署模式,多了一個Debug Mode模式。

80df4643ba50a6de0b71374cea5a9f66.png

e0c787fb1ab146da7a5c89614fce2688.png

搭建IRF基礎環境

部署完成后進入系統,查看接口信息發現和普通部署不同,接口編號多了一位槽位信息。但是接口卡還是不能確定,不能確認哪個接口是IRF鏈路。

8d603d1993ebba7a23fa37b4c936a34e.png

簡單測試一下,在設置中取消IRF port link的連接。

ae0a237674c0533397f93bbbb2419498.png

此時看到接口GE1/1/0狀態DOWN了,所以初步推斷vFW中接口和虛擬機設置中網卡適配器的對應關系是順序對應

28ea831305a585a82ae051cfed8a550d.png

簡單設置vFW,實現遠程登錄,操作更方便。(操作參考vFW設備初始化配置調優,因為控制臺不支持屏幕滾動,不能查看歷史信息。)

aee55ec42b5045f4479d416afd93aaea.png

本次操作我參考了vFW的IRF配置手冊,和常規物理設備做IRF有所不同,官網鏈接如下:

http://h3c.com/cn/d_201911/1246617_30005_0.htm

驗證了IRF鏈路之后,我們再如法炮制,添加一組MAD檢測鏈路。創建名為MAD的虛擬交換機,并添加名為MAD link的端口組

51293bf9e1a14b4fdd23caf313b7b346.png

在虛擬機設置中添加一個新網卡

1446b4fe697a4c5d98ace5f65e384ef5.png

發現直接添加的網卡設備并沒有被設備識別到。

0de7571d078191d6c196163474cbd6bf.png

此時需要重啟vFW使新的網卡配置生效

a9067d773060b633e734b7b648becf70.png

efddda0c9be48fb85329161888f753c5.png

搭建IRF

鏈路問題都解決了,接下來先修改設備成員編號,重啟生效

c1c5a7ff5f18f33e06e276446880932b.png

修改成員設備vFW1的優先級,使其成為主設備。缺省情況下,成員優先級為1

58a5efc40d03e3b01716197416460712.png

和常規配置不同,vFW配置IRF端口時端口編號需要和IRF成員設備編號相同,所以irf-port 1應該是等于常規的irf-port 1/1。

2d67937a15a5ca25b0bebd1187429499.png

cdd1513f84873b2c7819f9df4cd4dce9.png

一個IRF端口可以與一個或多個IRF物理端口綁定,以提高IRF鏈路的帶寬以及可靠性。可綁定的IRF物理端口的最大數目為2。一個IRF端口必須有至少一個數據通道和控制通道,這兩種通道可以部署在一個IRF物理端口上,也可以部署在不同的IRF物理端口上

配置時可以看到,添加成員端口時后面可選type類型,如果不選擇,則是將數據通道和控制通道部署在了一個物理端口上

fb95d3eb0de16c03f45263e6d23b902d.png

而如果指定參數區分端口類型,則需要添加兩個成員端口;這些差異在配置中都可以看到。

3a71f8ee993ef7c864c97310028df0c4.png

并且從命令提示可以看到,IRF配置的生效方式和常規也不同,需要保存配置后重啟網卡來生效。相對于之前的操作,算是有所簡化。

vFW2修改成員編號之后發現無法遠程,登錄控制臺查看確認為配置不匹配導致。啟動配置文件信息如下,接口仍是舊的接口編號。

d3f67ca96a3efb2ac75bfaad13d0f352.png

97f15d2ff3fa96d0c585fe01e62f9b6a.png

官網解釋如下:

修改成員編號后,但是沒有重啟本設備,則原編號繼續生效,各物理資源仍然使用原編號來標識。修改成員編號后,如果保存當前配置,重啟本設備,則新的成員編號生效,需要用新編號來標識物理資源;配置文件中,只有IRF端口的編號以及IRF端口下的配置、成員優先級會繼續生效,其它與成員編號相關的配置(比如普通物理接口的配置等)不再生效,需要重新配置。

55b6512f9ce83cb606b687dd334ca695.png

保存一下當前配置。

826a6a276d06bb436fa57535476a20b4.png

再次查看配置文件,發現接口編號同步過來了。

eebebd0fe35a656407a721af203a1945.png

按照指導操作(進入到IRF-port下,添加成員端口,重啟網卡)完成IRF配置,因為默認開啟了irf auto-merge,所以會自動加入IRF。

08e70dd671e0459379a1ffe6fcc7765c.png

搭建完成后,查看IRF狀態如下。

321b61e3d7aae0385da945e228ce2d23.png

查看設備接口信息如下。

4ace69c8c763f0b3e1a61dbfd966fba9.png

并且又發現了一個save safely操作,實際使用發現和常規保存一樣。

e334ea3189e42bb03bccde35a4b3eccd.png

6516032475637d4ae5f2b6446414e252.png

MAD檢測

IRF鏈路故障會導致一個IRF變成多個新的IRF。未盡量降低IRF分裂對業務的影響,一般建議配置MAD(Multi-Active Detection,多Active檢測)檢測。MAD主要提供分裂檢測、沖突處理和故障恢復功能,不同MAD檢測方式沖突處理原則不同,不允許同時配置:LACP MAD和ARP MAD、ND MAD沖突處理的原則不同;BFD MAD和ARP MAD、ND MAD沖突處理的原則不同。

雖然當前環境下用不到,但我還是選擇用BFD MAD這種常用的檢測方式來演示一下。首先按照完成配置,具體如下:

#
vlan?3000
#
interface Vlan-interface3000mad bfd enablemad ip address 30.3.3.1 255.255.255.0 member 1mad ip address 30.3.3.2 255.255.255.0 member 2
#
interface GigabitEthernet1/3/0port link-mode bridgeport access vlan 3000
#
interface GigabitEthernet2/3/0port link-mode bridgeport access vlan 3000

檢測狀態發現不正常,顯示為Faulty,正常應該顯示Normal

242ab77661970e1dbdb1c1215dbdd422.png

調整端口組VLAN ID為對應的3000

8e0bcb4849d01a66cc18649670d3a986.png

此時MAD狀態恢復正常Normal狀態。

5e9f9b2037798ae06742fa78e8a9a715.png

f72e5c43f284d19a73d6a6ecf4760438.png

IRF信息查看

日常操作中,除了使用display irf顯示IRF中所有成員設備的相關信息使用display mad?verbose顯示MAD配置信息外,還會用到display irf configuration顯示IRF中所有成員設備的配置信息

85038190b1ce554c1c03e2ba6fd8ba71.png

使用display irf forwarding顯示指定成員設備收到的IRF Hello報文的信息

19b5736301efb5fced0fbf2c5535ac14.png

使用display irf link顯示IRF鏈路信息

9fd38267df6a408f4b450d53b071889c.png

還有一些其它操作可以參考之前文章(IRF堆疊使用問題分析)。

0abfa27e6b405405ea4ec45d337d6cd0.png

使用場景探索

提醒一下,也就是做實驗,日常使用可不要像我這么玩,還是很吃服務器性能的,CPU消耗最嚴重。vFW設備內查看CPU、內存利用率。

ce221f8437cb894ae292b65e7d3c1c28.png

主機CPU使用情況。

8b0075449713b26dd14dcc3c80be5fe2.png

數據轉發消耗了很大的CPU。

ef32a22820622dc306af91f0f5798c17.png

IRF接口使用率始終保持在500Mb左右。

750d835d710270c31b4091e8c55dcd61.png

MAD檢測端口也差不多有100Mb的廣播報文。

66abcab6e83feb2c3b1105ae538fa410.png

最終確認為MAD檢測鏈路消耗了過多主機資源,關掉之后CPU利用率降到了25%。

3f74452fcc28fe4a89b82e36d68a610d.png

我開始也在想,既然都使用vFW了,為什么還要做IRF呢?配置不夠了直接擴容配置不就行了嗎?但后來我意識到這實際上主要是為了提高網絡的健壯性

像我這樣在一臺服務器上搭兩臺vFW的實際應用場景應該是沒有,更多的可能是現場有多臺服務器的場景,不同服務器上的vFW做IRF,這樣能分擔不同的流量場景,并且通過冗余配置和聯動配置來實現業務的高可靠性,實現一臺服務器掛死之后另一臺服務器的感知,來響應這部分業務。

關于在vFW環境下怎么驗證冗余備份的可靠性配置,還得容我再想一下。

8c437334c6bee83a79ef77700543c2ea.gif

長按二維碼
關注我們吧

39a3d25b049eb60beeb5c250cf237d33.jpeg

更多推薦

? ? ? ? ? ?

脫掉等保的“神秘外衣”

主機安全漏洞解決方案

H3C防火墻特征庫升級失敗排查

V7防火墻配置基本操作

vFW設備初始化配置調優

網絡后沿:零信任網絡

? ? ? ?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/209922.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/209922.shtml
英文地址,請注明出處:http://en.pswp.cn/news/209922.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++如何通過調用ffmpeg接口對H265文件進行編碼和解碼

要對H265文件進行編碼和解碼&#xff0c;需要使用FFmpeg庫提供的相關API。以下是一個簡單的C程序&#xff0c;演示如何使用FFmpeg進行H265文件的編碼和解碼&#xff1a; 編碼&#xff1a; #include <cstdlib> #include <cstdio> #include <cstring> #inclu…

兩個月軟考-高項上岸

文章目錄 前言結緣軟考功虧一簣有始有終2個月計劃資料部分計劃截圖 總結 前言 我們看小說或者電視劇電影都會看到這樣的情節&#xff0c;主角一開始錦衣玉食&#xff0c;突然家道中落&#xff0c;啥都沒了&#xff0c;主角再一路奮起重新找回了屬于自己的一切&#xff1b;還有…

Vue項目中實現瀏覽器標簽頁名字的動態修改

修改router/index.js文件 路由條目下面添加meta屬性 meta:{title:DevOps運維平臺 }示例 使用Vue的全局守衛函數beforeEach&#xff0c;在路由切換前動態修改瀏覽器標簽頁名字 router.beforeEach((to,from,next) > {document.title to.meta.titlenext() })

Error: Cannot find module ‘E:\Workspace_zwf\mall\build\webpack.dev.conf.js‘

執行&#xff1a;npm run dev E:\Workspace_zwf\zengwenfeng-master>npm run dev> mall-app-web1.0.0 dev E:\Workspace_zwf\zengwenfeng-master > webpack-dev-server --inline --progress --config build/webpack.dev.conf.jsinternal/modules/cjs/loader.js:983thr…

[筆記]ARMv7/ARMv8 交叉編譯器下載

開發 Cortex-A7、Cortex-A72 或其他 ARM 架構 profile 芯片時&#xff0c;經常需要下載對應架構的交叉編譯器&#xff0c;所以寫這篇筆記&#xff0c;用于記錄一下交叉編譯器下載流程&#xff0c;免得搞忘。 編譯環境&#xff1a;ubuntu 虛擬機 下載地址 我們可以從 ARM 官網…

09 視頻分片上傳Minio和播放

文章目錄 一、流程設計1. 分片上傳實現思路2. 文件分片上傳流程3. 視頻播放流程 二、代碼實現1. 后端代碼2. 文件上傳前端代碼3. 視頻播放前端代碼 一、流程設計 1. 分片上傳實現思路 2. 文件分片上傳流程 3. 視頻播放流程 二、代碼實現 1. 后端代碼 pom.xml <dependenc…

多線程案例-單例模式

單例模式 設計模式的概念 設計模式好比象棋中的"棋譜".紅方當頭炮,黑方馬來跳.針對紅方的一些走法,黑方應招的時候有一些固定的套路.按照套路來走局勢就不會吃虧. 軟件開發中也有很多常見的"問題場景".針對這些問題的場景,大佬們總結出了一些固定的套路.按…

vue實現可拖拽列表

直接上代碼 <!-- vue實現可拖拽列表 --> <template><div><button click"logcolig">打印數據</button><TransitionGroup name"list" tag"div" class"container"><divclass"item"v-f…

常見請求頭與響應頭你了解哪些?

常見的 HTTP 請求頭和響應頭包括&#xff1a; 常見的請求頭&#xff1a; User-Agent&#xff1a;標識客戶端代理信息&#xff0c;通常用于識別用戶使用的瀏覽器或設備類型。 Accept&#xff1a;指示客戶端可以接受的內容類型&#xff0c;例如 text/html, application/json 等…

深度學習記錄--激活函數

激活函數的種類 對于激活函數的選擇&#xff0c;通常有以下幾種 sigmoid&#xff0c;tanh&#xff0c;ReLU&#xff0c;leaky ReLU 激活函數的選擇 之前logistic回歸一直使用的激活函數都是sigmoid函數&#xff0c;但一般來說&#xff0c;tanh函數是比sigmoid函數更加好的選…

【Python】 生成二維碼

創建了一個使用 python 創建二維碼的程序。 下面是生成的程序的圖像。 功能描述 輸入網址&#xff08;URL&#xff09;。 輸入二維碼的名稱。 當單擊 QR 碼生成按鈕時&#xff0c;將使用 QRname 中輸入的字符將 QR 碼生成為圖像。 程序代碼 import qrcode import tkinterd…

java泛型:泛型類,泛型方法

今日記錄我的泛型使用&#xff0c;供后期查閱。 主要包含泛型類&#xff0c;泛型屬性&#xff0c;泛型方法&#xff0c;靜態方法中使用泛型。 public class GenericOperationResultRep<T> {private boolean success; // 是否操作成功。true&#xff0c;成功&#xff1b;f…

Oracle的錯誤信息幫助:Error Help

今天看手冊時&#xff0c;發現上面有個提示&#xff1a; Error messages are now available in Error Help. 點擊 View Error Help&#xff0c;顯示如下&#xff0c;其實就是oerr命令的圖形化版本&#xff1a; 點擊Database Error Message Index&#xff0c;以下界面等同于命令…

[Kadane算法,前綴和思想]元素和最大的子矩陣

元素和最大的子矩陣 題目描述 輸入一個n級方陣&#xff0c;請找到此矩陣的一個子矩陣&#xff0c;此子矩陣的各個元素的和是所有子矩陣中最大的&#xff0c;輸出這個子矩陣及這個最大的和。 關于輸入 首先輸入方陣的級數n&#xff0c; 然后輸入方陣中各個元素。 關于輸出 …

車載藍牙音樂流程簡單分析

關鍵類&#xff1a; /packages/apps/Bluetooth/src/com/android/bluetooth/avrcpcontroller/AvrcpControllerStateMachine.java /packages/apps/Bluetooth/src/com/android/bluetooth/avrcpcontroller/AvrcpControllerService.java 一、音樂播放狀態 CPP中通過JNI接口將接從…

Python中利用遺傳算法探索迷宮出路

更多資料獲取 &#x1f4da; 個人網站&#xff1a;ipengtao.com 當處理迷宮問題時&#xff0c;遺傳算法提供了一種創新的解決方案。本文將深入探討如何運用Python和遺傳算法來解決迷宮問題。迷宮問題是一個經典的尋路問題&#xff0c;尋找從起點到終點的最佳路徑。遺傳算法是一…

ActiveMQ斷線重連技巧,即通信高可用的配置

最近在做一個內部應用的時候&#xff0c;應用到了ActiveMQ作為服務之間消息傳遞&#xff0c;解耦服務之間的關聯&#xff0c;但是在應用的過程中遇到了連接斷線無法重連的問題&#xff0c;下面基于這個問題&#xff0c;深入了解一下ActiveMQ的一些相關原理和知識。 一、前置知…

springboot2 在Java項目中你們是如何配置時間格式響應給前端呢

在 Spring Boot 2 項目中配置時間格式&#xff0c;通常可以通過配置文件&#xff08;application.properties 或 application.yml&#xff09;或者通過 Java 代碼進行配置。以下是兩種常見的配置方式&#xff1a; 1. 通過配置文件配置時間格式&#xff1a; 在 application.pr…

mybaties plus插入數據,自動回顯 機制

結論&#xff1a;mybaties plus會將庫里數據自動回顯到 要插入的數據上 測試表格 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- 表結構 DROP TABLE IF EXISTS t_stu; CREATE TABLE t_stu (id int NOT NULL COMMENT id,name varchar(255) CHARACTER SET utf8mb4 COLLATE…

【PyTorch】計算設備

文章目錄 1. 介紹2. 查詢和使用 1. 介紹 CPU設備意味著所有物理CPU和內存&#xff0c; 這意味著PyTorch的計算將嘗試使用所有CPU核心。可以用以下方式表示&#xff1a; torch.device(cpu) GPU設備只代表一個GPU和相應的顯存。 torch.device(cuda)如果有多個GPU&#xff0c;我們…