پیاده سازی HSRP بر روی روتر های سیسکو

هر کامپیوتر و سرور در شبکه فقط یک Default Gateway دارد. اگر روتر یا سوئیچ لایه ۳ ای که آن گیت‌وی است از کار بیفتد، همه دستگاه‌های آن شبکه از بقیه دنیا جدا می‌شوند، حتی اگر روتر دوم سالم کنارش نشسته باشد. HSRP یا Hot Standby Router Protocol ، پروتکل سیسکو برای حل همین مشکل است: دو یا چند روتر یک IP و MAC مجازی مشترک می‌سازند، یکی فعال است و بقیه منتظر، و اگر فعال بیفتد، دیگری در چند ثانیه جایش را می‌گیرد؛ بدون اینکه تنظیمی روی کلاینت‌ها عوض شود.

در این مطلب HSRP را از مفهوم تا کانفیگ کامل مرور می‌کنیم: نقش‌ها و حالت‌ها، نسخه ۱ و ۲ ، Priority و Preempt ، Tracking برای وقتی که لینک WAN می‌افتد نه خود روتر، تقسیم بار با چند گروه، احراز هویت، دستورهای بررسی و مقایسه با VRRP و GLBP. توضیحات بر پایه راهنمای رسمی HSRP در Catalyst 9300 است و روی روترهای ISR و سوئیچ‌های لایه ۳ کاتالیست یکسان کار می‌کند.

طراحی HSRP با دو روتر سیسکو
دو روتر با HSRP یک IP و MAC مجازی مشترک به‌عنوان Default Gateway می‌سازند

HSRP در یک نگاه

هدف افزونگی Default Gateway با یک IP و MAC مجازی مشترک
نقش‌ها Active (پاسخ‌گو و فورواردر) ، Standby (پشتیبان اول) ، بقیه Listen
پیش‌فرض‌ها Priority 100 ، Hello هر ۳ ثانیه ، Hold ده ثانیه ، Preempt خاموش
HSRPv1 گروه 0 تا 255 ، multicast 224.0.0.2 ، MAC مجازی 0000.0c07.acXX
HSRPv2 گروه 0 تا 4095 ، multicast 224.0.0.102 ، MAC مجازی 0000.0c9f.fXXX ، پشتیبانی IPv6
استاندارد باز معادل VRRP (RFC 5798)

HSRP چطور کار می‌کند

روترهای یک گروه HSRP روی یک VLAN یا subnet ، هر کدام IP واقعی خودشان را دارند و علاوه بر آن یک IP مجازی مشترک تعریف می‌کنند. کلاینت‌ها همین IP مجازی را به‌عنوان Default Gateway دارند. روتری که Active است به ARP برای IP مجازی با MAC مجازی جواب می‌دهد و ترافیک را فوروارد می‌کند. روتر Standby با گوش دادن به Helloهای Active ، سلامت آن را زیر نظر دارد. اگر در زمان Hold (پیش‌فرض ۱۰ ثانیه) Hello نرسد، Standby فعال می‌شود و همان IP و MAC مجازی را برمی‌دارد؛ چون MAC عوض نشده، کلاینت‌ها حتی جدول ARP خود را به‌روز نمی‌کنند.

حالت معنی
Initial / Learn روتر تازه شروع کرده یا هنوز IP مجازی را نمی‌داند
Listen IP مجازی را می‌داند اما نه Active است نه Standby
Speak در حال شرکت در انتخاب Active و Standby
Standby پشتیبان اول؛ آماده گرفتن نقش Active
Active فوروارد ترافیک و پاسخ به ARP

انتخاب Active بر اساس Priority است (عدد بالاتر برنده است) و در تساوی، IP واقعی بالاتر برنده می‌شود.

کانفیگ پایه

فرض کنید سرورها در شبکه 192.168.10.0/24 هستند و Default Gateway آن‌ها 192.168.10.1 است. دو روتر (یا دو سوئیچ لایه ۳) به نام R1 و R2 را گیت‌وی مشترک می‌کنیم. توجه کنید IP مجازی و IP واقعی روترها باید در یک subnet باشند.

! ---------- R1 (Active) ----------
interface GigabitEthernet0/0/1
 description LAN - Servers
 ip address 192.168.10.2 255.255.255.0
 standby version 2
 standby 10 ip 192.168.10.1
 standby 10 priority 110
 standby 10 preempt delay minimum 60
 standby 10 authentication md5 key-string Hsrp-K3y
!
! ---------- R2 (Standby) ----------
interface GigabitEthernet0/0/1
 description LAN - Servers
 ip address 192.168.10.3 255.255.255.0
 standby version 2
 standby 10 ip 192.168.10.1
 standby 10 priority 100
 standby 10 preempt
 standby 10 authentication md5 key-string Hsrp-K3y

چند نکته که در کانفیگ‌های اشتباه زیاد می‌بینیم:

  • شماره گروه باید روی همه روترها یکی باشد. اگر روی یک روتر standby 10 و روی دیگری standby بدون شماره (یعنی گروه 0) بزنید، دو گروه جدا ساخته‌اید و هر دو خود را Active می‌دانند.
  • نسخه (standby version) و احراز هویت روی همه اعضا یکسان باشد.
  • Preempt به‌طور پیش‌فرض خاموش است. بدون آن، وقتی R1 بعد از خرابی برمی‌گردد، نقش Active را پس نمی‌گیرد.
  • preempt delay minimum 60 باعث می‌شود R1 بعد از بوت، ۶۰ ثانیه صبر کند تا مسیریابی‌اش کامل شود و بعد Active شود؛ وگرنه ترافیک را به روتری می‌دهد که هنوز جدول مسیر ندارد.

تایمرها و همگرایی سریع‌تر

با تایمرهای پیش‌فرض (Hello سه ثانیه، Hold ده ثانیه)، جابه‌جایی تا ۱۰ ثانیه طول می‌کشد. برای سرویس‌های حساس می‌توانید تایمرها را کوتاه کنید؛ حتی به میلی‌ثانیه:

standby 10 timers msec 250 msec 800

تایمر کوتاه یعنی بار بیشتر روی CPU و احتمال جابه‌جایی کاذب در شبکه شلوغ. برای بیشتر شبکه‌ها standby 10 timers 1 3 تعادل خوبی است. اگر Hold را خیلی کوتاه کردید، BFD را هم در نظر بگیرید.

Tracking : وقتی لینک اینترنت می‌افتد نه خود روتر

سناریوی رایج: R1 سالم است و Active می‌ماند، اما لینک WAN آن قطع شده. کلاینت‌ها همچنان ترافیک را به R1 می‌دهند و R1 آن را جایی نمی‌تواند بفرستد. راه‌حل Object Tracking است: وضعیت لینک WAN یا دسترسی به یک IP را زیر نظر می‌گیریم و اگر افتاد، Priority روتر را کم می‌کنیم تا R2 (که preempt دارد) Active شود.

! track the WAN interface line-protocol
track 1 interface GigabitEthernet0/0/0 line-protocol
!
! or better: track reachability to the ISP gateway with IP SLA
ip sla 10
 icmp-echo 203.0.113.1 source-interface GigabitEthernet0/0/0
 frequency 5
ip sla schedule 10 life forever start-time now
track 2 ip sla 10 reachability
!
interface GigabitEthernet0/0/1
 standby 10 track 2 decrement 20

با افت track ، Priority روتر R1 از 110 به 90 می‌رسد و چون R2 با Priority 100 و preempt منتظر است، Active می‌شود. IP SLA بهتر از ردیابی اینترفیس است، چون قطعی‌هایی را هم که لینک up می‌ماند اما مسیر کار نمی‌کند، تشخیص می‌دهد؛ جزئیات را در مطلب سیسکو IP SLA چیست ببینید.

تقسیم بار با چند گروه

در HSRP فقط روتر Active ترافیک را جابه‌جا می‌کند و Standby بیکار است. برای استفاده از هر دو روتر، دو گروه می‌سازیم: R1 برای گروه ۱۰ و R2 برای گروه ۲۰ Active است، و نیمی از کلاینت‌ها (یا یک VLAN) گیت‌وی اول و نیمی دیگر گیت‌وی دوم را می‌گیرند.

! R1
interface Vlan10
 ip address 192.168.10.2 255.255.255.0
 standby 10 ip 192.168.10.1
 standby 10 priority 110
 standby 10 preempt
interface Vlan20
 ip address 192.168.20.2 255.255.255.0
 standby 20 ip 192.168.20.1
 standby 20 priority 90
 standby 20 preempt
!
! R2 : priorities reversed (90 for group 10 , 110 for group 20)

در طراحی کلاسیک پردیس، بهتر است Active هر VLAN همان سوئیچی باشد که Root Bridge آن VLAN در STP است تا ترافیک مسیر اضافه نرود. اگر تقسیم بار خودکار می‌خواهید، نگاهی به GLBP بیندازید.

بررسی و عیب‌یابی

R1# show standby brief
                     P indicates configured to preempt.
                     |
Interface   Grp  Pri P State   Active          Standby         Virtual IP
Gi0/0/1     10   110 P Active  local           192.168.10.3    192.168.10.1
R1# show standby GigabitEthernet0/0/1 10
R1# debug standby events
علامت علت محتمل
هر دو روتر Active هستند Hello به هم نمی‌رسد: VLAN یا پورت اشتباه، ACL ، شماره گروه یا نسخه متفاوت، احراز هویت ناهمسان
Standby هرگز Active نمی‌شود روتر اصلی واقعاً سالم است؛ یا Tracking تعریف نشده است
روتر اصلی بعد از برگشت Active نمی‌شود preempt روی آن فعال نیست
قطعی کوتاه بعد از برگشت روتر اصلی preempt بدون delay ؛ روتر پیش از کامل شدن مسیریابی Active شده

HSRP ، VRRP یا GLBP؟

ویژگی HSRP VRRP GLBP
استاندارد اختصاصی سیسکو باز (RFC 5798) اختصاصی سیسکو
نقش‌ها Active و Standby Master و Backup AVG و تا ۴ AVF
تقسیم بار با چند گروه، دستی با چند گروه، دستی خودکار در یک گروه
Preempt پیش‌فرض خاموش روشن AVG خاموش ، AVF روشن
IP مجازی = IP واقعی مجاز نیست مجاز است مجاز نیست
چندبرندی خیر بله خیر

اگر همه تجهیزات سیسکو است، HSRP ساده‌ترین و جاافتاده‌ترین انتخاب است. در شبکه چندبرندی VRRP. در دیتاسنترهای مدرن با VXLAN EVPN ، هیچ‌کدام؛ آنجا Anycast Gateway جای FHRP را گرفته است.

پرسش‌های متداول

HSRP روی سوئیچ لایه ۳ هم کار می‌کند؟
بله؛ روی SVIها (interface Vlan) در سوئیچ‌های Catalyst لایه ۳ دقیقاً همین‌طور کانفیگ می‌شود.

HSRPv1 یا v2؟
برای شبکه جدید v2 ، چون تعداد گروه بیشتری دارد، IPv6 را پشتیبانی می‌کند و MAC آن با شماره گروه‌های بزرگ‌تر سازگار است. نسخه باید روی همه اعضا یکی باشد.

آیا HSRP با StackWise یا vPC لازم است؟
در استک و StackWise Virtual ، دو سوئیچ یک دستگاه منطقی‌اند و FHRP لازم نیست. در vPC روی Nexus ، HSRP به کار می‌رود و هر دو عضو ترافیک را فوروارد می‌کنند.

منابع رسمی

مشاوره با AKA NET

برای طراحی افزونگی گیت‌وی، HSRP با Tracking و IP SLA و مهاجرت به Anycast Gateway با آکانت (AKA NET) تماس بگیرید.

تلفن: 09121308444  |  ایمیل: aka@aka.ir  |  aka.ir

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *