堆叠+M-Lag+防火墙RBM旁挂组网

该文章已生成可运行项目,

HCL版本5.10.2

镜像版本

拓扑图

接入层两台交换机做堆叠

汇聚层两台交换机做M-lag,并作为PC的双活网关

核心层两台交换机做M-lag,防火墙双机热备,FW7为主,FW8为备

防火墙旁挂组网,防火墙上创建虚墙,使流量经过防火墙

M-lag2,M-lag1,防火墙运行OSPF

M-lag1中配置静态路由访问R11,并联动BFD

访问R11的流量路径为:

堆叠配置

  • 配置成员编号,确保该编号在IRF中唯一。
  • 配置成员优先级,在主设备选举过程中,优先级数值大的成员设备将优先被选举成为主设备。
  • 配置IRF端口,同一IRF端口绑定的IRF物理端口的工作模式必须相同。通过irf-port-configuration active命令手工激活IRF端口的配置才能形成IRF。
  • 配置多主检测MAD

SW5为堆叠主设备

SW5:

hostname SW5
#
irf member 1 priority 6
#
int range Ten-GigabitEthernet 1/0/50 Ten-GigabitEthernet 1/0/51
 shutdown
#
irf-port 1/1
 port group interface Ten-GigabitEthernet1/0/50
 port group interface Ten-GigabitEthernet1/0/51
#

SW6:

sysname SW6
#
irf member 1 renumber 2
#
save

重启设备后

int range Ten-GigabitEthernet 2/0/50 Ten-GigabitEthernet 2/0/51
 shutdown
#
irf-port 2/2
 port group interface Ten-GigabitEthernet2/0/50
 port group interface Ten-GigabitEthernet2/0/51
#

SW5:

int range Ten-GigabitEthernet 1/0/50 Ten-GigabitEthernet 1/0/51
 undo shutdown
#
irf-port-configuration active
#

SW6:

注意irf激活前保存配置。

int range Ten-GigabitEthernet 2/0/50 Ten-GigabitEthernet 2/0/51
 undo shutdown
# save保存配置
#
irf-port-configuration active
#

SW6重启后查看堆叠是否成功建立

创建链路聚合

SW5:

interface Bridge-Aggregation100
 link-aggregation mode dynamic
#
int range GigabitEthernet 1/0/1 GigabitEthernet 1/0/2 GigabitEthernet 2/0/1 GigabitEthernet 2/0/2
 port link-aggregation group 100 
#

mad配置:

SW5:

interface Bridge-Aggregation100
 mad enable
#

M-lag配置

  • 配置M-lag系统mac地址,同一M-lag聚合组中,所有M-LAG设备的系统MAC地址必须相同
  • 配置M-LAG系统编号,同一M-lag聚合组中的M-LAG设备应配置不同的系统编号
  • 配置M-LAG系统优先级,同一M-lag聚合组中,所有M-LAG设备的系统优先级必须相同
  • 配置Keepalive,配置Keepalive链路接口为M-LAG保留接口
  • 配置peer-link接口,peer-link的聚合口工作在动态聚合模式
  • 关闭报文入接口与静态MAC地址表项匹配检查功能,避免跨peer-link链路三层转发的流量不通
    • 模拟器无法配置
    • undo mac-address static source-check enable
  • 开启M-LAG设备独立工作模式,当peer-link链路和Keepalive链路均发生故障时,该功能才会生效。需要保证M-LAG设备的LACP系统优先级大于连接M-LAG系统设备的LACP系统优先级,使参考端口位于连接M-LAG系统的设备上,避免连接M-LAG系统的设备的端口频繁震荡。(可选)
  • m-lag restore-delay 调整m-lag mad down的恢复时间(可选)
  • M-LAG系统中主从设备由于故障重启,仅一台M-LAG设备恢复启动后,缺省情况下,该设备处于None角色,所有M-LAG接口处于M-LAG DOWN状态。此时用户流量无法通过M-LAG接口转发。
    • m-lag auto-recovery reload-delay
    • 为了避免上述情况出现,可以配置本功能,在设备重启后启动自动恢复定时器。当自动恢复定时器超时后,该设备上M-LAG接口被置为非M-LAG DOWN状态,如果该设备上存在处于up状态的M-LAG接口,则该设备升级为主设备,用户流量可以正常转发;否则,设备保持None角色,用户流量无法转发。

M-lag2

SW3:

hostname SW3
#
m-lag system-mac 0000-0000-0034
m-lag system-number 1
m-lag system-priority 6
m-lag role priority 66
m-lag restore-delay 60
m-lag auto-recovery reload-delay 360
m-lag consistency-check disable
#
ip vpn-instance keepalive
 address-family ipv4
#
interface M-GigabitEthernet0/0/0
 ip binding vpn-instance keepalive
 ip address 10.1.34.3 255.255.255.0
#
m-lag keepalive ip destination 10.1.34.4 source 10.1.34.3 vpn-instance keepalive
#
m-lag mad exclude interface M-GigabitEthernet 0/0/0
#
interface Bridge-Aggregation10
 link-aggregation mode dynamic
#
int range Ten-GigabitEthernet 1/0/50 Ten-GigabitEthernet 1/0/51
 port link-aggregation group 10
#
interface Bridge-Aggregation10
 port m-lag peer-link 1
#

SW4:

hostname SW4
#
m-lag system-mac 0000-0000-0034
m-lag system-number 2
m-lag system-priority 6
m-lag restore-delay 60
m-lag auto-recovery reload-delay 360
m-lag consistency-check disable
#
ip vpn-instance keepalive
 address-family ipv4
#
interface M-GigabitEthernet0/0/0
 ip binding vpn-instance keepalive
 ip address 10.1.34.4 255.255.255.0
#
m-lag keepalive ip destination 10.1.34.3 source 10.1.34.4 vpn-instance keepalive
#
m-lag mad exclude interface M-GigabitEthernet 0/0/0
#
interface Bridge-Aggregation10
 link-aggregation mode dynamic
#
int range Ten-GigabitEthernet 1/0/50 Ten-GigabitEthernet 1/0/51
 port link-aggregation group 10
#
interface Bridge-Aggregation10
 port m-lag peer-link 1
#

查看M-lag是否成功组建

创建链路聚合组加入M-lag组

SW3/SW4:

interface Bridge-Aggregation100
 link-aggregation mode dynamic
#
int range GigabitEthernet 1/0/3 GigabitEthernet 1/0/4
 port link-aggregation group 100
#
interface Bridge-Aggregation100
 port m-lag group 100 
#
interface Bridge-Aggregation200
 link-aggregation mode dynamic
#
int range GigabitEthernet 1/0/1 GigabitEthernet 1/0/2
 port link-aggregation group 200
#
interface Bridge-Aggregation200
 port m-lag group 200 
#

查看m-lag聚合信息

M-lag1

SW1:

hostname SW1
#
m-lag system-mac 0000-0000-0012
m-lag system-number 1
m-lag system-priority 5
m-lag role priority 66
m-lag restore-delay 60
m-lag auto-recovery reload-delay 360
m-lag consistency-check disable
#
ip vpn-instance keepalive
 address-family ipv4
#
interface M-GigabitEthernet0/0/0
 ip binding vpn-instance keepalive
 ip address 10.1.12.1 255.255.255.252
#
m-lag keepalive ip destination 10.1.12.2 source 10.1.12.1 vpn-instance keepalive
#
m-lag mad exclude interface M-GigabitEthernet 0/0/0
#
interface Bridge-Aggregation10
 link-aggregation mode dynamic
#
int range Ten-GigabitEthernet 1/0/50 Ten-GigabitEthernet 1/0/51
 port link-aggregation group 10
#
interface Bridge-Aggregation10
 port m-lag peer-link 1
#

SW2:

hostname SW2
#
m-lag system-mac 0000-0000-0012
m-lag system-number 2
m-lag system-priority 5
m-lag role priority 66
m-lag restore-delay 60
m-lag auto-recovery reload-delay 360
m-lag consistency-check disable
#
ip vpn-instance keepalive
 address-family ipv4
#
interface M-GigabitEthernet0/0/0
 ip binding vpn-instance keepalive
 ip address 10.1.12.2 255.255.255.252
#
m-lag keepalive ip destination 10.1.12.1 source 10.1.12.2 vpn-instance keepalive
#
m-lag mad exclude interface M-GigabitEthernet 0/0/0
#
interface Bridge-Aggregation10
 link-aggregation mode dynamic
#
int range Ten-GigabitEthernet 1/0/50 Ten-GigabitEthernet 1/0/51
 port link-aggregation group 10
#
interface Bridge-Aggregation10
 port m-lag peer-link 1
#

查看M-lag系统

创建聚合链路并加入M-lag组

SW1/SW2/SW3/SW4:

interface Bridge-Aggregation200
 link-aggregation mode dynamic
#
int range GigabitEthernet 1/0/1 GigabitEthernet 1/0/2
 port link-aggregation group 200
#
interface Bridge-Aggregation200
 port m-lag group 200
#

查看M-lag组

防火墙双机热备主备模式

  • 创建安全域,配置接口并加入安全域,keepalive链路加入dmz区域
  • 配置设备管理角色,FW为主,FW为备
  • 配置RBM组,缺省为主备模式,已开启HA热备
    • undo backup-mode,缺省为主备模式
    • hot-backup enable,已开启HA热备
    • configuration auto-sync enable,配置信息自动备份功能处于开启状态。
    • configuration manual-sync-check,手工触发配置信息一致性检查
    • configuration manual-sync,将主管理设备上的配置信息手工批量备份到从管理设备。仅在主管理设备上执行才有效。
    • 配置RBM数据通道
    • 开启HA流量回切(可选),模拟器故障恢复后不会回切流量
      • delay-time delay-time

FW7:

hostname FW7
#
interface GigabitEthernet1/0/5
 port link-mode route
 combo enable copper
 ip address 10.1.78.7 255.255.255.0
#
security-zone name DMZ
 import interface GigabitEthernet1/0/5
#
remote-backup group
 local-ip 10.1.78.7
 remote-ip 10.1.78.8
 device-role primary
 data-channel interface GigabitEthernet1/0/5
#

FW8:

hostname FW8
#
interface GigabitEthernet1/0/5
 port link-mode route
 combo enable copper
 ip address 10.1.78.8 255.255.255.0
#
security-zone name DMZ
 import interface GigabitEthernet1/0/5
#
remote-backup group
 local-ip 10.1.78.8
 remote-ip 10.1.78.7
 device-role secondary
 data-channel interface GigabitEthernet1/0/5
#

查看双机热备

FW7和FW8创建链路聚合与SW1和SW2的M-lag对接

FW7/FW8:

int Bridge-Aggregation 20
 link-aggregation mode dynamic
#
int range g1/0/1 g1/0/2
 port link-mode bridge
 combo enable copper
 port link-aggregation group 20
#

SW1/SW2:

interface Bridge-Aggregation127
 link-aggregation mode dynamic
#
interface GigabitEthernet1/0/3
 port link-mode bridge
 combo enable fiber
 port link-aggregation group 127
#
interface Bridge-Aggregation127
 port m-lag group 127
#
interface Bridge-Aggregation128
 link-aggregation mode dynamic
#
interface GigabitEthernet1/0/4
 port link-mode bridge
 combo enable fiber
 port link-aggregation group 128
#
interface Bridge-Aggregation128
 port m-lag group 128
#

查看M-lag聚合组

FW上链路聚合状态

设备互联VLAN规划

下表所有接口绑定VPN-insatance vsys-1

设备

接口

IP地址

对接设备及接口

SW3/SW4

Vlan-int 66

10.1.66.254/24

PC网关

Vlan-int 1234

10.1.120.254/24

SW1/SW2:VLan-int 1234

SW1/SW2

Vlan-int 1234

10.1.120.253/24

SW3/SW4:VLan-int 1234

Vlan-int 127

10.1.127.253/24

FW7:Vlan-int 127

Vlan-int 128

10.1.128.253/24

FW8:Vlan-int 128

FW7

Vlan-int 127

10.1.127.7/24

SW1/SW2:VLan-int 127

FW8

Vlan-int 128

10.1.128.8/24

SW1/SW2:VLan-int 128

下表接口均在实例Public中

设备

接口

IP地址

对接设备及接口

SW1/SW2

Vlan-int 1000

10.1.100.253/24

R11:三层聚合子接口

Vlan-int 1278

10.1.178.253/24

FW7/FW8:Vlan-int 1278

FW7

Vlan-int 1278

10.1.178.7/24

SW1/SW2:Vlan-int 1278

FW8

Vlan-int 1278

10.1.178.8/24

SW1/SW2:Vlan-int 1278

R11

三层聚合子接口

10.1.100.11/24

SW1/SW2:Vlan-int 1000

配置防火墙虚墙vSystem

  • 创建vSystem
  • 为vSystem分配接口和VLAN资源,此实验为vsystem分配vlan
  • 限制vSystem的资源使用(可选)
    • 限制vSystem安全策略规则总数
      • capability security-policy-rule maximum max-number
    • 限制vSystem会话新建速率
      • capability session rate threshold threshold-value
    • 限制vSystem会话并发数
      • capability session maximum max-number,设置vSystem的会话并发数限制。
      • capability session maximum threshold threshold-value,设置vSystem的单播会话并发数上限使用率告警阈值。
    • 限制vSystem入方向吞吐量
      • capability throughput { kbps | pps } threshold,设置vSystem的吞吐量限制。
      • vsys-capability throughput alarm enable alarm-threshold alarm-threshold,vSystem入方向吞吐量告警功能并设置告警阈值
      • vsys-capability throughput drop-logging enable,vSystem入方向吞吐量限速丢包日志功能。

FW7上配置vsystem,配置会同步给FW8:

vlan 127 to 128
#
vsys vsys-1 
 description vsys-1
 allocate vlan 127
 allocate vlan 128
#

查看虚墙

防火墙安全区域规划

配置OSPF

配置M-lag之间的OSPF

m-lag配置虚拟地址运行OSPF

SW3:

ip vpn-instance vsys-1
 address-family ipv4
#
vlan 66
vlan 1234
#
ospf 1 router-id 3.3.3.3 vpn-instance vsys-1
 silent-interface Vlan-interface66
 area 0.0.0.0
#
interface Vlan-interface66
 ip binding vpn-instance vsys-1
 ip address 10.1.66.254 255.255.255.0
 ospf 1 area 0.0.0.0
 mac-address 0000-0000-0066
#
interface Vlan-interface1234
 ip binding vpn-instance vsys-1
 ip address 10.1.120.254 255.255.255.0
 ospf 1 area 0.0.0.0
 ospf peer sub-address enable 10.1.120.3
 port m-lag virtual-ip 10.1.120.3 255.255.255.0 active
 mac-address 0000-0034-1234
#
interface Bridge-Aggregation100
 port link-type trunk
 undo port trunk permit vlan 1
 port trunk permit vlan 66
 link-aggregation mode dynamic
 port m-lag group 100
#
interface Bridge-Aggregation200
 port link-type trunk
 undo port trunk permit vlan 1
 port trunk permit vlan 1234
 link-aggregation mode dynamic
 port m-lag group 200
#
m-lag mad exclude interface Vlan-interface 66
m-lag mad exclude interface Vlan-interface 1234
#

SW4:

ip vpn-instance vsys-1
 address-family ipv4
#
vlan 66
vlan 1234
#
ospf 1 router-id 4.4.4.4 vpn-instance vsys-1
 silent-interface Vlan-interface66
 area 0.0.0.0
#
interface Vlan-interface66
 ip binding vpn-instance vsys-1
 ip address 10.1.66.254 255.255.255.0
 ospf 1 area 0.0.0.0
 mac-address 0000-0000-0066
#
interface Vlan-interface1234
 ip binding vpn-instance vsys-1
 ip address 10.1.120.254 255.255.255.0
 ospf 1 area 0.0.0.0
 ospf peer sub-address enable 10.1.120.4
 port m-lag virtual-ip 10.1.120.4 255.255.255.0 active
 mac-address 0000-0034-1234
#
interface Bridge-Aggregation100
 port link-type trunk
 undo port trunk permit vlan 1
 port trunk permit vlan 66
 link-aggregation mode dynamic
 port m-lag group 100
#
interface Bridge-Aggregation200
 port link-type trunk
 undo port trunk permit vlan 1
 port trunk permit vlan 1234
 link-aggregation mode dynamic
 port m-lag group 200
#
m-lag mad exclude interface Vlan-interface 66
m-lag mad exclude interface Vlan-interface 1234
#

SW1:

ip vpn-instance vsys-1
 address-family ipv4
#
vlan 1234
#
ospf 1 router-id 1.1.1.1 vpn-instance vsys-1
 area 0.0.0.0
#
interface Vlan-interface1234
 ip binding vpn-instance vsys-1
 ip address 10.1.120.253 255.255.255.0
 ospf 1 area 0.0.0.0
 ospf peer sub-address enable 10.1.120.1
 port m-lag virtual-ip 10.1.120.1 255.255.255.0 active
 mac-address 0000-0012-1234
#
interface Bridge-Aggregation200
 port link-type trunk
 undo port trunk permit vlan 1
 port trunk permit vlan 1234
 link-aggregation mode dynamic
 port m-lag group 200
#
m-lag mad exclude interface Vlan-interface 1234
#

SW2:

ip vpn-instance vsys-1
 address-family ipv4
#
vlan 1234
#
ospf 1 router-id 2.2.2.2 vpn-instance vsys-1
 area 0.0.0.0
#
interface Vlan-interface1234
 ip binding vpn-instance vsys-1
 ip address 10.1.120.253 255.255.255.0
 ospf 1 area 0.0.0.0
 ospf peer sub-address enable 10.1.120.2
 port m-lag virtual-ip 10.1.120.2 255.255.255.0 active
 mac-address 0000-0012-1234
#
interface Bridge-Aggregation200
 port link-type trunk
 undo port trunk permit vlan 1
 port trunk permit vlan 1234
 link-aggregation mode dynamic
 port m-lag group 200
#
m-lag mad exclude interface Vlan-interface 1234
#

查看OSPF邻居

配置M-lag1与FW的OSPF

m-lag配置虚拟地址运行SOPF

SW1:

vlan 127 to 128
#
interface Vlan-interface127
ip binding vpn-instance vsys-1
 ip address 10.1.127.253 255.255.255.0
 ospf 1 area 0.0.0.0
 ospf peer sub-address enable 10.1.127.1
 port m-lag virtual-ip 10.1.127.1 255.255.255.0 active
 mac-address 0000-0012-0127
#
interface Bridge-Aggregation127
 port link-type trunk
 undo port trunk permit vlan 1
 port trunk permit vlan 127
 link-aggregation mode dynamic
 port m-lag group 127
#
interface Vlan-interface128
ip binding vpn-instance vsys-1
 ip address 10.1.128.253 255.255.255.0
 ospf 1 area 0.0.0.0
 ospf peer sub-address enable 10.1.128.1
 port m-lag virtual-ip 10.1.128.1 255.255.255.0 active
 mac-address 0000-0012-0128
#
interface Bridge-Aggregation128
 port link-type trunk
 undo port trunk permit vlan 1
 port trunk permit vlan 128
 link-aggregation mode dynamic
 port m-lag group 128
#

SW2:

vlan 127 to 128
#
interface Vlan-interface127
ip binding vpn-instance vsys-1
 ip address 10.1.127.253 255.255.255.0
 ospf 1 area 0.0.0.0
 ospf peer sub-address enable 10.1.127.2
 port m-lag virtual-ip 10.1.127.2 255.255.255.0 active
 mac-address 0000-0012-0127
#
interface Bridge-Aggregation127
 port link-type trunk
 undo port trunk permit vlan 1
 port trunk permit vlan 127
 link-aggregation mode dynamic
 port m-lag group 127
#
interface Vlan-interface128
ip binding vpn-instance vsys-1
 ip address 10.1.128.253 255.255.255.0
 ospf 1 area 0.0.0.0
 ospf peer sub-address enable 10.1.128.2
 port m-lag virtual-ip 10.1.128.2 255.255.255.0 active
 mac-address 0000-0012-0128
#
interface Bridge-Aggregation128
 port link-type trunk
 undo port trunk permit vlan 1
 port trunk permit vlan 128
 link-aggregation mode dynamic
 port m-lag group 128
#

FW7:

vlan 127 to 128
#
interface Vlan-interface127
 ip address 10.1.127.7 255.255.255.0
#
interface Vlan-interface128
#
interface Bridge-Aggregation20
 port link-type trunk
 undo port trunk permit vlan 1
 port trunk permit vlan 127
#
switchto vsys vsys-1
sy
#
ospf 1 router-id 7.7.7.7
 area 0.0.0.0
#
interface Vlan-interface127
 ospf 1 area 0.0.0.0
#
security-zone name Trust
 import interface Vlan-interface 127
 import interface Vlan-interface 128
#
security-zone name untrust
 import interface vSys-interface2
#
security-policy ip
 rule 0 name ospf_in
  action pass
  logging enable
  counting enable
  source-zone trust
  destination-zone local
  service ospf
 rule 1 name ospf_out
  action pass
  logging enable
  counting enable
  source-zone local
  destination-zone trust
  service ospf
#

FW8:

interface Vlan-interface128
 ip address 10.1.128.8 255.255.255.0
#
interface Bridge-Aggregation20
 port link-type trunk
 undo port trunk permit vlan 1
 port trunk permit vlan 128
#
switchto vsys vsys-1
sy
#
ospf 1 router-id 8.8.8.8
 area 0.0.0.0
#
interface Vlan-interface128
 ospf 1 area 0.0.0.0
#

查看ospf邻居

SW1和SW2与FW的OSPF邻居状态为Init

FW上看不到与SW1,SW2的邻居状态

嗯?难道是模拟器bug,但是印象中第一次配置的时候这里并未出现问题,是可以建立ospf邻居的,于是开始排查原因。

首先,看一下安全策略的统计信息

可以看到,这里只有从FW发出去的OSPF报文,没有进来的OSPF报文。

然后在SW1和FW7上开启OSPF报文的debug

SW1/FW7:

<SW1>terminal monitor
<SW1>terminal debugging
<SW1>debugging ospf 1 packet

等待一段时间后

undo debugging all

查看debug结果

首先看FW7上,只有发出去的ospf hello报文,并未收到任何ospf报文

再来看SW1上,可以收到FW7发来的OSPF hello报文,而且在发送出去的hello中neighbor字段中也有7.7.7.7

从debug结果来看,确实符合上面ospf邻居建立不成功的现象,FW7收不到任何ospf报文,所以OSPF的进程中查看步到任何邻居的信息;而SW1上可以收到FW7发送的hello报文,但是由于neighbor字段没有自己的Router-ID,所以无法进入到2-way状态,停留在init状态。

这里排查了很久,始终没有解决,但是之前配置明明可以成功啊,算了,索性save保存配置,关闭软件,休息~

后来的某一天,当我再次打开实验,启动设备,敲下dis ospf peer后,full了,居然成功的建立了邻居!!!

说句题外话,有时候,遇到解决不了的问题,不如先放一放,休息一下再去处理,说不定问题就迎刃而解了呢。

下面继续实验...

防火墙的备份组中配置OSPF的cost值,并下放默认路由。

FW7/FW8:

remote-backup group
 adjust-cost ospf enable absolute 6000
#
switchto vsys vsys-1
sy
#
ospf 1
 default-route-advertise always
#

FW上查看OSPF路由,可以看到PC网段66的路由

SW1和SW2上可以看到默认路由,下一跳为FW7

查看OSPF的LSDB,FW8下发的默认路由中cost为配置的6000,所以优选FW7的默认路由

出口配置(可以访问R11环回口)及接口划分VLAN

SW1/SW2与R11对接

R11:

配置环回口测试使用

创建3层聚合子接口

手工配置静态回程路由

 sysname R11
#
interface Route-Aggregation1000
 link-aggregation mode dynamic
#
interface GigabitEthernet0/0/1
 port link-mode route
 combo enable copper
 port link-aggregation group 1000
#
interface GigabitEthernet0/0/2
 port link-mode route
 combo enable copper
 port link-aggregation group 1000
#
interface Route-Aggregation1000.1
 ip address 10.1.100.11 255.255.255.0
 vlan-type dot1q vid 1000
#
interface LoopBack0
 ip address 66.6.6.6 255.255.255.255
#
 ip route-static 10.1.66.0 24 10.1.100.253
#

SW1/SW2:

配置m-lag聚合接口对接R11

vlan 1000
#
interface Vlan-interface1000
 ip address 10.1.100.253 255.255.255.0
 mac-address 0000-0000-1000
#
interface Bridge-Aggregation1000
 port link-type trunk
 undo port trunk permit vlan 1
 port trunk permit vlan 1000
 link-aggregation mode dynamic
#
interface GigabitEthernet1/0/9
 port link-aggregation group 1000 force
#
interface Bridge-Aggregation1000
 port m-lag group 1000
#
ip route-static 0.0.0.0 0 10.1.100.11
#

查看m-lag情况

配置静态路由联动BFD

配置bfd单臂回声,使用子地址作为bfd探测的目的地址

SW1:

interface Vlan-interface1000
 ip address 10.1.100.101 255.255.255.0 sub
#
bfd static to_r11 peer-ip 10.1.100.11 destination-ip 10.1.100.101 one-arm-echo discriminator auto
#
track 1 bfd static to_r11
#
ip route-static 0.0.0.0 0 10.1.100.11 track 1
#

SW2:

interface Vlan-interface1000
 ip address 10.1.100.102 255.255.255.0 sub
#
bfd static to_r11 peer-ip 10.1.100.11 destination-ip 10.1.100.102 one-arm-echo discriminator auto
#
track 1 bfd static to_r11
#
ip route-static 0.0.0.0 0 10.1.100.11 track 1
#

查看bfd状态

查看路由

SW1/SW2与FW7/FW8对接

SW1/SW2:

配置回程浮动路由,并track 上行链路接口,此处不做track是无法切换路径的

配置浮动路由的目的,保证来回路径一致,回程流量还通过FW7主设备回去

vlan 1278
#
interface Vlan-interface1278
 ip address 10.1.178.253 255.255.255.0
 mac-address 0000-0000-1278
#
track 2 interface Bridge-Aggregation127
#
ip route-static 10.1.66.0 24 10.1.178.7 track 2
ip route-static 10.1.66.0 24 10.1.178.8 preference 66
#
interface Bridge-Aggregation127
 port trunk permit vlan 1278
#
interface Bridge-Aggregation128
 port trunk permit vlan 1278
# 

FW7:

将vlan-int1278加入untrust安全区域

虚墙中配置访问R11的静态路由到public

public中配置静态路由,下一跳为SW1/SW2的双活网关

public中配置回程路由到虚墙中

配置安全策略

vlan 1278
#
interface Vlan-interface1278
 ip address 10.1.178.7 255.255.255.0
#
security-zone name Untrust
 import interface Vlan-interface1278
#
security-zone name Trust
 import interface vSys-interface1
#
ip route-static 0.0.0.0 0 10.1.178.253
ip route-static 10.1.66.0 24 vpn-instance vsys-1
#
switchto vsys vsys-1
sy
#
ip route-static 0.0.0.0 0 public
#
interface Bridge-Aggregation20
 port trunk permit vlan 1278
#

FW8:

interface Vlan-interface1278
 ip address 10.1.178.8 255.255.255.0
#
ip route-static 0.0.0.0 0 10.1.178.253
ip route-static 10.1.66.0 24 vpn-instance vsys-1
#
switchto vsys vsys-1
sy
#
ip route-static 0.0.0.0 0 public
#
interface Bridge-Aggregation20
 port trunk permit vlan 1278
#

按照下图配置安全策略

FW7:

安全策略会同步到FW8

security-policy ip
 rule name trust->untrust
  logging enable
  counting enable
  action pass
  source-zone trust
  destination-zone untrust
#
switchto vsys vsys-1
sy
#
security-policy ip
 rule name trust->untrust
  logging enable
  counting enable
  action pass
  source-zone trust
  destination-zone untrust
#

查看路由

接口vlan划分

SW5:

vlan 66
#
interface Bridge-Aggregation100
 port link-type trunk
 undo port trunk permit vlan 1
 port trunk permit vlan 66
#
int range GigabitEthernet 1/0/3 GigabitEthernet 2/0/3
 port access vlan 66
#

为了方便测试,设备开启icmp超时与不可达响应

ip ttl-expires enable
ip unreachables enable
#

测试

PC访问R11的环回口

查看路径

模拟线路故障

PC上ping -c 100000 66.6.6.6

SW1/SW2与R11链路故障

此处以断开SW1与R11的连线为例

pc无丢包

恢复连线,会丢一个包

模拟SW1/SW2与FW的链路故障

此处以断开SW1与FW7的链路为例

pc无丢包

访问路径依旧经过FW7

再将SW2与FW7的链路断开

pc无丢包

路径切换为经过FW8

SW1/SW2的路由

恢复SW1/SW2与FW7的链路

流量出现大量丢包后恢复

此处丢包原因分析:

SW1/SW2与FW7的链路恢复后,回程流量到达SW1或SW2后,10.1.66.0/24的路由下一跳已由FW8切换回FW7,而FW7上虚墙中由于OSPF还没有完成收敛,并没有10.1.66.0/24的路由,造成流量丢弃,直到OSPF完成收敛,流量恢复。

链路恢复后SW1的回程路由

此时FW7虚墙中的OSPF还未收敛完成,无66网段路由

解决:

配置track延迟切换到positive状态,延迟时间大于OSPF收敛时间,即FW7上虚墙的OSPF收敛完成,SW1/SW2的10.1.66.0/24的路由下一跳才为FW7。

SW1/SW2:

track 2 
 delay positive 30
#

Track模块通过Track项与监测模块建立关联。Track项定义了Positive、Negative和NotReady三种状态。监测模块负责对接口状态、链路状态等进行监测,并将监测结果通知给Track模块;Track模块根据监测结果改变Track项的状态。

  • 如果监测结果为监测对象工作正常(如接口处于up状态、网络可达),则对应Track项的状态为Positive。
  • 如果监测结果为监测对象出现异常(如接口处于down状态、网络不可达),则对应Track项的状态为Negative。
  • 如果监测结果无效(如NQA作为监测模块时,与Track项关联的NQA测试组不存在),则对应Track项的状态为NotReady。

再次测试,断开SW1/SW2与FW7的链路,再将链路恢复

链路恢复后,SW1/SW2关于10.1.66.0/24的路由下一跳依旧为FW8,延迟30秒后,切换为FW7,此时FW7上的OSPF已收敛完成,降低丢包率。

SW1/SW2上下一跳依旧为FW8

30秒后,SW1/SW2切换下一跳为FW7,此时FW7的OSPF已收敛完成

此时,PC丢一个包

模拟m-lag1与m-lag2间的链路故障

删除任意连线测试

PC未丢包

恢复链路

模拟m-lag2与IRF间的链路故障

删除任意链路

PC未丢包

恢复链路,丢一个包

模拟peer-link故障

删除peer-link连线

pc未丢包

m-lag备设备接口被置为

恢复peer-link链路

pc丢一个包

m-lag备设备经过恢复延时后,接口UP

模拟堆叠链路故障

删除堆叠线

pc未丢包

堆叠备设备接口down

单归接入备设备的pc流量会中断,如pc10

恢复堆叠链路

堆叠备设备重启加入堆叠

此处备设备一直无法完成重启,可能是电脑资源跑满的问题导致的。

关闭m-lag1及FW,IRF链路恢复后,备设备重启后可以加入堆叠。

模拟设备故障

模拟FW7故障

将FW7关机

此处PC出现较多丢包

可以看到SW1上与FW7连接的接口依旧UP

经过一些延迟后,接口变为DOWN,PC流量恢复

模拟器接口DOWN有较大延迟。

将FW7恢复

发现PC的流量中断了

查看路由,去程流量经过FW8,此处流量不会回切到FW7,即使配置了流量回切delay-time也不发生回切。

查看路由,SW1回程路由切换到FW7

查看FW双机热备的状态

FW7管理角色恢复为主,运行角色依旧为备设备,默认流量不回切,此处配置了delay-time 1依旧不能回切。

FW8上管理角色变更为备,运行角色依旧为主设备

HA的主、从管理状态由配置指定,不会动态切换;HA的主、备运行状态由HA选举决定,可动态切换

再看FW上的会话表

FW8上有icmp的会话表

FW7上没有同步该会话表

可见导致丢包的原因为FW7上没有从主设备FW8上同步会话表。

模拟m-lag组中设备故障

将SW1/SW4关机

和上面情况类似,设备关闭后,对端设备接口依旧为UP(延迟DOWN),大量丢包,当接口DOWN后,流量恢复

模拟堆叠设备故障

由于PC单归接入,无法测试

补充

配置VRRP

模拟FW7故障中FW7恢复后流量会中断,此处稍作修改。

  • 将FW7/FW8的vlan-int1278接口配置VRRP虚拟地址
  • SW1/SW2回程流量的下一跳地址改为VRRP的虚拟地址

设备

接口

IP地址

对接设备及接口

FW7

Vlan-int 1278

10.1.178.7/24

SW1/SW2:Vlan-int 1278

FW8

Vlan-int 1278

10.1.178.8/24

SW1/SW2:Vlan-int 1278

FW7/FW8

VRRP VIP

10.1.178.78/24

FW7:

interface Vlan-interface1278
 vrrp vrid 78 virtual-ip 10.1.178.78 active
#

FW8:

interface Vlan-interface1278
 vrrp vrid 78 virtual-ip 10.1.178.78 standby
#

查看VRRP状态

SW1/SW2:

undo ip route-static 10.1.66.0 24
#
ip route-static 10.1.66.0 24 10.1.178.78
#

测试

重启FW设备,使FW7为主,FW8为备

或FW上执行如下命令,手动切换:

remote-backup group
 switchover request
 #

SW1/SW2上去往10.1.178.78通过BAGG127

模拟链路故障

PC无丢包

查看路由表

回程通过FW8

VRRP状态

双机热备状态

PC走FW8

恢复链路

PC无丢包

VRRP状态,依旧FW8为主

双机热备状态,FW8依旧为主

模拟设备故障

将主设备FW8关机

PC丢包后,恢复流量

查看路由

SW1上默认路由下一跳变为FW7

回程路由变为走FW7

VRRP状态

双机热备状态

 

PC流量走FW7

本文章已经生成可运行项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值