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-interface3000
 mad bfd enable
 mad ip address 30.3.3.1 255.255.255.0 member 1
 mad ip address 30.3.3.2 255.255.255.0 member 2
#
interface GigabitEthernet1/3/0
 port link-mode bridge
 port access vlan 3000
#
interface GigabitEthernet2/3/0
 port link-mode bridge
 port 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设备初始化配置调优

网络后沿:零信任网络

       

相关推荐

  1. DockerIPFS

    2023-12-05 20:38:04       11 阅读
  2. Redis

    2023-12-05 20:38:04       37 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-05 20:38:04       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-05 20:38:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-05 20:38:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-05 20:38:04       18 阅读

热门阅读

  1. Linux如何查看系统时间

    2023-12-05 20:38:04       33 阅读
  2. MySql之锁表、锁行解决方案

    2023-12-05 20:38:04       38 阅读
  3. Doccker常用的命令

    2023-12-05 20:38:04       36 阅读
  4. k8s学习

    2023-12-05 20:38:04       31 阅读
  5. xxl-job分布式定时任务

    2023-12-05 20:38:04       39 阅读
  6. SpringBoot整合Logback

    2023-12-05 20:38:04       34 阅读
  7. c++的文件读写

    2023-12-05 20:38:04       34 阅读
  8. 常用类与比较器

    2023-12-05 20:38:04       34 阅读
  9. Leetcode128.最长连续序列

    2023-12-05 20:38:04       29 阅读
  10. 如何保护 API 安全

    2023-12-05 20:38:04       39 阅读
  11. Diary17-Word页面设计

    2023-12-05 20:38:04       44 阅读