مفهوم VLAN

کاربرد هاوپروتکل های VLAN قسمت دوم

در این پست به سراغ قسمت دوم مقاله کاربرد هاوپروتکل های VLAN خواهیم رفت .

VTP Domain

VTP Domain این امکان رو به ادمین می ­دهد که برای مجموعه ­­ای از سوییچ ­ها نام دامنه یکسان انتخاب کند که باعث می­ شود سوییچ­ ها در دامنه­ های مختلف پیام­ های VTP یکدیگر را نادیده بگیرند . همین !

مثلا در مورد مثال بالا (قسمت اول مقاله) می ­توانیم برای سوییچ­ های مربوط به VLAN های بخش مالی و حسابداری ، VTP Domain یکسانی انتخاب کنیم و در نتیجه پیام­ های VTP در این سوییچ ­ها تا جایی پیش می­ رود که دامنه اجازه می دهد !

آیا امکانش هست که یک سوییچ نام دامنه ­ای نگیرد ولی باز هم پیام­های VTP را دریافت نکند ؟ یا به عبارت دیگر راهی هست که یک سوییچ پیام­های VTP را دریافت کند ولی عکس العملی به این پیام ­ها نشان ندهد ؟ یعنی اطلاعات پیکربندی خود را تغییر ندهد طوری که گویی این پیام اصلا به گوش او نرسیده ؟

برای این کار بایستی که VTP را غیرفعال کنیم . اما دو مشکل وجود دارد ، یکی اینکه بعضی از سوییچ­ های سیسکو نمی­ توانند VTP را غیر فعال کنند و مشکل دوم اینکه حتی اگر بتوانیم VTP را برای سوییچی غیر فعال کنیم ، این راه حل مناسبی نخواهد بود . چرا که ممکن است این سوییچ واسطه­ ای برای سایر سوییچ ­ها باشد که نیاز به دریافت این پیام­ های VTP دارند . با غیر فعال کردن این سوییچ ، عملاً سایر سوییچ­ های وابسته نیز این پیام را دریافت نخواهند کرد .

راه حل بهتر استفاده از VTP Transparent است .

VTP Transparent

بهترین تشبیهی که از Transparent VTP می­ توانیم بکنیم مثال شیشه است . شیشه می ­تواند نور را از خود عبور دهد و نیز آن را منعکس کند بدون اینکه خودش تغییری کند . VTP  Transparent نیز همین کار را با سوییچ می­ کند ، یعنی باعث می­ شود که سوییچ پیام ­های VTP را دریافت کند آن را از خود عبور داده و برای سایر سوییچ ­های همسایه دوباره ارسال ( Forward ) کند اما با دریافت این پیام ­های VTP خودش تغییری نمی ­کند .

این در واقع حالت سوم پروتکل VTP است . قبلا گفتیم که VTP برای سوییچ ­ها سه حالت دارد که دو مورد آن­ها VTP Server و VTP Client بود و VTP Transparent همان حالت سوم است .

سوییچ­­ هایی که روی حالت VTP Transparent تنظیم می­ شوند نیز به مانند VTP Server ها می­توانند VLAN ها را پیکربندی کنند و صاحب VLAN های جدید شوند اما بر خلاف VTP Server ها هرگز این اطلاعات پیکربندی را برای دیگران ارسال نمی­ کنند . در حقیقت سوییچ ­های VTP Transparent به نوعی نسبت به سایر سوییچ­­ ها ایزوله اند .

در سری جدید سوییچ­­ های سیسکو حالت چهارمی به نام noon وجود دارد ، که باعث غیر فعال کردن VTP روی یک سوییچ می­ شود که بهتر است از آن برای سوییچ­­ های ترمینال شبکه استفاده کنیم .

VTP Pruning

قبلاً گفتیم که اگر پیام Broadcast ای از یکی از VLANهای سویچ ارسال شود سوییچ بایستی که این پیام رو بر روی پورت­های ترانک خود ( به جز حالتی خاص ) نیز ارسال کند ، حالا می­خواهیم همون رو توضیح بدیم .

غیر از پیام­ های VTP که که بهتر است کنترل شود تا بی­خودی در کل شبکه پخش نشود ، پیام­ های Broadcast که از ترانک­های سوییچ­ ها خارج می­ شوند نیز باید کنترل شوند . چرا ؟ شکل زیر را در نظر بگیرید.

 

کاربرد هاوپروتکل های VLAN - کنترل ترانک­ها

در این شکل هر کدام از کامپیوتر­ها نماد یک VLAN هستند. هاست ه­ایی که با رنگ سبز مشخص شده است، قصد دارد که پیامی را به صورت Broadcast ارسال کند . سوییچ 1 این پیام رو برای سایر کامپیوتر­های VLAN23 بر روی خود می­ فرستد ، همچنین بایستی که این پیام را بر روی تمام پورت­های ترانک خود نیز ارسال کند تا این پیام به سایر اعضای VLAN23 در سوییچ­ های دیگر نیز برسد . پیام به سوییچ­های دو و سه می رسد .

سوییچ دو : VLAN ID بسته را کنترل می­کند و متوجه می­ شود که این پیام به VLAN­ای از مجموعه VLAN های خودش مربوط نیست بنابراین تنها آن را بر روی ترانک­های خود ( به غیر از ترانکی که پیام ازش آمده ) فوروارد می­ کند ، پیام فوروارد شده از سوییچ دو به دست سوییچ چهار می­رسد، سوییچ چهار سرآیند بسته را کنترل می­ کند و متوجه می­ شود که این بسته به VLAN23 او مربوط است ، بنابراین سرآیند بسته را حذف می­ کند و پیام اصلی را برای VLAN23 خود فوروارد می­ کند .

سوییچ سه : سرآیند پیام رسیده را چک می­ کند و متوجه می­ شود که VLAN ID این پیام ربطی به VLAN ID های خودش ندارد، بنابراین پیام را برای بر روی ترانک­های خود ( به غیر از ترانکی که پیام ازش رسیده ) ارسال می­ کند که در این شکل سوییچ سه دیگر ترانکی ندارد تا پیام را برای آن فوروارد کند !

سوال اینجاست که آیا واقعاً لازم است که این پیام­ها برای همه سوییچ­ها و بر روی همه ترانک­های خارجی ارسال شود ؟

مثلا در شکل بالا چه نیازی هست که این پیام به سوییچ سه برسد ؟!

همان طور که مشخص است نه تنها نیازی به ارسال بیهوده این پیام­ها نیست بلکه نباید هم این طور باشد ، چرا که این عمل پهنای باند شبکه را به هدر می­ دهد و همچنین سبب پردازش و یک سری اعمال اضافه روی سوییچ­ ها می ­شود .

برای اجتناب از این عمل سوییچ­ ها از دو روش پشتیبانی می­ کنند که به وسیله آن ادمین می­ تواند جریان ترافیک روی هر ترانک را کنترل و محدود کند . یکی پیکربندی دستی است که به موجب آن ادمین باید روی هر ترانک لیست VLAN های مجاز را تعریف کند و روش دیگر VTP Pruning یا هرس کردن VTP نام دارد .

VTP می­ تواند به صورت پویا تشخیص دهد که کدام سوییچ­ ها به فریم ­هایی از VLAN مشخصی نیاز ندارد و سپس VTP آن فریم­ های ارسالی از آن VLAN ها را از طریق ترانک­های مناسبی هرس می کند .

شکل زیر این مفهوم را بهتر نشان می­دهد.

 

VTP Pruning

اما VTP چطور به صورت پویا تشخیص می­ دهد که فلان سوییچ نیازی به دریافت فریم­ های فلان VLAN را ندارد ؟

به طور خیلی ساده این طور می­شود توضیح داد که VTP مسئول پیام رسانی بین سوییچ ­ها است و نیز اطلاعاتی از VLAN ها شامل نام و ID شان و اینکه چه VLAN هایی به چه سوییچی وصل است را همراه خود دارد که این اطلاعات دائماً به صورت داینامیکی در فایلی به نام VLAN.dat که dat مخفف database است در حافظه ذخیره و نگهداری می­ شود . به این ترتیب هرس کردن VLAN ها برای VTP کار سختی نخواهد بود !

DTP

در حالت کلی یک پورت سوییچ یا به VLAN خاصی نسبت داده شده یا یک پورت ترانک است . ( البته اگر کلاً بلااستفاده نباشد!! ) اگر این پورت ترانک باشد به راحتی می­ تواند اطلاعات سایر سوییچ ­ها و VLAN ها را از خود عبور بده .

پروتکل DTP ( که فقط مخصوص سوییچ ­های سیسکو است ) کمک می­ کند که در موارد لزوم یک پورت به صورت داینامیکی به پورت ترانک تبدیل شود و بتواند با سوییچ همسایه خود ارتباط برقرار کند و نتیجتاً اطلاعات ترانک را از خود عبور دهد . اکثر سوییچ ­ها به صورت پیش فرض در حالت DTP قرار دارند . به این عمل ترانکینگ پویا گفته می­ شود .

بعد از همه این موارد این سوال پیش می آید که چطور هر پورت رو به VLAN اختصاص می­ دهیم ؟

Static VLAN و Dynamic VLAN

این کار به دو صورت استاتیک ( دستی ) و داینامیک ( غیر دستی ) پیاده سازی می­ شود . در روش دستی ، ادمین شبکه خودش مشخص می­ کند که فلان پورت از فلان سوییچ به کدام VLAN متعلق است که البته این برای شبکه­ های بزرگ کار بسیار مشکل و تقریبا ناممکنی است ! و البته یک ایراد اساسی هم دارد ! و آن این است که در این روش مثلاً ادمین مشخص می­کند که شماره پورت­های 13 ، 14 و 18 از سوییچ 3 متعلق به VLAN بخش مالی یک شرکت است . حالا اگر شخصی لپ تاپ خود را بیاورد و به یکی از این پورت­ها وصل شود عضو VLAN مالی محسوب می­ شود و این یعنی بد !!

در روش پویا تمام سوییچ­ ها را به یک سرور وصل می­ کنیم ، ادمین یک فایل متنی که لیست دسترسی ( Access List ) نام دارد را تعریف می­ کند به طور کلی مشخص می­ کند که مجموعه از پورت­های سوییچ به چه “نوع” کاربری یا “گروه کاربری” ای متعلق است ، مثلا می­تواند این سیاست را با Mac Address اعمال کند یا به روش­های مختلف دیگر؛ در این صورت تکلیف هر سوییچ روشن می­ شود . در این صورت اگر کاربر نامربوطی بخواهد از پورتی که به او مربوط نیست استفاده کند، سوییچ به طور خود به خود او را از دسترسی به VLAN ای که به او مربوط است منع می­ کند !

VLAN ها و Subnetting

در حالت عادی، تمام کامپیوترهایی که در یک LAN عضو هستند ، Subnet مشترکی دارند ، VLAN ها هم درست مانند LAN هستند، به این معنی که اینجا هم کامپیوترهایی که عضور یک VLAN هستند بایستی که Subnet های یکسانی داشته باشند .

پیش­تر گفتیم که مقصد پیام­ها در بین سوییچ ­های مختلف از طریق VLAN ID ای که به هنگام خروج از پورت ترانک به فریم اضافه می­ شود به راحتی قابل تشخیص ­اند ، اما در مورد پیام­هایی که از یک VLAN در یک سوییچ به یک VLAN دیگر در همان سوییچ فرستاده می­ شود چه ؟ چطور می­شود مقصد پیام را تشخیص داد که مربوط به چه VLAN ای است ؟ با لزوم متفاوت بودن subnet که برای VLAN های مختلف است این کار انجام می شود !

شکل زیر را در نظر بگیرید.

 

 VLANها و subnetting

 

در این شکل یک سوییچ لایه دو را می­ بینیم که شامل سه VLAN است . در مورد این سوییچ بعد از تشریح شکل ، توضیحاتی نوشته شده است .

قدم 1

کامپیوتر موجود در VLAN2 با ساب.نت 10.1.1.0 و آدرس 10.1.1.2 تصمیم دارد که پیامی را به کامپیوتر 10.2.2.3 با ساب.نت 10.2.2.0 بفرستد. پیام صادر شده از کامپیوتر 10.1.1.2 به سوییچ می­رسد، سوییچ پیام را گرفته ، subnet پیام را چک می­ کند و چون subnet مقصد پیام با subnet مبدا فرق می­کند متوجه می­شود که پیام برای VLAN دیگری ارسال شده است اما نمی­ داند که آدرس Subnet مقصد به کدام یکی از VLAN هایش متعلق است ( در حقیقت چیزی از مسیریابی نمی ­داند ).

قدم 2

سوییچ بسته را برای مسیریابی به روتر می­ فرستد.

قدم3

روتر عملیات مسیریابی را انجام داده و با توجه به subnet متوجه می­ شود که بسته به VLAN3 متعلق است ، سپس VLAN ID مقصد را به همراه فریم برای سوییچ ارسال می­ کند .

قدم4

سوییچ بسته را دریافت کرده و آن به سوی کامپیوتر 10.2.2.3 روانه می­ کند .

این مثال غیر از بیان مفهوم subnetting در سوییچ­ ها به ما این مطلب را نشان داد که می توانیم از همین سوییچ ­های معمولی لایه دو خودمون ( که البته قابلیت VLANing داشته باشند) به همراه روتر برای VLANing استفاده کنیم .

همین طور این مطلب را به ما نشان داد که البته این کار درست مثل این است که شما قاشق غذا را برای رساندنش به دهانتان دور سرتان بچرخانید ! چرا ؟! چون به خاطر نفهمی سوییچ باید که یک بار پیام را به روتر بفرستیم و بعد روتر دوباره پیام را به سوییچ بفرستد ! به جای این کار می توانیم از سوییچ­­ های فهمیده استفاده کنیم. یعنی چی ؟

سوییچ­ های معمولی که قابلیت VLAN داشته باشند ، سوییچ­ های لایه دو هستند، سوییچ ­هایی­­ اند که با پورت­ها سر و کار دارند. ولی سوییچ­ه ای لایه سه که جدیدتر هم هستند سوییچ­ه ایی هستند که هم می­ توانند کار سوییچ­ های لایه دو را انجام بدهند و هم مسیریابی که کار روتر­هاست ! به عبارتی هم زبان پورت­ها را می­ فهمند و هم زبان IP ها را . و البته خب مسلم است که استفاده از این سوییچ­ ها اگرچه گرانتر از سوییچ­ های لایه دو و روتر­ها هستند ولی در کل باعث ساده شدن شبکه و بالاتربردن قابلیتش می شود .

به هر حال برای استفاده از VLANing نیازی به متحمل شدن هزینه اضافی برای خرید سوییچ­ های لایه سه نیست ، کار با همان سوییچ­های لایه دو هم حل می­ شود اما اگر قصد خرید سوییچ جدیدی برای شبکه خود را دارید استفاده از سوییچ­ های لایه سه مناسب­تر است .

امنیت VLAN ها و ترانک­ها

VLANها درست است که از یک جنبه­ هایی امنیت را فراهم می­ کنند مثلاً با جدا کردن ترافیک بخش­های مختلف از هم ، به طوری که یک بخش قادر به مشاهده ترافیک بخش دیگر نباشد ؛ اما از یک سری لحاظ دیگر می­ توانند امنیت شبکه را دچار مشکل کنند ! در ادامه به بررسی این موارد می ­پردازیم .

یکی از مهمترین­ هایش وجود VLAN1 است ! که به صورت پیش فرض در همه سوییچ ­ها به عنوان native VLAN تعبیه شده است . و پیام­هایی که از این VLAN صادر می­ شود برچسب نخواهند خورد ! و همین امر باعث می­شود که کلیه پیام­ های VLANهای 1 به راحتی قابل شنود باشند . دلیل بعدیش همان طور که گفتیم ترافیک بین سوییچ ­ها از طریق ترانک­ها و توسط پروتکل­های ترانکینگ ISL و 802.1Q کنترل می­ شوند .

این پروتکل­ها تنها از طریق هدر بسته های رسیده از VLAN ها به وظایف خود عمل می ­کنند، حالا یک مهاجم از ترکیب این دو ویژگی می ­تواند به هر VLAN ای که خواست دسترسی داشته باشد ! چه طور ؟ مهاجم بسته خارج شده از VLAN1 را که به راحتی قابل شنود است و بسته بندی هم نشده است ، بسته بندی می­ کند و هدر خود را به آن اضافه می­ کند ! پروتکل­ های ترانکینگ حالا با بسته ­ای سر و کار دارند که هدر دارد و وظیفه دارد که پیام را به سوییچ مربوطه برساند !!

و اما چطور می­شود جلوی این کار را گرفت ؟ بهترین کار این است که تمامی پورت­ها و ترانک­ها را از VLAN1 خارج کنیم، و تا آنجا که می­ توانیم از این VLAN استفاده نکنیم ، و به جای آن VLAN دیگری را به عنوان native VLAN تعریف کنیم . اگر پروتکل­هایی داریم که تنها باید از VLAN1 استفاده کنند سعی کنیم که VLAN1 نهایت امنیت را به کار ببریم .

مورد بعدی اینکه تمام پورت­هایی که در یک سوییچ بلا استفاده هستند را خاموش ( shut down ) کنیم، باید توجه داشت که حتی disable کردن هم امن نیست چرا که امکان Enable کردنش وجود خواهد داشت و سپس این پورت­های بلااستفاده را در یک VLAN جداگانه قرار دهید و آن VLAN را به هیچ VLAN دیگری ارتباط ندهید . به این VLAN ها اصطلاحاً Parking lot VLAN می­ گویند !

  1. اگر یک سری از پورت­ها خیلی مهم و حیاتی هستند ، آن­ها را از سایر پورت­ها جدا کرده و در یک VLAN جداگانه­ ی امن ، نگهداری کنید .
  2. اگر نسبت به یک سری از کاربران مشکوک هستید ، آن­ها را در VLAN های جداگانه ­ای قرار بدهید ( نگاهی کنید به شکل 6 )
  3. پروتکل DTP را که امکان ترانک کردن یک پورت در صورت نیاز را مهیا می­ کرد، غیر فعال کنیم ، چرا که این کار می­ تواند توسط یک هکر صورت گیرد!
  4. برای سوییچ ­ها پسورد بگذارید. از سیاست­های port security استفاده کنید.
  5. و توجه داشته باشید که این تنها پاره ­ای از مواردی بودند که می­ شد با اتکا به آنها امنیت بیشتری را در VLAN ها برقرار کرد و پیدا کردن باقی راه­ها و روش­ها بر عهده خودتان است .

منبع : en.wikipedia.org

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *