nexus7k HSRP – DUP_VADDR_SRC_IP 로그.

HSRP – DUP_VADDR_SRC_IP

멀쩡히 잘 운영되던 nexus7k에서 아래와 같은 로그 메시지가 보였다.

2023 Feb 18 13:58:36 Backbone2 %ARP-3-DUP_VADDR_SRC_IP:  arp [8062]  Source address of packet received from 0000.0c07.ac08 
on Vlan32(Ethernet1/47) is duplicate of local virtual ip, 172.16.201.19

백본스위치에서 구성한 hsrp의 virtual IP가 중복되었다는 메시지로 hsrp 상태를 확인해 보니, hsrp를 실행중인 두 스위치가 모두 Active 상태이며 standby 노드를 인식하지 못하는 상태였다.

Backbone1# sh hsrp brief
*:IPv6 group   #:group belongs to a bundle
                     P indicates configured to preempt.
                     |
 Interface   Grp  Prio P State    Active addr      Standby addr     Group addr
  Vlan32      8    100  P Active   local            unknown          172.16.201.19  (conf)
Backbone2# sh hsrp brief
*:IPv6 group   #:group belongs to a bundle
                     P indicates configured to preempt.
                     |
 Interface   Grp  Prio P State    Active addr      Standby addr     Group addr
  Vlan32      8    90   P Active   local            unknown          172.16.201.19  (conf)
Backbone2# 

HSRP는 아래와 같이 설정되어 있다.

Backbone1# sh run int vlan 32

!Command: show running-config interface Vlan32
!Time: Tue Mar 14 10:23:17 2023

version 6.2(20)

interface Vlan32
  description FireWall_HSRP
  no shutdown
  ip address 172.16.201.20/28
  ip ospf priority 255
  ip router ospf 100 area 0.0.0.0
  hsrp 8 
    preempt 
    ip 172.16.201.19
Backbone2# sh run int vlan 32

!Command: show running-config interface Vlan32
!Time: Tue Mar 14 10:29:03 2023

version 6.2(20)

interface Vlan32
  description FireWall_HSRP
  no shutdown
  no ip redirects
  ip address 172.16.201.21/28
  ip router ospf 100 area 0.0.0.0
  hsrp 8  
    priority 90
    ip 172.16.201.19

이런 저런 확인을 하다가 spanning-tree를 보니, 아래 처럼 spanning tree에 의해서 백본 스위치간 inter link용으로 만든 포트채널이 block 된이 보였다.

Backbone1# show spanning-tree

VLAN0032
  Spanning tree enabled protocol rstp
  Root ID    Priority    32768
             Address     0010.f3a2.a675
             Cost        2
             Port        175 (Ethernet1/47)
             Hello Time  1  sec  Max Age 6  sec  Forward Delay 4  sec

  Bridge ID  Priority    32800  (priority 32768 sys-id-ext 32)
             Address     e4c7.2269.a5c2
             Hello Time  2  sec  Max Age 20 sec  Forward Delay 15 sec

Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Po1              Altn BLK 1         128.4096 P2p 
Eth1/47          Root FWD 2         128.175  P2p Peer(STP) 
Backbone2# show spanning-tree

VLAN0032
  Spanning tree enabled protocol rstp
  Root ID    Priority    32768
             Address     0010.f3a2.a675
             Cost        2
             Port        175 (Ethernet1/47)
             Hello Time  1  sec  Max Age 6  sec  Forward Delay 4  sec

  Bridge ID  Priority    32800  (priority 32768 sys-id-ext 32)
             Address     e4c7.2269.a242
             Hello Time  2  sec  Max Age 20 sec  Forward Delay 15 sec

Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Po1              Desg FWD 1         128.4096 P2p 
Eth1/47          Root FWD 2         128.175  P2p Peer(STP) 

block된 포트를 확인 해보면,

백본스위치 1에서는 block된 포트가 보인다. 백본 스위치2에서는 block된 포트가 없다.

Backbone1# sh spanning-tree blockedports 

Name                 Blocked Interfaces List
-------------------- ------------------------------------
VLAN0032             Po1


Number of blocked ports (segments) in the system : 1
Backbone2# show spanning-tree blockedports 


inter link용 포트 채널은 아래처럼 설정되어 있다. vPC는 사용하지 않는다.

Backbone1# show run int po1

!Command: show running-config interface port-channel1
!Time: Thu Mar 16 10:47:53 2023

version 6.2(20)

interface port-channel1
  description N7000#2
  switchport
  switchport mode trunk
Backbone2# show run int po1

!Command: show running-config interface port-channel1
!Time: Thu Mar 16 10:48:35 2023

version 6.2(20)

interface port-channel1
  description N7000#1
  switchport
  switchport mode trunk

포트채널쪽 spanning-tree를 이것 저것 조정해 보았으나 상태가 바뀌지 않아서, 결국에는 hsrp를 사용중인 vlan을 spanning-tree에서 제외해 버렸다.
이후, hsrp는 다시 정상 작동한다.

Backbone1(config)# no spanning-tree vlan 32
Backbone1(config)# end

Backbone1n# show hsrp brief
*:IPv6 group   #:group belongs to a bundle
                     P indicates configured to preempt.
                     |
 Interface   Grp  Prio P State    Active addr      Standby addr     Group addr
  Vlan32      8    110  P Active   local            172.16.201.21   172.16.201.19  (conf)
Backbone2# conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Backbone2(config)# no spanning-tree vlan 32
Backbone2(config)# end

Backbone2# show hsrp brief
*:IPv6 group   #:group belongs to a bundle
                     P indicates configured to preempt.
                     |
 Interface   Grp  Prio P State    Active addr      Standby addr     Group addr
  Vlan32      8    90     Standby  172.16.201.20   local            172.16.201.19  (conf)

제대로된 해법인지는 모르겠다. 혹시, 더 좋은 방법을 아시는분 댓글 바랍니다.

답글 남기기

Your email address will not be published.