شبکه محلی مجازی در شبکههای کامپیوتری که با سرواژه انگلیسی VLAN (Virtual LAN) شناخته میشود یکی از مهمترین ابزارهای ایجاد بخشهای مستقل و جداسازی و محدودکردن ترافیک آنها (بویژه برادکستها: Broadcast) و نیز افزایش کارایی و امنیت شبکه است. به طور پیشفرض، VLAN 1 در سوئیچ (Switch) وجود دارد (Default VLAN) و همه پورتها (Interface) عضو آن هستند اما میتوان LANهای مجازی جدید زیادی ایجاد کرد و سپس پورتهای متناظر را در عضویت آنها قرار داد.
پس از پیکربندی VLANها میبایست ارتباط میان سوئيچها را به صورت ترانک (TRUNK) قرار داد تا اطلاعات همه ویلنها از همین یک پورت عبور کند و به اتصالهای متعدد (به تعداد ویلنها) نیاز نباشد. یادآوری میکنم ویلن یک مفهوم لایه دویی است و دستگاههای (Device) عضو سوئيچ اکسس (Access) از آن کاملاً بیخبرند.
در این یادداشت، به صورت خیلی کوتاه و با فرض آشنایی مقدماتی با مباحث مختلف شبکههای کامپیوتری در دورههای CCNA و CCNP SWITCHسیسکو (Cisco)، به پیادهسازی و پیکربندی (Config) و دستورات اصلی (نه خط فرمان کامل) آن میپردازم و از عناوین (تیترهای) یادداشت و ابتدای خط دستور، مشخص میشود در کدام قسمت قرار داریم.
(config)#vlan {vlan id (1-4096)}
(config-vlan)#name {vlan name}
(config-if)#switchport mode access
(config-if)#switchport access vlan {vlan id}
یک نکته مهم امنیتی در پورتهای سوئیچهای سطح اکسس و متصل به دستگاههایی مانند رایانهها وچاپگرها، این است که همه آنها را در مد اکسس قرار داد و پورتهای بدون اتصال را نیز خاموش کرد.
چون در دستگاههای سیسکو، پروتکل «ترانک کردن خودکار» با نام DTP (Dynamic Trunk Protocol) فعال و پیشفرض آن حالت علاقه برای مذاکره و ترانک شدن (dynamic Desirable) است، در بیشتر موارد بهتر است پورتهای مسیریابی ویلنها (میان سوئیچها و روترها)، در وضعیت ترانک قرار گیرند. همچنین گاهی غیرفعال کردن DTP از لحاظ امنیتی بهتر است.
(config-if)#switchport mode trunk
(config-if)#switchport trunk allowed vlan {all | vlan ids}
!
! IEEE 802.1q
(config-if)#switchport trunk encapsulation dot1q
! No DTP
(config-if)#switchport nonegotiate
اگر از پروتکل قدیمی ISL استفاده میشود:
(config-if)#switchport trunk encapsulation negotiate
برای اطلاعات بیشتر درباره پورت ترانک، این یادداشت من را در ویرگول بخوانید:
پورت ترانک (Trunking) در سیسکو
اگر لازم است وضعیت Native VLAN را برقرار کنید. در این وضعیت، اطلاعات ارسالی (Frame) میان ویلنها تگکذاری نمیشود. زمانی از این حالت استفاده میشود که لازم است ارتباط میان ویلنها برقرار باشد اما اتصال ترانک امکان استفاده از استاندارد 802.1q برای تگکذاری را نمیدهد. مانند اتصال یک ویلن از طریق هاپ (Hup) به دو سوئیچ که چون هاپ از 802.1q پشتیبانی نمیکند، ویلن زیرمجموعه هاپ، Native میگردد.
(config-if)#switchport trunk native vlan {vlan id}
با پیکربندی دستی VLANها در سوئيچهای لایه ۲ سطح دسترسی، ارتباط و پینگ (Ping) فقط بین همویلنیها یک سوئیچ ممکن است و برای برقرای ارتباط همویلنیها در همه شبکه و پورتهای دیگر سوئيچها، به مسیریاب مانند روتر (Router) و سوئيچ لایه ۳ (که به MLS معروفند) نیاز است.
اگر مسیریابی و روتینگ میان LANها بر عهده سوئيچ چندلایه است میبایست از پروتکل اختصاصی VTP سیسکو (Vlan Trunking Protocol) برای مدیریت ویلنها به صورت مرکزی و پویا (دینامیک) استفاده کرد و در این سوئیچها اینترفیس مجازی SVI ساخت. در نسخه دو این پروتکل، شماره ویلنها از صفر تا 4095 مجاز است.
در این مرحله، باید در این سوئيچ (که جایگاه سروری را برایش در نظر گرفتهاید) ، نام دامنه و رمز عبور تعیین کرد و چون وظیفه اصلی سوئیچ، مسیریابی نیست باید به آن فرمان روتینگ داد.
(config)#vtp domain {domain name}
(config)#vtp password {password}
(config)#vtp mode server
(config)#ip routing
در این مرحله، در سوئيچ سرور با ساخت اینترفیس مجازی برای ویلنهای شبکه (SVI)، نام و آیپی و سابمسک همه ویلنها سوئيچهای سطح دسترسی معرفی میگردد. باید توجه داشت که در این پروتکل، تعریف، حذف و تغییر ویلنها فقط در سوئیچ سرور صورت میگیرد و این اطلاعات بر اساس پروتکل VTP به بقیه سوئیچها منتقل میگردد.
! SVI
(config)#interface vlan {vlan id}
(configp-if)#ip vlan {Vlan ip (192.168.10.0 255.255.255.0)}
(configp-if)#no shutdown
در سوئیچهای سطح دسترسی دستگاهها، علاوه بر تعریف ویلنها و عضویت آنها در پورتهای متناظر (پیکربندی دستی VLAN در سوئيچهای لایه ۲)، چون پیشفرض سوئيچهای سیسکو وضعیت سرور است، باید پروتکل VTP را به آنها معرفی کرد و مد سوئيچها را به کلاینت و خدماتگیرنده (Client) تغییر داد.
(config)#vtp domain {domain name}
(config)#vtp password {password}
(config)#vtp mode client
البته گاهی به دلیل شبکه یا ویلن/ها یا دستگاهایی مانند مجموعه سرورها (Server Farm) که پشت برخی از سوئیچهای سطح دسترسی قرار دارند (End Divice) و به دلایل امنیتی یا... نمیخواهیم عضو پروتکل ویتیپی باشند (ایزولهبندی)، در این صورت، بسته به موارد مختلف، مد این سوئیچها را باید در حالت خاموش (off) یا بیقید و منتقلکننده (Transparent) قرار داد.
(config)#vtp mode {transparent | off}
(config-if)#switchport mode trunk
برای غیرفعالسازی ارسال ترافیک مربوط به ویلنها، در پورتی که هیچ ویلنی ندارد یا محدودسازی ترافیک، از روش هرس کردن (VTP Pruning) در سوئیچ سرور استفاده میکنیم تا از ترافیک زیاد و بیهوده جلوگیری کنیم.
(config)#vtp prunning
(config-if)#switchport trunk prunning vlan {vlan ids}
الف. به طور کلی، اگر از پورت فیزیکی سوئیچ چندلایه برای سوئیچینگ لایه ۳ استفاده شود، برای اختصاص آیپی، باید وضعیت اینترفیس را از حالت سوئیچینگ خارج کرد.
(config-if)#no switchport
(config-if)#ip address {ip-address mask (192.168.100.1 255.255.255.0)}
ب. از یک سوئیچ چندلایه میتوان هم برای ساختVLAN لایه ۲ و عضویت در اینترفیس فیزیکی آن، و هم برای ساخت SVI و مسیریابی میان ویلنها (با ماهیت لایه ۳) استفاده کرد؛ چون VALAN و SVI در کنار هم کار میکنند اما پیکربندی آنها متفاوت است.
! SVI
(config)#interface vlan {vlan id}
(configp-if)#ip vlan {Vlan ip (192.168.10.0 255.255.255.0)}
(configp-if)#no shutdown
!
! VLAN
(config)#vlan {vlan-id}
(configp-vlan)#name {vlan name}
!
! interface
(config-if)#no switchport
(config-if)#ip address {ip-address mask (192.168.100.1 255.255.255.0)}
سیستم عامل سوئيچ، توسط سختافزار مخصوصی به نام ASIC ویلنسازی و پروتکل ویتیوی را انجام میدهد. در سختافزار سوئیچها، حافظه NVRAM وجود ندارد و فایلها در Flash ذخیره میشود و نکته خیلی مهم در پاک کردن اطلاعات همه ویلنها از سوئیچها این است که محل ذخیرهسازی اطلاعات ویلنها، مجزا و بیرون از فایل پیکربندی (کانفیگ) است؛ بنابراین با پاک کردن فایل پیکربندی، اطلاعات ویلنها حذف نمیشود و باید فایل جدای آن به صورت مستقل حذف کرد. این نکته را هنگام استفاده از یک سوئیچ کارکرده حتماً رعایت کنید تا اطلاعات ویلنهای این سوئيچ، به شبکه معرفی نشود و آن را دچار مشکل نکند.
#delete flash:vlan.dat
در اعلانهای VTP شاخص شماره بازبینی (Revision Number) وجود دارد که از صفر آغاز میشود و با اعلان هر تغییر یک شماره بیشتر میشود. حتماً پیش از وارد کردن یک سوئیچ جدید به دامنه، شماره بازبینی آن را صفر کند؛ چون اگر اطلاعات ویلنها را حذف نکرده باشید حتی اگر سوئیچ را در حالت کلاینت هم بگذارید، ممکن است به دلیل شماره بازبینی بالای آن، سنکرونسازی ناخواسته رخ دهد و اطلاعات ویلنهای این سوئیچ جدید جایگزین همه پیکربندیهای ویلنها در کل شبکه شود!شماره بازبینی (Revision Number) وجود دارد که از صفر آغاز میشود و با اعلان هر تغییر یک شماره بیشتر میشود. حتماً پیش از وارد کردن یک سوئیچ جدید به دامنه، شماره بازبینی آن را صفر کند؛ چون اگر اطلاعات ویلنها را حذف نکرده باشید حتی اگر سوئیچ را در حالت کلاینت هم بگذارید، ممکن است به دلیل شماره بازبینی بالای آن، سنکرونسازی ناخواسته رخ دهد و اطلاعات ویلنهای این سوئیچ جدید جایگزین همه پیکربندیهای ویلنها در کل شبکه شود!
اگر مسیریابی میان ویلنها بر عهده روتر باشد میبایست از پروتکل ROAS (Router on a Stick) استفاده کرد و در این روتر، به تعداد ویلنهای سوئيچهای سطح دسترسی، ساباینترفیس (Sub Inteface) ایجاد کرد و در آنها آیپیهای ویلنها را معرفی و نوع پروتکل کپسولشدن پیامها را تعیین کرد. هرس کردن VLANها نیز در اینجا نیز ممکن است.
البته میان این روتر و سوئیچهای سطح دسترسی، سوئیچ چند لایه در سطح توزیع قرار میگیرد.
(config)#interface f / g {0/0.10} (0-4294967295)
(config-subif)#encapsulation dotq1 {10}
(config-subif)#ip add {192.168.1.100 255.255.255.0}
!
(config)#vtp prunning
(config-if)#switchport trunk prunning vlan {vlan ids}
شبکههای محلی ـ مجازی خصوصی (محرمانه)، یکی از راهکارهای سیسکو برای ایجاد محدودیت، فیلترینگ و ایزوله کردن در داخل یک VLAN است. برای مثال، اگر مجموعهای از سرورها در یک ویلن با یک دروازه خروجی قرار دارند اما لازم نیست با دیگر ارتباط داشته باشند، در این حالت، شبکههای خصوصی ایجاد میشود. برای پیادهسازی این شبکه محرمانه، VLANهای منطقی به دو بخش اصلی (Primary) و ثانوی (Secondary) تعریف و تقسیم میشوند. و هر پورت ثانویه نیز به یکی از دو حالت ثانویه ایزوله (Isolated) و ثانویه عمومی (Community) پیکربندی میگردد و در نتیجه، پورت ثانویه ایزوله، فقط با ویلن اصلی خود در ارتباط است و پورت ثانویه عمومی، با ویلن اصلی و اعضای دیگر ویلن ثانویه خودش ارتباط برقرار کند.
همچنین در این پیکربندی نمیتوان از نسخه ۲ VTP استفاده کرد. این پیکربندی پیچیده و سخت است و در اینجا فعلاً از ذکر روش استفاده از SVI در ویلنهای خصوصی صرف نظر میکنم!
(config)#vlan {vlan-id}
(config-vlan)# private-vlan {isolated | community}
(config)#vlan {vlan-id}
(config-vlan)# private-vlan primary
(config-vlan)#private-vlan association {Secondary-vlan-list | (add) Secondary-vlan-list / (remove) Secondary-valan-list}
الف. انتخاب حالت پورت: میزبان (Host) یا بیقید (Promiscuous)
(config-if)#switchport mode private-vlan {host | promiscuous}
ب. معرفی VLANهای اصلی و ثانوی
(config-if)# switchport mode private-vlan host-promiscuous {primary-vlan-id} { Secondary-valan-id}
یادآوری میکنم یک روش دیگر برای فیلترسازی داخلی یک ویلن توسط سوئیچ، پیکربندی VACL و ایجاد جدول کنترل دسترسی در VLAN است.
در شبکه با سوئیچها و ویلنهای محتلف، برای افزونگی شبکه از پیکربندی مش ناقص یا کامل، و برای جلوگیری از تشکیل حلقههای سوئیچینگ، از پروتکل STP (Spanning Tree) استفاده میشود. در این موارد برای تقسیم ترافیک و نیز افزونگی شبکه، توصیه میگردد به ازای هر ویلن یک STP وجود داشته باشد (PVST) و بهتر است پروتکل اختصاصی +PVST سیسکو به کار گرفته شود که با انواع پروتکل STP (شامل PVST و +PVST و CST) سازگار است.
در پایان این یادداشت و برای رفع خستگی سری به بازار محصولات روستایی و محلی و خانگی ایران سری بزنید و در اولین خرید از ۲۰ هزار تومان اعتبار هدیه استفاده کنید.