Πίσω στο blog

English  ·  Ελληνικά

Cisco / IOS  ·  Tutorial  ·  Ιουλιος 2026

Cisco IOS
Εφεδρεια στο Πρωτο Hop

Μπορείς να έχεις δύο από όλα — δύο switch, δύο uplinks, δύο ISP — και ακόμα να χάσεις ολόκληρο το site όταν πεθάνει ένας router, επειδή κάθε host δείχνει σε μία μοναδική default πύλη. Το HSRP και το VRRP δίνουν σε αυτή την πύλη έναν παλμό: ένα virtual IP που κάνει failover ανάμεσα σε δύο router σε ένα δευτερόλεπτο, αόρατα.

Cisco IOS HSRP VRRP FHRP Redundancy Gateway CCNA

ΜΙΑ VIRTUAL ΠΥΛΗ, ΔΥΟ ΠΡΑΓΜΑΤΙΚΟΙ ROUTER R1 · ACTIVE .2 · priority 110 R2 · STANDBY .3 · priority 90 hellos (3δ) VIP .1 virtual MAC 0000.0c07.acXX κάθε host: πύλη = .1 Το R1 πεθαίνει → το R2 διεκδικεί το .1 + το virtual MAC → οι hosts δεν το καταλαβαίνουν ποτέ

Ένας host έχει ακριβώς μία default πύλη, και είναι μοναδικό σημείο αστοχίας. Χτίσε ένα υπέροχα εφεδρικό δίκτυο — διπλά switch, συνενωμένα uplinks (δες STP & EtherChannel), ακόμα και διπλοί ISP (δες Routing & OSPF) — και ακόμα όλα περνάνε μέσα από ένα IP πύλης καρφωμένο σε κάθε DHCP scope. Εκείνος ο router κάνει reboot και ολόκληρο το subnet σκοτεινιάζει μέχρι κάποιος να ξανακατευθύνει εκατοντάδες συσκευές. Απαράδεκτο.

Ένα First-Hop Redundancy Protocol το διορθώνει επινοώντας ένα virtual IP και ένα virtual MAC που επιπλέουν ανάμεσα σε δύο (ή περισσότερους) router. Οι hosts δείχνουν στο virtual IP για πάντα· από πίσω ένας router είναι active και απαντάει γι' αυτό ενώ ο άλλος περιμένει, ακούγοντας τον παλμό του active router. Όταν ο παλμός σταματήσει, ο standby αναλαμβάνει το virtual IP και MAC σε περίπου ένα δευτερόλεπτο — καμία επανεκμάθηση ARP, καμία επαναρύθμιση host, συνήθως ούτε ένα χαμένο ping. Η έκδοση της Cisco είναι το HSRP· το ισοδύναμο ανοιχτού προτύπου είναι το VRRP. Αυτό το post χτίζει και τα δύο, προσθέτει interface tracking ώστε ένα νεκρό uplink να ενεργοποιεί κι αυτό failover, και καλύπτει τη συμπεριφορά preempt που ξαφνιάζει τους πάντες.

Προαπαιτουμενα

01

HSRP — Το Ζευγος Active/Standby

Δύο router, ένα virtual IP, ένας αριθμός group. Το υψηλότερο priority γίνεται active· το άλλο περιμένει. Οι hosts χρησιμοποιούν το virtual IP ως πύλη τους και δεν ξέρουν ποτέ ποιος φυσικός router απαντάει.

IOS — HSRP και στους δυο router (πυλη VLAN 10)
# ── R1 — ο επιδιωκόμενος active router ──
R1(config)# interface vlan 10
R1(config-if)# ip address 192.168.10.2 255.255.255.0   # το ΠΡΑΓΜΑΤΙΚΟ ip του R1
R1(config-if)# standby version 2                        # v2: καλύτεροι timers, IPv6
R1(config-if)# standby 10 ip 192.168.10.1                # group 10, VIRTUAL ip .1
R1(config-if)# standby 10 priority 110                   # υψηλότερο = προτιμώμενο active
R1(config-if)# standby 10 preempt                        # διεκδίκησε ξανά active όταν επανέλθει
R1(config-if)# standby 10 name VLAN10-GW

# ── R2 — ο standby (καθρέφτης, χαμηλότερο priority, δικό του πραγματικό IP) ──
R2(config-if)# ip address 192.168.10.3 255.255.255.0
R2(config-if)# standby version 2
R2(config-if)# standby 10 ip 192.168.10.1                # ΙΔΙΟ virtual ip + group
R2(config-if)# standby 10 priority 90
R2(config-if)# standby 10 preempt

# Κάθε host στο VLAN 10 χρησιμοποιεί το 192.168.10.1 ως default πύλη.
⚠ Παγιδα — Το Virtual IP Δεν Ειναι το Πραγματικο IP Κανενος Router

Ένα συχνό λάθος αρχάριου είναι να βάλεις το standby ip στη δική του διεύθυνση interface του R1. Το virtual IP πρέπει να είναι μια τρίτη, αχρησιμοποίητη διεύθυνση στο subnet (εδώ .1), ξεχωριστή από το .2 του R1 και το .3 του R2. Όλο το νόημα είναι ότι το .1 ανήκει στην ομάδα, όχι σε μια συσκευή — γι' αυτό μπορεί να κινείται. Επίσης: και οι δύο router πρέπει να χρησιμοποιούν τον ίδιο αριθμό group και έκδοση, αλλιώς σχηματίζουν δύο ξεχωριστές ομάδες και οι δύο νομίζουν ότι είναι active (θα δεις συμπτώματα διπλής-πύλης).

02

Παρακολουθησε το να Δουλευει & να Κανει Failover Ασφαλες να το Τρεξεις

Μία εντολή σου λέει ποιος είναι active, ποια είναι το virtual IP και MAC, και αν είναι ρυθμισμένο το preempt. Μετά βγάλε ένα καλώδιο και δες τον standby να αναλαμβάνει.

IOS — show standby, πριν και μετα την αστοχια
R1# show standby brief
                     P indicates configured to preempt.
Interface   Grp  Pri P State    Active          Standby         Virtual IP
Vl10        10   110 P Active   local           192.168.10.3    192.168.10.1

R1# show standby vlan 10
Vlan10 - Group 10 (version 2)
  State is Active
  Virtual IP address is 192.168.10.1
  Active virtual MAC address is 0000.0c9f.f00a  (v2 group 10 = ...f00a)
  Hello time 3 sec, hold time 10 sec
  Preemption enabled

# Βγάλε το uplink του R1 / κάνε shut το interface του — το R2 προάγεται μέσα στο holdtime:
%HSRP-5-STATECHANGE: Vlan10 Grp 10 state Standby -> Active
# Οι hosts συνεχίζουν να κάνουν ping την πύλη σε όλη τη διάρκεια — το VIP + virtual MAC μετακινήθηκαν.
💡 Pro Tip — Σφιξε τους Timers (Λιγο)

Τα default HSRP hellos είναι 3 δ με holdtime 10 δ — οπότε μια σιωπηλή αστοχία μπορεί να σκοτεινιάσει το subnet μέχρι δέκα δευτερόλεπτα. Το standby 10 timers msec 250 msec 800 κόβει το failover σε κάτω από ένα δευτερόλεπτο. Μην πας παράλογα χαμηλά: πολύ επιθετικοί timers προκαλούν ψευδή failover κάτω από φόρτο CPU ή σύντομη συμφόρηση, που είναι χειρότερο από ένα λίγο πιο αργό. Το sub-second είναι αρκετό· συνδύασέ το με tracking (επόμενη ενότητα) ώστε το failover να ενεργοποιείται από το πραγματικό πρόβλημα, όχι ένα χαμένο hello.

03

Interface Tracking — Failover για τον Σωστο Λογο

Το HSRP by default κάνει failover μόνο αν ο active router πεθάνει εντελώς. Αλλά η συνηθισμένη αστοχία είναι πιο λεπτή: ο router είναι μια χαρά, το UPLINK του είναι down. Το tracking κάνει το HSRP να παρακολουθεί το uplink και να παραμερίζει όταν είναι σπασμένη η διαδρομή — όχι η συσκευή.

IOS — μειωσε το priority οταν πεσει το uplink
# Στο R1: αν πέσει το interface WAN/uplink, ρίξε το priority κατά 30
R1(config)# track 1 interface GigabitEthernet0/0 line-protocol
R1(config)# interface vlan 10
R1(config-if)# standby 10 track 1 decrement 30

# Μαθηματικά: το R1 ξεκινά στο 110. Το uplink πεθαίνει → 110 - 30 = 80, που είναι κάτω
# από το 90 του R2. Με preempt στο R2, το R2 αναλαμβάνει. Το uplink επιστρέφει → το R1 πίσω στο
# 110 → το R1 κάνει preempt και διεκδικεί ξανά το active. Το failover ακολουθεί τη ΔΙΑΔΡΟΜΗ, όχι
# μόνο το σασί.

R1# show track 1
Track 1
  Interface GigabitEthernet0/0 line-protocol
  Line protocol is Up
  Tracked by: HSRP Vlan10 10
⚠ Παγιδα — Το Tracking Βοηθαει Μονο αν το Decrement Περνα Πραγματικα το Οριο

Το decrement πρέπει να είναι αρκετά μεγάλο ώστε να ρίξει τον active router κάτω από το priority του standby. Αν το R1 είναι 110 και το R2 105, ένα decrement 30 πάει το R1 στο 80 — καλό, κερδίζει το R2. Αλλά αν είχες αφήσει και τα δύο κοντά στο default (100), ένα μικρό decrement μπορεί να μην περάσει το όριο και το failover σιωπηλά να μη συμβεί ποτέ. Κάνε την αριθμητική: active_priority − decrement < standby_priority. Και το line-protocol παρακολουθεί up/down· για να κάνεις failover όταν η απέναντι άκρη είναι απρόσιτη-αλλά-up, παρακολούθησε αντ' αυτού ένα αντικείμενο IP SLA — που είναι ακριβώς το επόμενο post σε αυτή τη σειρά.

04

Load Sharing — Μην Αφηνεις τον Μισο Εξοπλισμο σε Αδρανεια

Με μία ομάδα HSRP, ο standby router δεν προωθεί τίποτα μέχρι μια αστοχία — ακριβό hardware να κάθεται αδρανές. Δύο ομάδες με αντεστραμμένα priorities κάνουν κάθε router active για τα μισά VLAN, οπότε δουλεύουν και οι δύο και ο ένας καλύπτει τον άλλο.

IOS — R1 active για VLAN 10, R2 active για VLAN 20
# VLAN 10 → R1 active (priority 110), R2 standby
# VLAN 20 → R2 active (priority 110), R1 standby

R1(config)# interface vlan 20
R1(config-if)# standby 20 ip 192.168.20.1
R1(config-if)# standby 20 priority 90          # το R1 είναι STANDBY για το VLAN 20
R1(config-if)# standby 20 preempt

R2(config)# interface vlan 20
R2(config-if)# standby 20 ip 192.168.20.1
R2(config-if)# standby 20 priority 110         # το R2 είναι ACTIVE για το VLAN 20
R2(config-if)# standby 20 preempt
# Δείξε τις πύλες των μισών DHCP scopes σου στο active VLAN κάθε router.
# Και οι δύο συσκευές προωθούν σε σταθερή κατάσταση· καθεμία καλύπτει και τα δύο αν πεθάνει ο peer της.

05

VRRP — Ο Αδερφος Ανοιχτου Προτυπου

Το VRRP κάνει την ίδια δουλειά με το HSRP με τυποποιημένο syntax, οπότε συνεργάζεται με μη-Cisco εξοπλισμό. Αν το περιβάλλον σου είναι μεικτού κατασκευαστή, στρέψου στο VRRP· αν είναι όλο Cisco, το HSRP είναι εξίσου καλό.

IOS — το ισοδυναμο VRRP του config της ενοτητας-01
R1(config)# interface vlan 10
R1(config-if)# vrrp 10 ip 192.168.10.1          # virtual ip
R1(config-if)# vrrp 10 priority 110
R1(config-if)# vrrp 10 description VLAN10-GW
# ΣΗΜΕΙΩΣΗ: στο VRRP, το preempt είναι ΑΝΟΙΧΤΟ by default (το HSRP το απαιτεί ρητά).

R1# show vrrp brief
Interface   Grp Pri Time  Own Pre State   Master addr    Group addr
Vl10        10  110 3218      Y   Master  192.168.10.2   192.168.10.1
 HSRPVRRP
ΠροέλευσηΙδιόκτητο της CiscoΑνοιχτό πρότυπο IETF
ΌροιActive / StandbyMaster / Backup
Preempt defaultΚλειστό (πρέπει να ενεργοποιηθεί)Ανοιχτό
Virtual MAC0000.0c9f.fXXX (v2)0000.5e00.01XX
Χρησιμοποίησέ το ότανΚατάστημα όλο-CiscoΜεικτός κατασκευαστής

06

Ελεγχος & Troubleshooting Ασφαλες να το Τρεξεις

Τα περισσότερα tickets FHRP είναι ένα από τρία πράγματα: και οι δύο router νομίζουν ότι είναι active, το failover δεν ενεργοποιείται, ή κάνει flap. Αυτές οι εντολές απομονώνουν και τα τρία.

ΕντοληΑπανταει
show standby briefState, priority, preempt, active/standby peers, virtual IP — η μία γραμμή.
show standby vlan 10Timers, virtual MAC, tracking, και ιστορικό αλλαγών state.
show trackΠαρακολουθούμενα αντικείμενα και το state up/down τους.
show vrrp briefΤο ισοδύναμο VRRP του standby brief.
debug standby terseΖωντανές μεταβάσεις state όταν κυνηγάς ένα flap (κλείσ' το μετά).
⚠ Παγιδα — Και οι Δυο Router Δειχνουν "Active"

Αν το show standby αναφέρει και τους δύο router active, δεν ακούνε τα hellos ο ένας του άλλου. Συνηθισμένες αιτίες: ασυμφωνία αριθμού group ή έκδοσης (R1 group 10 v2, R2 group 10 v1 — διαφορετικά πρωτόκολλα στο καλώδιο)· το VLAN/SVI είναι down στη μία πλευρά· ή το trunk ανάμεσά τους δεν κουβαλάει αυτό το VLAN (πίσω στη λίστα allowed-VLAN από το post του trunking). Δύο "active" router απαντάνε και οι δύο για το virtual MAC → διαλείπουσα, τρελαντική συνδεσιμότητα. Επιβεβαίωσε το ίδιο group + έκδοση και ότι τα δύο SVI όντως φτάνουν το ένα το άλλο πριν αγγίξεις οτιδήποτε άλλο.

07

MikroTik ↔ Cisco — Εφεδρικες Πυλες

Το RouterOS μιλάει VRRP φυσικά, οπότε η αντιστοίχιση είναι καθαρή — οι έννοιες αντιστοιχίζονται μία-προς-μία.

MikroTik / RouterOSCisco IOS
/interface vrrp add vrid=10vrrp 10 … (ή standby 10 για HSRP)
priority=110standby 10 priority 110
Το interface VRRP κρατάει το virtual IPVirtual IP μέσω standby/vrrp … ip
Netwatch/script χαμηλώνει το priority σε αστοχίααντικείμενο track + decrement
preemption-mode=yesstandby 10 preempt (HSRP) / default στο VRRP
💡 Ολη η Εικονα της Εφεδρειας

Το FHRP είναι το τελευταίο κομμάτι μιας ιστορίας τριών επιπέδων που έχει χτίσει αυτή η σειρά: το EtherChannel κρατάει τα links ανοιχτά, το STP κρατάει την τοπολογία L2 χωρίς βρόχους, το OSPF ξαναδρομολογεί γύρω από νεκρές διαδρομές — και το HSRP/VRRP κρατάει ζωντανή την πύλη ώστε οι hosts να μη νοιάζονται ποτέ ότι συνέβη οτιδήποτε από αυτά. Ένα δίκτυο είναι εφεδρικό όσο το λιγότερο εφεδρικό του hop, και για τα περισσότερα sites το ξεχασμένο hop είναι η default πύλη.

Συμπερασματα

  1. Κάθε host έχει μία πύλη, οπότε αυτή η πύλη δεν πρέπει να είναι μία συσκευή. Το FHRP επινοεί ένα virtual IP + virtual MAC που επιπλέουν ανάμεσα σε δύο router· οι hosts δείχνουν στο VIP για πάντα.
  2. Το virtual IP είναι τρίτη διεύθυνση — όχι του R1, όχι του R2. Ίδιος αριθμός group και ίδια έκδοση και στους δύο router, αλλιώς χωρίζονται σε δύο "active" ομάδες.
  3. Κερδίζει το υψηλότερο priority· το preempt το διεκδικεί ξανά. Το HSRP χρειάζεται preempt ρητά ορισμένο (το VRRP το έχει ανοιχτό by default) αλλιώς ένας ανακτημένος primary μένει standby.
  4. Παρακολούθησε το uplink, όχι μόνο το σασί. Η συνηθισμένη αστοχία είναι ένας ζωντανός router με νεκρή διαδρομή· το tracking με decrement που περνάει το priority του peer κάνει το failover να ακολουθεί το πραγματικό πρόβλημα.
  5. Δύο ομάδες με αντεστραμμένα priorities = load sharing. Και οι δύο router προωθούν σε σταθερή κατάσταση αντί ο ένας να κάθεται αδρανής ως ακριβό εφεδρικό.
  6. HSRP για όλο-Cisco, VRRP για μεικτό κατασκευαστή. Ίδια δουλειά, τυποποιημένο syntax· πρόσεξε τη διαφορά στο default του preempt.
  7. «Και οι δύο active» = δεν ακούγονται μεταξύ τους. Ασυμφωνία group/έκδοσης, ένα down SVI, ή ένα trunk που δεν κουβαλάει το VLAN — έλεγξε την προσβασιμότητα ανάμεσά τους πριν από οτιδήποτε άλλο.

Χτιζεις δικτυο που επιβιωνει εναν νεκρο router στην Κρητη;

Σχεδιάζω εφεδρικές πύλες με HSRP ή VRRP, σωστό interface tracking, και load sharing και στους δύο router — για επιχειρήσεις που γνήσια δεν αντέχουν ένα subnet να σκοτεινιάσει. Μετά το δοκιμάζω με τον μόνο ειλικρινή τρόπο: βγάζοντας το ρεύμα από τον primary.

Κλεισε μια Discovery Call →