هدف لب
پیکربندی route target ها روی دو VRF مشتری و یک VRF خدمات مشترک، نشت انتخابی مسیر یک سرور مشترک به هر دو VRF مشتری، و تأیید اینکه هر مشتری میتواند به سرویس مشترک برسد در حالی که از یکدیگر ایزوله باقی میماند.
هدف لب (چرا مهم است)
ایزولهسازی سختگیرانه نشاندادهشده در لب VRF-Lite قبلی اغلب برای استقرارهای واقعی بسیار سختگیرانه است — بسیاری طراحیهای چند-مستأجر نیاز دارند مشتریان از یکدیگر ایزوله باشند در حالی که همچنان دسترسی به منابع مشترک مانند یک سرور DNS مشترک یا دروازه اینترنت را به اشتراک میگذارند. Route leaking با استفاده از route target ها استثناهای کنترلشده و انتخابی برای ایزولهسازی VRF فراهم میکند.
توپولوژی لب
R1
VRF CUSTOMER-A: Gi0/0، 10.1.1.1/24
VRF CUSTOMER-B: Gi0/1، 10.2.2.1/24
VRF SHARED: Gi0/2، 10.99.99.1/24
(سرور DNS مشترک اینجا)
هدف: هم CUSTOMER-A و هم CUSTOMER-B باید به
10.99.99.0/24 برسند، اما CUSTOMER-A و
CUSTOMER-B همچنان نباید به یکدیگر برسندوظیفه ۱: پیکربندی سه VRF با Route Distinguisher و Target
VRF های CUSTOMER-A، CUSTOMER-B، و SHARED را پیکربندی کن، هرکدام با یک route distinguisher یکتا و route target های مناسب برای نشت.
وظیفه ۲: پیکربندی هر VRF برای Exportکردن مسیرهای خودش
هر VRF مشتری را طوری پیکربندی کن که مسیرهایش را با یک route target یکتا export کند، و SHARED را که مسیرهایش را با route target خودش export کند.
وظیفه ۳: پیکربندی هر VRF مشتری برای Importکردن مسیرهای SHARED
هم CUSTOMER-A و هم CUSTOMER-B را طوری پیکربندی کن که route target SHARED را import کنند.
وظیفه ۴: پیکربندی SHARED برای Importکردن هر دو Route Target مشتری
SHARED را طوری پیکربندی کن که هر دو route target VRF مشتری را import کند، و اجازه دهد ترافیک بازگشتی به آنها برسد.
وظیفه ۵: تأیید اتصال انتخابی
تأیید کن هر دو مشتری میتوانند به سرور مشترک برسند، در حالی که همچنان نمیتوانند به یکدیگر برسند.
راهحل و تأیید
R1(config)# vrf definition CUSTOMER-A
R1(config-vrf)# rd 65001:1
R1(config-vrf)# address-family ipv4
R1(config-vrf-af)# route-target export 65001:1
R1(config-vrf-af)# route-target import 65001:99
R1(config-vrf-af)# exit-address-familyR1(config)# vrf definition CUSTOMER-B
R1(config-vrf)# rd 65001:2
R1(config-vrf)# address-family ipv4
R1(config-vrf-af)# route-target export 65001:2
R1(config-vrf-af)# route-target import 65001:99
R1(config-vrf-af)# exit-address-familyR1(config)# vrf definition SHARED
R1(config-vrf)# rd 65001:99
R1(config-vrf)# address-family ipv4
R1(config-vrf-af)# route-target export 65001:99
R1(config-vrf-af)# route-target import 65001:1
R1(config-vrf-af)# route-target import 65001:2
-- SHARED هر دو route target مشتری را import
-- میکند، و اجازه میدهد ترافیک را بهسمت هر
-- مشتری بازگرداند، در حالی که هر مشتری فقط
-- route target SHARED را import میکند، هرگز
-- مال یکدیگر راR1(config)# interface gigabitethernet0/0
R1(config-if)# vrf forwarding CUSTOMER-A
R1(config-if)# ip address 10.1.1.1 255.255.255.0
R1(config-if)# no shutdown
R1(config)# interface gigabitethernet0/1
R1(config-if)# vrf forwarding CUSTOMER-B
R1(config-if)# ip address 10.2.2.1 255.255.255.0
R1(config-if)# no shutdown
R1(config)# interface gigabitethernet0/2
R1(config-if)# vrf forwarding SHARED
R1(config-if)# ip address 10.99.99.1 255.255.255.0
R1(config-if)# no shutdownR1# show ip route vrf CUSTOMER-A
Routing Table: CUSTOMER-A
C 10.1.1.0/24 is directly connected, GigabitEthernet0/0
B 10.99.99.0/24 [200/0] via ... (نشتشده از SHARED)
R1# show ip route vrf CUSTOMER-B
Routing Table: CUSTOMER-B
C 10.2.2.0/24 is directly connected, GigabitEthernet0/1
B 10.99.99.0/24 [200/0] via ... (نشتشده از SHARED)
-- هر دو VRF مشتری اکنون زیرشبکه مشترک را
-- بهعنوان یک مسیر نشتشده نشان میدهند
R1# show ip route vrf CUSTOMER-A | include 10.2.2.0
-- (بدون خروجی -- شبکه CUSTOMER-B هرگز ظاهر
-- نمیشود، چون هیچ مشتریای route target
-- دیگری را import نمیکند)CustomerA-Host> ping 10.99.99.10 (DNS مشترک)
!!!!!
Success rate is 100 percent (5/5)
CustomerB-Host> ping 10.99.99.10 (DNS مشترک)
!!!!!
Success rate is 100 percent (5/5)
CustomerA-Host> ping 10.2.2.10 (هاست CustomerB)
.....
Success rate is 0 percent (0/5)
-- دقیقاً نتیجه مورد نظر: منبع مشترک
-- دسترسپذیر توسط هر دو، مشتریان همچنان از
-- یکدیگر ایزولهنکته کلیدی
Route leaking با route target ها از طریق یک الگوی import/export ساده و نامتقارن کار میکند: یک VRF مسیرهایش را با تگ شناسه خودش تگگذاریشده export میکند، و هر VRFای که میخواهد آن مسیرها را دریافت کند باید صراحتاً همان تگ را import کند — CUSTOMER-A و CUSTOMER-B هرگز تگهای یکدیگر را import نمیکنند، پس ایزولهسازی بین آنها کاملاً دستنخورده باقی میماند حتی در حالی که هر دو بهطور انتخابی مسیرهای SHARED را import میکنند، که نشان میدهد route leaking دقیق و افزایشی است نه یک شلسازی همه-یا-هیچ ایزولهسازی VRF.