مقدمه
در این مقاله میخواهیم به بررسی اینکه VRF چیست و تنظیمات آن بپردازیم. مسیریابی و انتقال مجازی (Virtual Routing and Forwarding) تکنولوژی است که اجازه میدهد به جای وجود یک routing table واحد در روتر که تمامی فعالیت های مسیریابی از طریق آن انجام میشود، چندین نمونه جدول مسیریابی (routing table) مستقل از هم، در روتر ایجاد شود. شاید بتوان این تکنولوژی را به مصداق ایجاد چندین روتر مجازی به طور همزمان در داخل یک دستگاه فیزیکی تشبیه نمود.
شبکه های مجازی (virtual networks) شبکه هایی هستند که با وجود استفاده از دستگاههای فیزیکی مشترک و بستر و زیرساخت یکسان، عملا تا زمانی که تعیین نکنیم، به دنیای یکدیگر راهی نخواهند داشت.
مجازی سازی شبکه ها
چنانچه سازمانهای مختلفی بخواهند شبکه های خصوصی دفاتر خود در شهرهای مختلف را به یکدیگر متصل کنند، بدون اینکه شبکه خصوصی شان در دسترس شبکه های دیگر باشد، بدون VRF بایستی به ازای هر سازمان یک روتر فیزیکی مجزایی که به یکدیگر متصل نیستند استفاده شود.
Virtual Routing and Forwarding به یک روتر فیزیکی اجازه داشتن چندین جدول مسیر یابی مجزا از یکدیگر را میدهد. باید توجه داشت که جدول مسیریابی عمومی شامل تمام مسیرهایی است که در روتر فیزیکی وجود دارد و قسمتی از شبکه مجازی نیستند.
در VRF روتر اجازه میدهد تا یک اینترفیس فیزیکی مانند FastEthernet 0/0 در شبکه مجازی 10 و اینترفیس فیزیکی دیگر مانند FastEthernet 0/1 در شبکه مجازی 20 باشد. پکت های وارد شده به اینترفیس FastEthernet 0/0 فقط به اینترفیس های شبکه مجازی 10 ارسال میشوند و با توجه به اینکه اینترفیس FastEthernet 0/1 در شبکه مجازی 10 نیست از آن استفاده نمیکند. شبکه مجازی 10 هیچ دانش مسیریابی یا routing از سایر شبکه های مجازی ندارد.
شبکه های مجازی دیگر به ازای هر اینترفیس قابل اضافه شدن هستند. با توجه به کم بودن تعداد اینترفیس های روتر میتوان با فعال کردن ارتباط لاجیکال لایه 2 بروی اینترفیس و ایجاد یک ارتباط ترانک بین روتر و سوئیچ، به ازای هر VLAN یک شبکه مجازی راهاندازی نمود.
با توجه به اینکه وجود یک جدول مسیریابی به ازای هر VRF و عدم اطلاع VRF ها از یکدیگر، اینترفیس ها در VRF های مختلف میتوانند IP های در یک رنج و حتی یکسان با VRF ها دیگر بدون ایجاد conflict داشته باشند.
VRF-Lite
ساده ترین شکل اجرای VRF، VRF-Lite است. در این روش که مناسب شبکه های کوچک است، برای اینکه امکان مسیریابی و انتقال شبکه ها مختلفی که احتمالا از IP های یکسان یا در یک رنج استفاده کرده اند باشد، بایستی بروی هر روتر VRF مورد نظر ایجاد شود.
در این روش به تعداد VRF ایجاد شده اینترفیس واقعی یا مجازی نیاز است. با توجه به زیاد بودن تعداد VRF ها، بعضا استفاده از اینترفیس فیزیکی ممکن نمیباشد، به همین علت از sub-interface ها استفاده میشود. در روش راهاندازی sub-interface ها، به دلیل ترانک شدن ارتباط، اندازه داده در پکت کمتر از پکت های عادی است. برای استفاده از اینترفیس های فیزیکی از سوئیچ های لایه 3 استفاده میشود.
VRF Lite مناسب راهاندازی در سازمان ها با شبکه های بزرگ نیست، زیرا در این سناریو، نیاز به پیاده سازی هر نمونه VRF در تمامی روترها از جلمه روترهای میانی است.
راه حل این مشکلات نیز استفاده VRF در MPLS است. VRF در ابتدا در ترکیب با MPLS (Multiprotocol Label Switching) معرفی شد، اما پس از اتبات مفید بودنش، حیاتش مستقل از MPLS ادامه یافت.
MPLS
در دنیای MPLS هر کدام از روترها یک اسم (عنوان) دارند. به روترها و یا دستگاه های در شبکه مشتری (که می تواند مودم های اینترنت هم باشد) Customer Edge، به روترهایی که در لبه MPLS در محل سرویس دهی به مشتری قرار دارد Provider Edge و به روترهای داخلی Provider گفته میشود.
زمانی که بروی روتر CE از VRF استفاده میکنیم به دلیل بعضا تکراری بودن رنج ها و IP های استفاده شده، عملا قابلیت مسیریابی براساس IP و routing table از بین میرود. برای حل مشکل مسیریابی برای هر شبکه یک مقداری به نام Route Distinguisher مشخص میشود. مقدار RD با IP ترکیب میشود و مقداری به نام VPN-V4 یا VPN-IPv4 را میسازد. مقدار بدست آمده حتی با یکسان بودن IP ها نیز منحصر به فرد و قابل route خواهد بود. برای استفاده از VPN-V4 برای مسیریابی باید از پروتکل BGP استفاده کنیم.
استفاده های VRF
به طور کلی، استفاده از هر تکنولوژی بسته به سیاست ها، سناریو های داخلی و طراح شبکه بستگی دارد. با این حال، متداول ترین کاربردهای VRF به شرح زیر میباشد:
• جداسازی ترافیک کاربران خاص به دلایل امنیتی
• جداسازی نوع خاصی از ترافیک مانند voice به دلایل اولویت بالای این انواع ترافیک در ارسال به نسبت ترافیک با اولویت پایین تری مانند دیتا
پیکربندی
در ساده ترین حالت تنظیمات VRF، میخواهیم یک روتر را به سه روتر دیگر با IP های یکسان به ازای هر اینترفیس مانند تصویر زیر متصل کنیم.
برای بررسی اینترفیس fa 0/0 روتر را بدون VRF به روتر R4 و اینترفیس fa 0/1 را به شبکه مجازی A (یا VRF A) و اینترفیس fa1/0 را به شبکه مجازی B متصل میکنیم. از آنجایی که VRF مانند روترهای مستقل اند، حتی میتوان آدرس قبلی ست شده بروی int fa 0/0 را بروی این Interface ها قرار داد.
برای ایجاد یک VRF از دستور ip VRF NAME و برای اختصاص یک اینترفیس به VRF از دستور ip vrf forwarding NAME استفاده میکنیم.
برای نمایش IP ها تنظیم شده از دستور show ip interface brief استفاده میکنیم.
برای نمایش IP های VRF از دستور show ip vrf interfaces استفاده میکنیم.
برای ایجاد همسایگی در پروتکل EIGRP بروی یک VRF خاص از دستور address-family مانند تصویر زیر استفاده میکنیم.
برای نمایش جدول مسیریابی عمومی (به عنوان مثال در پروتکل eigrp) از دستور show ip route eigrp استفاده میکنیم. برای دیدن جدول های هر کدام از VRF ها از دستور show ip route vrf NAME استفاده میکنیم.
برای نمایش همسایگی های ایجاد شده (به عنوان مثال در پروتکل eigrp) از دستور show ip eigrp vrf NAME neighbors استفاده میکنیم.
چنانچه در سناریو بخواهیم از sub interface ها استفاده کنیم بایستی لینک ارتباطی از سمت سوئیچ با روتر به حالت ترانک تنظیم شود و بروی روتر مانند سناریو تصویر زیر تنظیمات را بروی sub interface ها اعمال میکنیم.
MBG001(config-if)#ip vrf Company A
MBG001(config-if)#exit
MBG001(config-if)#ip vrf Company B
MBG001(config-if)#exit
MBG001(config)#interface f0/0.81
MBG001(config-if)#description Connection-to-Company-A
MBG001(config-if)#encapsulation dot1q 81
MBG001(config-if)#ip vrf forwarding Company A
MBG001(config-if)#ip address 10.10.10.1 255.255.255.0
MBG001(config-if)#no shut
MBG001(config)#interface f0/0.82
MBG001(config-if)#description Connection-to-Company-B
MBG001(config-if)#encapsulation dot1q 82
MBG001(config-if)#ip vrf forwarding Company B
MBG001(config-if)#ip address 10.10.10.1 255.255.255.0
MBG001(config-if)#no shut
VRF دز سوئیچ ها لایه 3 نیز قابل تنظیم هستند، اما برای استفاده از VRF در سوئیچ بایستی لایسنس IP Service بروی سوئیچ فعال باشد در غیر اینصورت، پیغام خطا %Feature is not supported داده میشود.
دستور فعال سازی لایسنس ip service برای لایسنس های مدل ستنی (غیر اسمارت لایسنس)، به صورت license right-to-use activate ipservice all acceptEULA است.