جعفر قنبری شوهانی
مهندس و مدرس زیرساخت و امنیت و مدیر ارشد وب سایت توسینسو

معرفی انواع VLAN در سویچ سیسکو و نحوه ایجاد VLAN به زبان ساده

به دسته ای از میزبان ها که با استفاده از Switch های مشترک به هم متصل هستند را یک Subnet فیزیکی می توان نامید اما یک Subnet منطقی به دسته ای از میزبان ها گفته می شود که از سوئیچ های فیزیکی به صورت مشترک استفاده می کنند و به صورت منطقی از یکدیگر جدا شده اند هر Subnet منطقی به صورت کاملا مجزا از دیگر Subnetها عمل می کند.به این روش VLAN گفته می شود و در واقع یک شبکه بزرگ را می توانم به شبکه های کوچکتر تقسیم کنیم. یکی از مزایای این روش کاهش Broadcast می باشد.عضوهای هر VLAN را می توانیم براساس پورت های فیزیکی ، MAC Address و یا براساس یوزر مشخص کنیم.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

به طور کلی دو نوع VLAN داریم

  • End-to-End Vlan : در این حالت اعضای هر VLAN در سرتاسر شبکه پراکنده هستند.این حالت برای اشتراک منابع و اعمال سیاست ها و پراکندگی میزبان مورد استفاده قرار می گیرد. در این حالت خطایابی پیچیده تر می باشد چون ترافیک VLANهای مختلف در سراسر شبکه در حال انتقال است.
وب سایت توسینسو
  • Local VLAN : در این حالت میزبان ها براساس موقعیت فیزیکی خود در VLANها قرار می گیرند.به طور مثال یک طبقه از یک ساختمان این طراحی مقیاس پذیرتر و خطایابی در ان ساده تر می باشد چون نحوی جریان ترافیک مشخص است. برای اشتراک منابع در این روش نیاز routing داریم.
وب سایت توسینسو

پارامترهایی که قبل از اجرای VLAN باید مورد توجه قرار گیرد

  • طراحی و انتخاب شماره VLANها ، نام و IP Address
  • نوع VLAN مورد نیاز Local یا End-to-End
  • نیاز به Trunk داریم؟ و کجا؟
  • VTP به چه صورت تنظیم و مورد استفاده واقع شود؟
  • بررسی و تست طرح

نکته: به طور پیش فرض تمامی پورت ها عضو VLAN یک هستند.

ایجاد VLANها بسیار ساده است تنها کافیست در Config Mode دستور زیر را وارد کنید:

Switch(Config)#vlan 15

بسته به نوع نرم افزار عددی که برای VLAN می توان در نظر گرفت بین 1 تا 1005 یا بین 1 تا 4094 می باشد.همچنین بهتر است یک نام برای هر VLAN در نظر گرفت با دستور زیر:

Switch(config-vlan)#name itpro

جهت حذف یک VLAN از دستور زیر استفاده می کنیم:

Switch(Config)#no vlan 15

جهت اختصاص یک پورت به یک VLAN از دستور زیر استفاده می کنیم : وارد اینترفیس مورد نظر شوید.

Switch(Config)#interface fastethernet 0/1

اینترفیس را در حالت Access قرار می دهیم.

Switch(config-if)#switchport mode access

با دستور زیر اینترفیس را عضو vlan 15 می کنیم

Switch(config-if)#switchport access vlan 15

جهت دیدن لیست vlan و portهای اختصاص یافته به ان از دستور زیر استفاده می کنیم:

Switch#show vlan

خروجی این دستور به شکل زیر است:

وب سایت توسینسو

نکته : اگر پورتی در این دستور نمایش داده نشد ان پورت Trunk می باشد.

نکته: اطلاعات VLAN در فایل vlan.dat در حافظه فلش ذخیره می شود.

انواع mode های قابل استفاده برای هر پورت

  • Access : این حالت جهت ارتباط سوئیچ و میزبان یا به عبارتی End Device ها کاربرد دارد و فریم به صورت untag (بدون تگ) ارسال می شوند.
  • Trunk : معمولا این حالت جهت ارتباط سوئیچ ها با یکدیگر استفاده می شود و فریم به صورت tag شده ارسال می شوند.
  • Dynamic : در این حالت به صورت مذاکره با طرف مقابل نوع Access یا Trunk انتخاب می شود

VLAN Trunking چیست؟

یک لینک یا پورت Trunk توانایی حمل ترافیک چندین VLAN را دارد و به طور معمول جهت ارتباط سوئیچ ها مورد استفاده قرار می گیرد.Trunk می تواند از دو پروتکل جهت حمل ترافیک VLAN استفاده کند.

  • Inter-Switch Link-ISL : پروتکل اختصاصی سیسکو که سایز Header که جهت انتقال VLANها اضافه می کند 26 بایت می باشد و البته در حال حاضر زیاد مورد استفاده قرار نمی گیرد.
  • 802.1Q : پروتکل استاندارد و عمومی می باشد سایز Header که اضافه می شود 4 بایت می باشد و دارای قابلیت Native VLAN می باشد.

سوئیچ زمانی که یک Frame را روی پورت Access دریافت می کند شماره VLAN ان پورت را در Header مربوط به Frame قرار می دهد و به اصلاح Tag می شود و سپس مسیر را طی می کند تا به پورت که قرار است از ان خارج شود می رسد این Tag حذف شده و روی پورت ارسال می شود.

نکته : پروتکل DTP (Dynamic Trunking Protocol) جهت انجام مذاکره در حالت Dynamic برای انتخاب نوع پورت مورد استفاده قرار می گیرد.

جدول زیر نشان دهنده وضعیت دو پورت در حالت های مختلف می باشد:

وب سایت توسینسو

نکته: اگر پورت را در حالت Dynamic قرار دهیم می توانیم دو حالت Auto یا Desirable را برای ان انتخاب کنیم. حالت Auto به صورت Listening عمل می کند و اگر طرف مقابل پیشنهاد Trunk شدن را بدهد پورت در حالت Trunk فرار می گیرد در غیر این صورت در حالت Access خواهد بود. اما Desirable به صورت فعال شروع به ارسال فریم های DTP می کند و به طرف مقابل پیشنهاد Trunk شدن می دهد.

نتیجه حاصل از دستورات جهت تعیین حالت پورت:

Switch(config-if)#Switchport mode access

این دستور پورت را به صورت دائم در حالت Access قرار می دهد. و شروع به ارسال فریم های DTP می کند تا با طرف مقابل برای تبدیل لینک به حالت Access مذاکره کند. این پورت به حالت Access تغییر می کند حتی اگر پورت مقابل این شرایط را قبول نکند.

Switch(config-if)#Switchport mode dynamic desirable

با زدن این دستور پورت با ارسال فریم های DTP تلاش می کند که پورت را به حالت Trunk تغییر دهد.پورت به حالت Trunk تغییر پیدا می کند در صورتی که طرف مقابل در حالت Auto ، Desirable و یا Trunk باشد به Trunk تبدیل می شود. این حالت پیش فرض برای همه پورت ها می باشد.

Switch(config-if)#Switchport mode dynamic auto

در این حالت پورت در حالت Listening قرار می گیرد و اگر طرف مقابل در حالت Trunk یا Desirable باشد لینک تبدیل به Trunk می شود در غیر اینصورت در حالت Access خواهد بود.

Switch(config-if)#Switchport mode trunk

این دستور پورت را به صورت دائم در حالت Trunk قرار می دهد. و شروع به ارسال فریم های DTP می کند تا با طرف مقابل برای تبدیل لینک به حالت Trunk مذاکره کند. این پورت به حالت Trunk تغییر می کند حتی اگر پورت مقابل این شرایط را قبول نکند.

Switch(config-if)#Switchport nonegotiate

در این حالت پورت DTP ارسال نمی کند.این دستور را زمانی می توانید استفاده کنید که پورت را در حالت Access یا Trunk قرار گرفته باشد. برای استفاده از این حالت باید طرف مقابل را به صورت دستی تنظیم کنیم.جهت مشخص کردن نوع یک پورت از دستور زیر استفاده می کنیم:

Switch(config-if)#Switchport mode {dynamic {auto|desirable} | trunk | Access}
Switch(config-if)#Switchport nonegotiate

در صورتی که از 802.1Q استفاده کنیم با استفاده از دستور زیر یک VLAN را به عنوان Native تعیین کنیم:

Switch(config-if)#Switchport trunk native vlan 15

نکته : VLAN که به عنوان Native انتخاب شود ترافیک ان VLAN بدون tag ارسال می شود.

نکته: بهتر است که VLAN که از ان استفاده نمی شود به عنوان Native انتخاب شود چون Native یک ضعف بزرگ به نام VLAN Hopping دارد.

VLANs Allowed on the Trunk

به طور پیش فرض تمامی VLAN ها اجازه عبور از پورت Trunk را دارند.جهت تعیین پورت های که فقط اجازه عبور دارند از دستور زیر استفاده می کنیم:

Switch(config-if)#Switchport trunk allowed vlan 12,15
Switch(config-if)#Switchport trunk allowed vlan all
Switch(config-if)#Switchport trunk allowed vlan add 20
Switch(config-if)#Switchport trunk allowed vlan remove 15

جهت نمایش وضعیت یک پورت از دستور زیر استفاده می کنیم:

Switch#show interfaces fastEthernet 0/1 switchport

مواردی که در مورد Trunk باید رعایت شود

  1. یک VLAN که استفاده نمی شود به عنوان Native انتخاب شود.
  2. روی پورتی که باید Trunk شود مذاکره جهت Trunk شدن را غیر فعال کنیم.
  3. پورتی که هیچ وقت به عنوان Trunk استفاده نمی شود را در حالت Access قرار دهیم.
  4. تنها به VLANهای که مورد استفاده هستند اجازه عبور روی Trunk را بدهید.

جعفر قنبری شوهانی
جعفر قنبری شوهانی

مهندس و مدرس زیرساخت و امنیت و مدیر ارشد وب سایت توسینسو

جعفر قنبری شوهانی ، مهندس و مدرس شبکه ، آشنایی من با شبکه برمی گرده به سال 1382 که دوره NT و Novel رو گذروندم و الان بیشتر از 10 ساله سابقه اجرایی در سطح Enterprise (بانک ها ، موسسه مالی ، ادارات دولتی ، سرویس پروایدر) را دارم و در حال حاضر به عنوان مهندس شبکه در شرکت توزیع برق مشهد و به عنوان مدیر ارشد و مدرس شبکه در سایت ToSinSo مشغول به کار هستم. در اکثرا حوزه های شبکه کار کردم و تجربه دارم اما تخصص اصلیم رو در حوزه زیرساخت و امنیت اون میدونم

نظرات