VLANها همیشه بخش مهمی از شبکه هستند که کار مدیریت شبکه را بسیار راحت میکنند، اما تمام نیازهای شبکه را مخصوصا در دیتاسنتر و محل قرارگیری سرورها برطرف نمیکنند. در داخل هر VLAN، سیستمها به همدیگر دسترسی دارند و اگر بخواهیم دسترسیها را قطع کنیم، بایستی، سیستمها را در VLAN دیگری قرار دهیم یا از VLAN access list یا از Private VLAN استفاده کنیم. در این مبحث میخواهیم بررسی کنیم private vlan چیست و کاربردهایش بپردازیم.
VACL
تا کنون از access list های مربوط به routing اطلاع داشتیم. اما نوع دیگر از access list که به VACL معروف است وجود دارد که برای انجام تنظیمات access list ای در لایه 2 است.
یک نمونه تنظیم vlan access list
میخواهیم در رنج شبکه 192.168.99.0/24، دسترسی سیستم با آدرس 192.168.99.17 به تمام رنج خود را قطع میکنیم. برای اینکار، در ابتدا extenede access list مربوط را که شبیه به access list ها در routing است مینوسیم. سپس access list نوشته شده را توسط دستور vlan access-map … در سوئیچ و محیط global configuration اعمال میکنیم. در نهایت نیز باید مشخص کنیم، access-map نوشته شده بروی کدام VLAN ها اعمال شود.
در صورتیکه بخواهیم بقیه رنجها باز باشند، در ادامه access-map از دستور action forward استفاده میکنیم.
حال اگر بخواهیم این رویه را در بین تمام سیستمهای راهاندازی کنیم که سیاستهای کاریمان را اعمال کند، سوئیچهایمان پر از خطوط vacl های خواهد شد. تعداد بالای دستور VACL میتواند گیج کننده باشند. برای جلوگیری از این همه دستورات access listای از private vlan استفاده میشود.
معمولا تنظیمات private vlan در server farm انجام میشود مگر اینکه VLAN خاصی در داخلی شبکه LAN داشته باشیم که دسترسیهایشان مهم باشد.
انواع VLAN در Private VLAN و دسترسیهایشان
در private vlan دو نوع VLAN داریم:
- Primary
- secondary
Primary، secondary را میبیند، secondary هم primary را میبیند.
Primary، primary را میبیند اما secondary، secondary را نمیبیند.
دو نوع Secondary vlan داریم
- isolated
- community
Isolated داخلش VLAN خود را نمیتواند ببیند، اما Community داخل VLAN خود را میبیند.
سناریوایی مانند تصویر زیر راهاندازی میکنیم. چهار سرور داریم شامل 2 database و 2 IIS. سرور IIS باید بتواند با database خود ارتباط داشته باشند، که باید بتوانند همدیگر را ببینند، از بیرون بتواند آن دو را ببیند، این دو سرور لزومی به دیدن بقیه سرور ها ندارند. چون نمیتوان برای تمام این تقسیم بندی ها رنج تعریف نمود و چون تعداد رنج ها و VLAN ها بسیار زیاد میشود، تمامی سرور ها در یک رنج آدرس قرار گرفته اند. حال داخل این VLAN نمیخواهیم سرورها، سرورهای دیگر حتی داخل VLAN خود را ببینند و فقط باید سرویس دهی به بیرون از VLAN خود نیز داشته باشند.
با توجه به تعاریف انجام شده در خصوص VLAN های private VLAN، هیچ کدام از subvlanها به همدیگر دسترسی ندارند. به عبارت دیگر، دسترسی VLAN های 10 و 20 و 30 به همدیگر قطع است.
از لحاظ پورتی، پورتی که به سمت primary است را promiscuous (بی شرط) تنظیم میکنند. بقیه پورتها همه host port میشوند.
دستورات private vlan
در ابتدا باید بدانیم تنظیمات private vlan فقط در VTP V3 قابل انجام است. در غیر اینصورت باید سوئیچ را به حالت transparent برده و سپس تنظیمات private vlan را انجام دهید.
در تنظیمات private VLAN بایستی یک VLAN را به عنوان VLAN اصلی انتخاب کنیم (در این سناریو VLAN100 نقش VLAN اصلی را دارد) و سپس آنرا به private VLANهای مورد نظر تقسیم کنیم.
برای ساخت private VLAN از دستور private-vlan primary | community | isolated استفاده میکنیم. برای ارتباط دادن VLAN های زیر مجموعه VLAN اصلی یا primary از دستور association استفاده میشود. به عنوان مثال اگر private vlan های 10 و 20 و 30 ساخته شده باشند و VLAN اصلیشان VLAN 100 باشد باید از دستور زیر برای ارتباط دادنشان استفاده کنیم
vlan 100
private-vlan primary
private-vlan association 10, 20 ,30
برای ارتباط دادن پورت با سوئیچ خارج از private vlan در محیط interface از دستور
switchport mode private-vlan promiscuous
switchport private-vlan mapping 100 10 20 30
و برای تنظیمات پورتهای داخلی در private vlan در محیط interface از دستور
Switchport mode private-vlan host
Switchport private-vlan host-association 100 10
استفاده میکنیم.
ترافیک private vlan برای VLAN های دیگر با tag 100 بیرون می آید و tag های 10 و 20 و 30 دیده نمیشود.
علت اینکه mapping یکبار بروی VLAN و یکبار بروی پورت تعریف میشود این است که امکان دارد دستگاهی وجود داشته باشد که promiscuous بروی خودش نباشد و از طریق ترانک به یک دستگاه دیگر داده باشد.
دستورات مانیتور کردن private vlan
show vlan private-vlan
show vlan private-vlan type
show system internal clis feature