نوشته‌ها

مفهوم 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 هستند. هاست ه­ایی که با رنگ سبز مشخص شده است، قصد دارد که پیامی را به صورت 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 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ها و 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 ها برقرار کرد و پیدا کردن باقی راه­ها و روش­ها بر عهده خودتان است.

استاندارد 802.1Q IEEE

استاندارد 802.1Q IEEE در سوئیچ های سیسکو

استاندارد 802.1Q IEEE در سوئیچ های سیسکو :

روش ISL چند سالی است که به وسیله استاندارد 802.1Q IEEE جایگزین شده است.مزیت این استاندارد جدید آنست که بین تولید کنندگان مختلف شرکت بوده و همه دستگاه های مختلف که توسط آنان تولید می شوند از این استاندارد پشتیبانی می کنند.در حالیکه ISL را می توان فقط در دستگاه های سیسکو بکار برد.

بنابراین می توان از دستگاه هایی با مارک های مختلف بدون نگرانی در مورد اتصالات Trunk استفاده نمود.برخلاف روش ISL که تمامی فریم های Ethernet را همیشه Tag می نمود،استاندارد 802.1Q IEEE دو روش را پیش می گیرد.

یکی اینکه فریم های Ethernet بدون اینکه تغییری روی آنها اعمال شود ، ارسال میشوند. یعنی این فریم ها Tag نشده و بنابراین اطلاعاتی در مورد VLAN با خود انتقال نمی دهند. در این وضعیت، عضویت در یک VALN خاص به وسیله پورت ها تعیین خواهد شد. مثلا هر دستگاهی که به یک پورت مخصوص اتصال داشته باشد، عضو یک VLAN خاص خواهد بود.

به این نوع از VLAN ها اصطلاحا Native VLAN گفته می شود. روش دیگر هم این است که سوئیچ تمامی فریم ها را Tag کرده ، و فقط دستگاه هایی که از استاندارد 802.1Q IEEE استفاده می کنند قادر به پردازش آنها می باشند. یکی دیگر از مزیت های استاندارد 802.1Q IEEE  این است که، هر دوی فریم های Tagged و Untagged بطور همزمان می توانند در داخل یک ارتباط Trunk قرار داشته باشند. که این را می توان در شکل زیر مشاهده نمود.

802.1Q-Trunk

802.1Q-Trunk

در این شکل VLAN ای که به شکل خطوط سبز نشان داده شده و شامل دستگاه هایA,B,E و F می شود. از فریم های Tagged در حین اتصال Trunk بین سوئیچ A و B استفاده می کند. تمامی دستگاه هایی که به این VALN اتصال دارند. باید قابلیت استفاده از 802.1Q را داشته باشند تا توانایی خواندن اطلاعات مربوط به VLAN موجود در فریم Tagged را داشته باشند تا توانایی خواندن اطلاعات مربوط به VLAN موجود در فریم Tagged را داشته باشند.

همچنین کامپیوتری به نام G نیز توسط یک Hub به دو سوئیچ وصل شده است.

این دستگاه دارای کارت شبکه استاندارد بوده و در نتیجه متوجه فریم های Tagged نشده و آنها پردازش نخواهد کرد. اما کامپیوتر G عضو VLAN دیگر است که با خطوط قهوه ای مشخص شده و کامپیوتر های C و D نیز همان VLAN هستند.

برای اینکه دستگاه های فوق بتوانند با همدیگر ارتباط برقرار نمایند،اتصال Trunk برقرار شده بین سوئیچ های A و B باید قادر به انتقال فریم های Untagged نیز باشد تا دستگاه G نیز بتوانند از اطلاعات ارسالی استفاده کند.در نتیجه اتصال Trunk ایجاد شده بین سوئیچ A و B باید هر دو نوع فریم های Tagged و Untagged را به صورت همزمان از خود عبور بدهد.
یکی از محدودیت هایی که در 802.1Q وجود دارد این است که همه دستگاه های موجود در هر دو طرف اتصال باید از یک نوع فریم( Tagged یا Untagged ) استفاده نمایند.

در قسمت های قبلی اشاره گشت که روش Tagging اضافه کرده و فریم اصلی Ethernet مابین این دو قرار می گیرد.اما رو شکار در 802.1Q بدین صورت است که یک فیلد ۴ بایتی به نام Tag در داخل خود فریم Ethernet جاسازی شده و FCS فریم از اول محاسبه خواهد شد.بنابراین فریم اصلی Ethernet تغییر خواهد یافت .

۲ بایت اول فیلد Tag برای مشخص کردن پروتکل مورد استفاده قرار می یگرد.برای مثال فریم های Ethernet از عدد ۸۱۰۰x0 استفاده می کنند.۳ بیت بعدی برای شماره گذاری خود فریم مورد استفاده قرار گرفته و یک بیت بعدی نیز شناسه Token Ring می باشد. سر انجام ۱۲ بیت آخری نیز برای مشخص کردن VLAN ها کاربرد دارد.

شکل زیر نشان دهنده مراحلی است که طی آن ،یک فریم استاندارد Ethernet حین عملیات Tagging تغییر می یابد .

802.1Q- Tagging

802.1Q- Tagging

همانطوریکه میبینید، مرحله اول، یک فریم استاندارد Ethernet را نمایش می دهد، که در مرحله دوم فیک فیلد به نام Tag در داخل آن جاسازی شده و FCS آن دوباره محاسبه خواهد شد.

همچنین فیلد Tag بعد از فیلد حاوی آدرس MAC گیرنده قرار می گیرد.

یکی ازمزیت های دیگر استفاده از این روش آنست که با جاسازی ۴ بایت در داخل فریم Ethernet ،اندازه کلی فریم معمولا از ۱۵۱۸ بایت فراتر نخواهد رفت و بنابراین می توان این فریم ها را از طریق اتصالات Link Access نیز ارسال نمود.

 

آموزش راه اندازی SSH در سوئیچ ها و روتر های سیسکو

آموزش ( ISL ) پروتکل انحصاری شرکت سیسکو

امنیت VLAN و Trunk

امنیت VLAN و Trunk در سوئیچ های سیسکو

امنیت VLAN و Trunk :

درست است که VLAN  ها از یک جنبه­ هایی امنیت را فراهم می­کنند مثلاً با جدا کردن ترافیک بخش­ های مختلف از هم، به طوری که یک بخش قادر به مشاهده ترافیک بخش دیگر نباشد؛ اما از لحاظ دیگر می­ توانند امنیت شبکه را دچار مشکل کنند.
یکی از مهمترین مشکلات وجود VLAN1 است که به صورت پیش فرض در هـمه سوئیچ­ها به عنوان native VLAN تعبیه شده است و پیام­هایی که از این VLAN صادر می­شود برچسب نخواهند خورد. و همین امر باعث می­شود که کلیه پیام­های VLANهای ۱ به راحتی قابل شنود باشند. دلیل بعدی آن همان طور که گفتیم ترافیک بین سوئیچ­ها از طریق ترانک­ها و توسط پروتکل­های ترانکینگ ISL و Q 802.1 کنترل می شوند.

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

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

پروتکل­های ترانکینگ با بسته ه­ایی سر و کار دارند، که هدر داردو مامور است ومعذور که پیام را به سوئیچ مربوطه برساند!

اما چگونه می توان جلوی این موضوع را گرفت؟

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

امنیت VLAN و Trunk :

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

منبع : آقای اکرمی

VLAN Trunking

مفهوم VLAN Trunking در سوئیچ های سیسکو

مفهوم VLAN Trunking :

اگر VLAN در شبکه هایی که با چندین سوئیچ به هم وصل شده اند استفاده شود، برای بخش های بین سوئیچ بایستی که از VLAN Trunking استفاده کنیم. به عبارت ساده تر وقتی روی سوئیچ ها VLAN تعریف می کنیم، سوئیچ ها را از طریق ترانک به هم وصل می کنیم. بنابراین در مورد مثال دانشکده IT و MBA نیز بایستی که بین سوئیچ ها از VLAN Trunking استفاده کنیم. تا سوئیچ دانشکده فیزیک بتواند با VLAN خود در سوئیچ دانشکده IT در ارتباط باشد.

VLAN-Trunking

VLAN-Trunking

اما بسته ای که از سوئیچ دانشکده فیزیک خارج می شود از کجا مشخص می شود که به سمت کدام VLAN باید برود؟

VLAN Tagging

VLAN Trunking باعث می شود که سوئیچ ها از فرآیندی استفاده کنند که VLAN Tagging (برچسب زدن VLAN) نامیده می شود. همان طور که از نام این فرآیند مشخص است، VLANها برچسب گذاری می شوند، تا هویت بسته های ارسالی و دریافتی مشخص باشد و سوئیچ ها بدانند کدام فریم متعلق به کدام VLAN می باشد.

در حقیقت وقتی بسته ای می خواهد که از پورت ترانک سوئیچی خارج گردد، سوئیچ به آن بسته یک برچسب می زند، که در آن برچسب شمارهVLAN یا (VLAN ID) که این بسته به آن تعلق دارد را قرار میدهد تا از این طریق سوئیچهای دیگر متوجه شوند که بسته دریافتی به کدام یکی از VLANهایشان مربوط است.

اما سوئیچها چگونه VLAN ID را پیدا می کنند؟ برای این کار طبق یک استاندارد، سوئیچ قبل از اینکه فریم را به سوئیچ دیگری ارسال کند، یکHeader را به فریم اضافه می کند که VLAN ID در آن Header قرار می گیرد. بنابراین سوئیچ وقتی فریمی را دریافت میکند اول Header آن را برای پیدا کرده و VLAN ID آن را چک می کند تا بداند بسته به کدام یکی از VLAN ها تعلق دارد.

Trunking VLAN به چه صورت در سوئیچ ها ایجاد می شود؟ برای این کار کافی است از یکی از پورت های سوئیچ استفاده کنیم و به تنظیمات پیکربندی سوئیچ رفته و آن پورت را به TRUNK اختصاص دهیم. با اینکار سوئیچ میتواند از VLAN Trunking استفاده کند.

VLAN Trunking :

فقط به یاد داشته باشید که اگر سوئیچ پورت TRUNK داشته باشد، ترافیک دریافتی از VLAN های آن را به تمام پورتهای TRUNK نیز ارسال میکند به جز در مورد حالتی خاص که در مورد آن بحث خواهیم کرد.

شکل زیر سعی دارد TRUNK را روشن تر بیان نماید.

در این شکل PC 3 در VLAN2 قصد دارد که پیامی را به صورت Broadcast ارسال کند. سوئیچ این پیام را به سایر کامپیوترهایی که با کامپیوتر ارسال کننده در یک Broadcast Domain هستند می رساند، در ادامه کار، سوئیچ می بایست این فریم را به پورت ترانک خود نیز ارسال کند تا اگر در سایر سوئیچ ها هم VLAN2 باشد، این پیام به آن ها نیز برسد. اما قبل از اینکه فریم از سوئیچ خارج شود و روی ترانک قرار گیرد، می بایست به فریم برچسب بزنیم! این کار را با اضافه کردن Header به فریم و قرار دادن شماره VLAN ارسال کننده فریم توسط سوئیچ انجام می گیرد.

Access-and-Trunk-Interfaces

Access-and-Trunk-Interfaces

انواع پروتکل های ترانکینگ

پیش تر گفتیم سوئیچ Headerهایی را به فریم ها اضافه می کند. اما این Header چه شکل و قالبی خواهد داشت و چگونه تعریف خواهند شد؟

شکل و قالب این Header توسط پروتکل های ترانکینگ تعریف می شود. به طور کلی دو نوع پروتکل ترانکینگ داریم که یکی خاص منظوره (Inter Switch Link = ISL) که توسط شرکت سیسکو و تنها برای سوئیچ های سیسکو تعریف گردیده و دیگری عام منظوره (۸۰۲٫۱Q) که توسط IEEE برای عموم سوئیچ ها طراحی شده است. در حقیقت پروتکل ISL خیلی قبل تر از پروتکل۸۰۲٫۱Q طراحی شده بود و تنها به منظور استفاده در سوئیچ های سیسکو می باشد؛ اما این پروتکل دیگر حتی در بعضی از سوئیچ های جدید سیسکو نیز پشتیبانی نمی شود! همچنین پروتکل ISL تنها بین دو سوئیچ سیسکو که از پروتکل ISL پشتیبانی می کنند قابل استفاده است.

هر کدام از این پروتکل ها قالب خاص خود را برای تعریف Header دارند.

هر دو پروتکل  از شماره VLAN های یکسـان استفاده می کنند یعنی هر دو از شماره پروتکل ۱۲ بیتـی برای VLAN ID استفاده می کنند که منجر به ۲-۲۱۲ شماره مختلف می شود. (شماره های ۰ و ۴۰۶۵ در نظر گرفته نمی شوند )

توجه داشته باشید که ID های ۱ تا ۱۰۰۵ به عنوان رنج نرمال و ID های بالاتر از آن برای برای VLAN های گسترش یافته استفاده می شود. یک تفاوت خیلی مهم بین پروتکل ISL و ۸۰۲٫۱Q استفاده از ویژگی ای به نام Native VLAN است که فقط پروتکل۸۰۲٫۱Q از آن پشتیبانی می کند .

Native VLAN

روی هر سوئیچ به صورت پیش فرض یک VLAN تعریف شده که تمام پورت های سوئیچ به آن VLAN اختصاص داده شده اند شماره این VLAN همیشه ثابت و برابر ۱ است و به آن native VLAN می گویند. مثلا اگر سوئیچی ۲۶ عدد پورت داشته باشد در ابتدا تمام این ۲۶ پورت در انحصار VLAN 1 است، وقتی شما VLAN 2 را تعریف می کنید می توانید تعدادی از این پورت ها را به VLAN 2 اختصاص دهید که در آن صورت دیگر از انحصار VLAN 1 خارج می شوند. یادتان باشد که شما نمی توانید شماره این VLAN را تغییر دهید و یا آن را حذف کنید و در ضمن همیشه شماره VLAN های شما از ۲ شروع می شود.

۸۰۲٫۱Q از native VLAN استفاده ای مفید می کند، ۸۰۲٫۱Q به فریم هایی که از VLAN 1 یا همان native VLAN می آیند Header اضافه نمی کند و نتیجه این می شود که فریم بی Header به دست سوئیچ دیگری می رسد. سوئیچ دیگر هم وقتی که متوجه شد که فریم Header ندارد می فهمد که این فریم از یک Native VLAN به دستش رسیده و او نیز این فریم را به Native VLAN خود ارسال می کند.

این کار باعث می شود که اگر به سوئیچی متصل شدیم که پروتکل های تراکینگ در آن تعبیه نشده است باز هم بتوانیم عمل انتقال فریم ها را انجام دهیم، چرا که پروتکل های تراکینگ Headerی به فریم اضافه می کنند که باعث می شود فریم اصلی درون این Header کپسوله شود و برای سوئیچی که پروتکل های تراکینگ در آن تعبیه نشده است فریم نامفهوم می شود ولی این Header در Native VLAN وجود ندارد و به این ترتیب می توانیم با سوئیچ بدون TRUNK ارتباط برقرار کنیم.

در حقیقت Native VLAN برای سوئیچ هایی که حداقل قابلیت عبور ترافیک و آن هم تنها برای یک VLAN را دارند کاربرد دارد. دلیل دوم اینکه پروتکل هایی نظیر CDP، STP ، VTP، PagP و… وجود دارند که تنها برای عبور از VLAN 1 تنظیم شده اند.

برای بالا بردن امنیت در VLAN ها می توانیم VLAN 1 را نادیده بگیریم و VLAN دیگری را به عنوان Native VLAN برای سوئیچ ها تعریف کنیم، فقط نکته قابل توجه این است که Native VLAN بایستی که برای همه سوئیچ¬ها تعریف شده باشد و همه قبول داشته باشند که مثلاً VLAN30 یک Native VLAN است.

بیایید فرض کنیم که سه عدد سوئیچ داریم که هر کدام بایستی پورت هایی داشته باشند که به VLAN ای با شماره ۳ اختصاص دارد، برای تعریف این VLAN بایستی که برای هر سوئیچ به قسمت تنظیمات پیکربندی آن رفته و VLAN شماره ۳ و نام آن را تعریف کنیم و اگر احتمالاً مجبور شدیم که نام یک VLAN را عوض کنیم بایستی که این تغییر نام را بر روی تک تک سوئیچ ها اعمال کنیم. مطمئناً برای سه سوئیچ کار چندان سختی نخواهد بود، اما اگر ۲۰۰ عدد سوئیچ داشتید این قضیه به چه شکل خواهد بود، برای رفع این مشکل از پروتکلی به نامVTP استفاده می کنیم.

منبع : آقای اکرمی

مفهوم VLAN

مفهوم پایه VLAN در سوئیچ های سیسکو

مفهوم VLAN :

برای درک بهتر مفهوم VLAN باید به این جمله از تعاریف موجود برای شبکه LAN اتکا کرد “ یک شبکه LAN شامل تمام دستگاه­هایی است که در یک Broadcast Domain باشند”

Broadcast Domain :

یک پیام Broadcast (پیام­های فراگیر)، به دامنه­ ای که این پیام­ ها تا آنجا می­ توانند ارسال شوند و پیش بروند (Broadcast Domain)  دامنه (Broadcast) گفته می­شود.

به عنوان یه تعریف دیگر تمام ایستگاه­ ها و وسایلی که بهLAN  متصل­ هستند عضو یک Broadcast Domainاند و در این صورت اگر یکی از ایستگاه­ ها پیامی را به صورت Broadcast ارسال کند، تمام ایستگاه ­های عضو آن Domain Broadcast یک کپی از آن پیام را دریــــافت می­ کنند.

(VLAN   (Virtual Local Area Network

VLAN یعنی LAN هایی که به صورت مجازی پیاده سازی می­ شوند.

دلیل استفاده از VLAN ؟

در ابتدا حالتی را در نظر بگیرید که VLAN نداریم؛ در حالت معمول در یک LAN تمام پورت­های یک سوئیچ عضو Broadcast Domain مشابهی­اند. به این ترتیب اگر یک ایستگاه پیامی را به صورت Broadcast ارسال کند، تمام دستگاه­هایی که در آن Broadcast Domain هستند. مثلا در شکل زیر کامپیوتر بنفش پیامی را به صورت Broadcast ارسال می­کند و همان طور که در شکل مشخص است این پیام به تمام هاست­هایی که در آن Broadcast Domain هستند می­رسد. به نظر شما این روش از لحاظ کارایی معقول می­باشد؟

LAN

LAN

در حالت کلی این روش معقول نمی  باشد!! چرا که ممکن است که PC 1 بخواهد که این پیام را تنها به PC 2 برساند، اما از این طریق سایر کامپیوترها نیز این پیام را دریافت میکنند، شاید به نظرتان برسد که برای این کار به جای ارسال Broadcast میتواند از ارسال مستقیم به PC 2 استفاده کند؛ این فکر درست است، اما باید بگویم که این شکل تنها یک مثال سـاده برای بیان چیــــزی است که می خواهیم در موردش بیشتر بدانیم؛

به عبارت بهتر اگر فرض کنید که هر کدام از این کامپیوترها نماد ۱۰۰۰ کامپیوتر باشد قضیه به چه شکل خواهد بود؟! اینجاست که ارسال Broadcast کاملاً مفید به نظر میرسد! اما همان طور که گفتیم هنوز این مشکل وجود دارد که علاوه بر PC 2 سایر کامپیوترها هم این پیام را دریافت می کنند. این کار پهنای باند زیادی را هدر می هد. بحث پهنای باند را هم که کنار بگذاریم از نظر امنیتی به مشکل بر می خوریم.

برای رفع این مشکل می توان PC 1 و  PC 2 را عضو یک LAN قرار داد و سایر کامپیوتر ها را را عضو یک LAN دیگر، تا بدین شکل هرکدام از این LAN ها Broadcast Domain خودشان را داشته باشند. اما برای این راه حل نیاز است که یک سوئیچ دیگر خریداری کنیم و این هزینه زیادی برای ما در بر خواهد داشت. اما اگر از VLAN استفاده کنیم می توانیم همین دو شبکه مجـزا را روی یک سوئیچ پیاده سازی کنیم و دو VLAN مجزا داشته باشیم.

به این ترتیب که برخی از پورت های سوئیچ را مثلا به VLAN شماره ۲ و برخی دیگر را به VLAN شماره ۳ نسبت می دهیم و هر کدام از VLANها Broadcast Domain خاص خود را خواهند داشت که از دسترس ســایر ایستگاه های VLANدیگر دور خواهد ماند. شکل زیر این موضوع را بهتر نشان می دهد.

VLAN

VLAN

برای درک بهتر مفهوم VLAN ، دانشگاهی را در نظر بگیرید که از دانشکده های مختلفی تشکیل شده است. فرض کنید که دانشکده IT و MBA در یک ساختمان دو طبقه قرار داشته باشند، و هر کدام شبکه LAN مخصوص به خود را داشته باشند.

حالا اگر در دانشکده MBA با کمبود فضا برای استاد جدیدی روبرو شویم ناچاریم که کاربر را در مکان دانشکده IT جای دهیم و با اتصال کابل او به پورت سوئیچ واقع در دانشکده IT از این پس آن کاربر عضوی از Broadcast Domain دانشکده IT میشود و تمام اطلاعات مربوط به این دانشکده را میتواند دریافت کند کما اینکه با Broadcast Domain دانشکده MBA نیز در ارتباط نخواهد بود. در نظر بگیرید که پورت های سوئیچ شبکه دانشکده MBA پر شده، در حالی که پورت های سوئیچ دانشکده IT هنوز خالی است.

اگر استاد جدیدی به دانشکده MBA دعوت شود می توانیم او را به عضو پورتی از پورت های سوئیچ شبکه IT در بیاوریم که در این صورت باز همان دو مشکل بالا بروز خواهد کرد و یا اینکه می توانیم هزینه اضافی ای را متحمل شویم و سوئیچ دیگری را خریداری کنیم!

IT-and-MBA-Department

IT-and-MBA-Department

اما اگر از VLAN استفاده کنیم، این مشکل­ها دیگر وجود نخواهند داشت. به این ترتیب که تمام پورت­های سوئیچ را به یک LAN اختصاص ندهیم بلکه تعدادی از آن را به یک VLAN و تعدای دیگر را به یک VLAN دیگر و… اختصاص بدهیم.

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

در این شکل دو سوئیچ داریم که یکی متعلق به دانشکده IT و دیگری متعلق به دانشکده MBA است، روی سوئیچ دانشکده IT دو VLAN ساخته­ایم که یکی متعلق به دانشکده IT و دیگری مربوط به دانشکده MBA است.

در نهایت نتیجه این می­شود که کامپیوتر­های دانشکده IT در یک VLAN با یک Broadcast Domain مخصوص به خود و کامپیوتر­های دانشکده MBA در یک VLAN دیگر با Broadcast Domain  خاص خود قرار خواهند داشت صرف نظر از اینکه در چه مکان فیزیکی­ای (طبقه اول یا دوم) قرار دارند.

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

VLAN-Concepts

VLAN-Concepts

از مجموع این دو مثال متوجه می­شویم که VLAN ها موارد پرکاربردی هستند! و حتماً متوجه شدید که در واقع در VLAN ما یک LAN بزرگ با یک Broadcast Domain به همان اندازه بزرگ را به VLAN های کوچکتر با Broadcast Domain های کوچکتر تقسیم می­کنیم و در حقیقت این عمل باعث صرفه جویی در پهنای باند، امنیت بیشتر، جلوگیری از صرف هزینه اضافی در جهت خریدن سوئیچ و برخوداری از یک طراحی منعطف برای شبکه­ می­شود.

به علاوه VLAN ها مزایای دیگری نیز دارند از جمله نگهداری و حفاظت از کامپیوتر­هایی که با سایر کامپیوتر­ها عضو یک LAN می­باشند اما حاوی اطلاعات مهمی­ بوده و با استفاده از مفهوم VLAN می توانیم آن­ها را در VLAN مجزایی نگهداری کنیم.

همین طور در (VOIP (Voice Over IP به وسیله VLAN ها می توانیم ترافیکی که توسط یک IP Phone فرستاده می­شود را از ترافیکی که توسط کامپیوتر متصل به تلفن فرستاده می­شود مجزا کنیم.

یک بار دیگر دو مثال بالا را با هم مرور می­کنیم. در مثال اولی ما شبکه­ای شامل یک سوئیچ داشتیم که آن را به دو VLAN تبدیل کردیم. پیاده سازی این مثال کار ساده­ای خواهد بود. کافی است که به تنظیمات پیکربندی سوئیچ برویم و پورت­هایی از سوئیچ را به VLAN1، و سایر پورت­ها را به VLAN2 اختصاص بدهیم. البته لازم است که بدانیم محدودیتی بر تعداد VLAN ها روی یک سوئیچ وجود ندارد و اســاساً به تعداد پورت­ها و ایستگاه­های موجود در یک VLAN بستگی دارد.

اما شبکه ها همیشه به همین سادگی نخواهند بود. برای درک این موضوع مجدداً مثال دانشکده MBA و IT را در نظر بگیرد. در آنجا دو سوئیچ با دو VLAN داشتیم. که برخی از پورت­های سوئیچ دانشکده IT به VLAN2 و برخی دیگر به VLAN3 اختصاص داده شده بود. همچنین پورت­های سوئیچ دانشکده MBA نیز به VLAN3 اختصاص داده شده بود. پر واضح است که باید دو سوئیچ به طریقی با هم در ارتباط باشند تا بتوانند ترافیک ­VLAN­های مشابه را از هم انتقال بدهند.

منبع : آقای اکرمی

آموزش VLAN Trunking در سوئیچ های سیسکو