Tóm tắt: Hai router chia sẻ một virtual IP (VIP) và virtual MAC 00:00:5e:00:01:<vrid>. Router priority cao nhất là master (gửi advertisement tới 224.0.0.18, IP protocol 112), router còn lại là backup. Host trỏ default gateway về VIP. Dùng track để hạ priority khi uplink hỏng, nếu không master vẫn giữ vai trò dù đã mất đường ra ngoài. HSRP là giao thức độc quyền của Cisco, cùng ý tưởng nhưng khác cú pháp (xem cuối trang).
Topo ví dụ: subnet 192.0.2.0/24, VIP 192.0.2.1, R1 (IOS XR, 192.0.2.2, priority 120) và R2 (Junos, 192.0.2.3, priority 100), VRID 10.
Luồng hoạt động
flowchart LR H["Host gateway 192.0.2.1"] --> V{"VIP 192.0.2.1"} V -->|"priority 120"| R1["R1 master"] V -->|"priority 100"| R2["R2 backup"] R1 -->|"Advertisement 224.0.0.18"| R2 R1 -. "uplink down: track giảm priority" .-> R2
Khi R1 mất uplink, priority của R1 giảm dưới R2, hoặc R2 không nhận advertisement trong master-down-interval (khoảng 3 x advertisement interval + skew) thì R2 lên master.
Cấu hình
IOS XR
interface HundredGigE0/0/0/1
ipv4 address 192.0.2.2 255.255.255.0
!
router vrrp
interface HundredGigE0/0/0/1
address-family ipv4
vrrp 10
address 192.0.2.1
priority 120
preempt delay 60
track interface HundredGigE0/0/0/0 30
!
!
!
!track interface <if> <số>: nếu interface down thì priority bị trừ <số> (120 - 30 = 90, thấp hơn backup 100).
Junos
set interfaces ge-0/0/1 unit 0 family inet address 192.0.2.3/24 vrrp-group 10 virtual-address 192.0.2.1
set interfaces ge-0/0/1 unit 0 family inet address 192.0.2.3/24 vrrp-group 10 priority 100
set interfaces ge-0/0/1 unit 0 family inet address 192.0.2.3/24 vrrp-group 10 accept-data
set interfaces ge-0/0/1 unit 0 family inet address 192.0.2.3/24 vrrp-group 10 track interface xe-0/0/0 priority-cost 30- Junos mặc định preempt bật (dùng
no-preemptđể tắt,preempt hold-time <giây>để trì hoãn). accept-datacho phép VIP trả lời ping/traffic gửi tới VIP khi đang là master (mặc định Junos bỏ qua).track route <prefix> routing-instance <ri> priority-cost <n>theo dõi route thay cho interface.
Advertisement mặc định 1 giây nên failover khoảng 3 giây. Muốn nhanh hơn thì chạy BFD hoặc giảm interval (Junos: fast-interval <ms>), nhưng hai đầu phải khớp và phải test CPU load trước khi áp rộng.
Hai đầu phải cùng VRID, cùng VIP và cùng version VRRP (v2 hay v3) trên interface. Chỉ ghép Junos với IOS XR sau khi đã thử trong lab, vì giá trị mặc định khác nhau giữa các phiên bản.
Kiểm tra
| Mục đích | IOS XR | Junos |
|---|---|---|
| Tóm tắt trạng thái | show vrrp brief |
show vrrp summary |
| Chi tiết master, timer, track | show vrrp detail |
show vrrp detail |
| Trạng thái track | show vrrp detail (mục track) |
show vrrp track |
Từ host: ping 192.0.2.1 rồi arp -n 192.0.2.1 (Linux) phải ra MAC 00:00:5e:00:01:0a (VRID 10 = 0x0a).
So sánh nhanh với HSRP
| VRRP | HSRP (Cisco) | |
|---|---|---|
| Chuẩn | RFC 5798 (mở) | Độc quyền Cisco |
| Vai trò | master / backup | active / standby |
| Preempt mặc định | Có | Không, phải bật standby <n> preempt |
| Multicast | 224.0.0.18, IP proto 112 |
v1 224.0.0.2, v2 224.0.0.102, UDP 1985 |
| Virtual MAC | 00:00:5e:00:01:<vrid> |
v1 0000.0c07.acXX, v2 0000.0c9f.fXXX |
Cú pháp HSRP trên IOS / IOS-XE (không dùng cho IOS XR):
interface GigabitEthernet0/0/1
ip address 192.0.2.2 255.255.255.0
standby version 2
standby 10 ip 192.0.2.1
standby 10 priority 120
standby 10 preempt
standby 10 track 1 decrement 30Lỗi thường gặp
| Triệu chứng | Nguyên nhân | Cách xử lý |
|---|---|---|
| Cả hai router đều là master (split-brain) | Advertisement không qua được L2 (VLAN/trunk, ACL chặn proto 112, IGMP snooping) | Kiểm tra VLAN giữa hai router, cho phép 224.0.0.18, xem counter advertisement nhận |
| Master không đổi khi uplink hỏng | Chưa cấu hình track | Thêm track interface / track route với mức giảm đủ lớn |
| VIP không ping được dù là master | Junos thiếu accept-data |
Thêm accept-data |
| Flap qua lại khi uplink chập chờn | Preempt không có delay | preempt delay (XR) hoặc preempt hold-time (Junos) |
| Hai bên không thấy nhau | Khác VRID hoặc khác version VRRP | Đối chiếu show vrrp detail hai đầu |
Tham khảo
- RFC 5798 (VRRPv3)
- Tài liệu Cisco IOS XR "Implementing VRRP" và Juniper "Configuring VRRP" theo đúng phiên bản đang chạy
- Gần liên quan: BFD, LAG, MTU