אז מה זה בעצם VRF?
VRF הינו מימוש בסיסי של מעין נתב וירטואלי בציוד Cisco. הסיבה שלא מדובר בנתב וירטואלי לכל דבר היא שרק הטבלאות הבאות ייחודיות לכל VRF ואילו שאר תהליכי הנתב משותפים:
ניתן להגדיר ניתוב סטטי ב VRF כך ש next-hop יהיה בטבלת ה global. הפקודה היא:
ip route vrf vrf-name dest mask next-hop global.
ניתן להגדיר ניתוב סטטי בטבלת ה global כך שייצא דרך ממשק של VRF, באופן הבא:
ip route dest mask out-interface next-hop (optional)
בניתוב כזה נדרש לציין את ממשק היציאה כי כתובת ה next-hop אינה מופיעה בטבלת הניתוב של ה VRF. בממשקים שהם point-to-point אין צורך לציין את כתובת ה next-hop.
GRE Tunnels ו VRF-ים
ניתן לשייך ממשק GRE ל VRF כאשר בברירת מחדל הוא יוקם דרך vrf default. כלומר, הנתב יחפש את כתובת ה tunnel destination בטבלת הניתוב הגלובאלית של הנתב. ניתן להגדיר לנתב לחפש את כתובת ה tunnel destination בטבלת ניתוב של VRF אחר באמצעות הפקודה vrf תחת הגדרת ה GRE.
שיוך חבילות נכנסות ל VRF
ניתן להגדיר לנתב לשייך חבילה ל VRF שלא על פי ממשק הכניסה אלא על פי פרמטר אחר, כגון כתובת ה source של החבילה, על ידי הפקודה ip vrf select source. אופציה נוספת היא שיוך על פי PBR, ראה דוגמא:
access-list 40 permit 10.1.0.0 0.0.255.255
access-list 50 permit 10.2.0.0 0.0.255.255
access-list 60 permit 10.3.0.0 0.0.255.255
!
route-map PBR-VRF-Selection permit 10
match ip address 40
set vrf VRF_1
!
route-map PBR-VRF-Selection permit 20
match ip address 50
set vrf VRF_2
!
route-map PBR-VRF-Selection permit 30
match ip address 60
set vrf VRF_3
!
interface Ethernet0/1
ip address 192.168.1.6 255.255.255.252
ip policy route-map PBR-VRF-Selection
ip vrf receive VRF_1
ip vrf receive VRF_2
ip vrf receive VRF_3
VRF הינו מימוש בסיסי של מעין נתב וירטואלי בציוד Cisco. הסיבה שלא מדובר בנתב וירטואלי לכל דבר היא שרק הטבלאות הבאות ייחודיות לכל VRF ואילו שאר תהליכי הנתב משותפים:
- טבלת ממשקים
- טבלת ARP
- טבלת Routing
ניתן להגדיר ניתוב סטטי ב VRF כך ש next-hop יהיה בטבלת ה global. הפקודה היא:
ip route vrf vrf-name dest mask next-hop global.
ניתן להגדיר ניתוב סטטי בטבלת ה global כך שייצא דרך ממשק של VRF, באופן הבא:
ip route dest mask out-interface next-hop (optional)
בניתוב כזה נדרש לציין את ממשק היציאה כי כתובת ה next-hop אינה מופיעה בטבלת הניתוב של ה VRF. בממשקים שהם point-to-point אין צורך לציין את כתובת ה next-hop.
GRE Tunnels ו VRF-ים
ניתן לשייך ממשק GRE ל VRF כאשר בברירת מחדל הוא יוקם דרך vrf default. כלומר, הנתב יחפש את כתובת ה tunnel destination בטבלת הניתוב הגלובאלית של הנתב. ניתן להגדיר לנתב לחפש את כתובת ה tunnel destination בטבלת ניתוב של VRF אחר באמצעות הפקודה vrf תחת הגדרת ה GRE.
שיוך חבילות נכנסות ל VRF
ניתן להגדיר לנתב לשייך חבילה ל VRF שלא על פי ממשק הכניסה אלא על פי פרמטר אחר, כגון כתובת ה source של החבילה, על ידי הפקודה ip vrf select source. אופציה נוספת היא שיוך על פי PBR, ראה דוגמא:
access-list 40 permit 10.1.0.0 0.0.255.255
access-list 50 permit 10.2.0.0 0.0.255.255
access-list 60 permit 10.3.0.0 0.0.255.255
!
route-map PBR-VRF-Selection permit 10
match ip address 40
set vrf VRF_1
!
route-map PBR-VRF-Selection permit 20
match ip address 50
set vrf VRF_2
!
route-map PBR-VRF-Selection permit 30
match ip address 60
set vrf VRF_3
!
interface Ethernet0/1
ip address 192.168.1.6 255.255.255.252
ip policy route-map PBR-VRF-Selection
ip vrf receive VRF_1
ip vrf receive VRF_2
ip vrf receive VRF_3
סיכום טוב - החלק של זליגת ניתובים בין VRF-ים היה די חסר לי משום מה, ככה שזה סגר לי פער ידע.
השבמחק