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)
제대로된 해법인지는 모르겠다. 혹시, 더 좋은 방법을 아시는분 댓글 바랍니다.