Virtual Local Area Network تکنولوژی است که در سوئیچها و تجهیزات لایه 2 و 3 ممکن است دیده باشید.
از
یک مثال ساده شروع میکنم. فرض کنید یک سوئیچ سیسکو 2960 داریم. یک پهنای
باند 4 مگی داریم به همراه 8 آدرس که gateway ما روتر سرویس دهنده ماست. با
هر منطقی به این نتیجه میرسیم که تمامی دستگاههای خود را به سوئیچ متصل
کرده و کابل روتر سرویس دهنده را نیز به آن متصل کنیم.
حال یکی از
تجهیزات ما یک روتر است که عمل NAT را انجام می دهد که به 10 PC سرویس
میدهد. اگر تمامی آن PC ها را به سوئیچ متصل کنیم کلاینتهای ما میتواند
آزادانه با تنظیم کردن آدرسهای VALID ما از اینترنت استفاده کنند. بسیاری
از سرویس دهنده های اینترنت به این مشکل مبتلا هستند که اگر مقداری کلاینت
آنها باهوش باشد کار آنها ساخته است.
خب اولین راه حل این است که از 2 عدد سوئیج استفاده کنیم. که منطقی است. اما شما هزینه اضافه پرداخت کرده اید.
برای این کار میتوان به سادگی از VLAN استفاده نمود و سوئیچ خود را تبدیل به 2 یا چند سوئیچ مجزا کرد.
امیدوارم
با این مثال مفهوم کلی VLAN رو متوجه شده باشید. از این به بعد برای هر
مثال دستوراتش را هم مینویسم که برای مثال بالا میشود:
En
Conf t
Vlan 45
Name Persianadmins
Exit
Interface f0/2
Switchport access vlan 45
Exit
Interface 0/23
Switchport access vlan 45
Exit
که در این مثال دو پورت 2 و 23 از بقیه سوئیچ جدا شده و فقط با یکدیگر در ارتباطند.
حال
کمی حرفه ای تر به شبکه نگاه میکنیم. ما در یک ساختمان یک شبکه داریم که
چند سوئیچ در آن استفاده شده. به عنوان مثال یکی در طبقه اول و دیگری در
طبقه دوم. یک کارمند حسابداری و کارمند فروش میبایست در یک LAN باشند اما
هر کدام در یک طبقه قرار دارند. در این موقعیت از حالت قبل نمیتوان استفاده
کرد. باید ابتدا دوسوئیچ را به یکدیگر متصل نموده سپس یک لینک ارتباطی
برای ایندو بگذاریم. که برای اتصال دو سوئیچ باید از تکنولوژی ترانک
استفاده نمود.
TRUNK چیست؟
VTP (VLAN Trunk Protocol)
Trunk یک
پروتکل است که برای انتفال VLAN از یک سوئیچ به سوئیچ یا از یک سوئیچ به
روتر به کار می رود. به زبان ساده با Trunk یک VLAN را در دو دستگاه معتبر
میسازیم.
با توجه به مثال قبل ما دو سوئیچ را که هر دو توسط یک کابل از پورت Fastethernet0/1 به یکدیگر متصل شده اند را Trunk میکنیم:
Switch1:
En
Conf t
vtp domain PersianAdmins
Interface f0/1
Switchport mode trunk
Description Connected-switch2
Exit
Vlan 66
Name accounting
Exit
Int f0/4
Switchport access vlan 66
Descript Sale
Exit
Switch2:
En
Conf t
vtp domain PersianAdmins
Interface0/1
Switchport mode trunk
Desc connected-switch1
Exit
Vlan 66
Name accounting
In t f0/21
Switchport access vlan 66
Descri ghasem
Exit
در
هر سوئیچ ابتدا پورت 1 را ترانک کرده و با دستور description توضیحاتی
درباره آن مینویسیم که صرفا جهت آکاهی خودمان است. سپس vlan مربوطه را
ایجاد کرده و به دلخواه جهت آگاهی اسمی به آن اختصاص میدهیم. و در آخر هر
کدام از پورتهای دلخواه را به vlan مورد نظر متصل میکنیم.
جهت مشاهده VLAN های موجود از دستور show vlan استفاده میکنیم. که خروجی آن بدین ترتیب است:
Switch1>sh vlan
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/2 , Fa0/3 , Fa0/5, Fa0/6
Fa0/7 , Fa0/8 , Fa0/9, Fa0/10, Fa0/11
Fa0/12, Fa0/13, Fa0/14, Fa0/15
Fa0/16, Fa0/17, Fa0/18, Fa0/19
Fa0/20, Fa0/21, Fa0/22, Fa0/23
Fa0/24, Gi0/1, Gi0/2
66 accounting active Fa0/4
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
1 enet 100001 1500 - - - - - 0 0
60 enet 100060 1500 - - - - - 0 0
61 enet 100061 1500 - - - - - 0 0
63 enet 100063 1500 - - - - - 0 0
64 enet 100064 1500 - - - - - 0 0
65 enet 100065 1500 - - - - - 0 0
67 enet 100067 1500 - - - - - 0 0
1002 fddi 101002 1500 - - - - - 0 0
1003 tr 101003 1500 - - - - - 0 0
1004 fdnet 101004 1500 - - - ieee - 0 0
1005 trnet 101005 1500 - - - ibm - 0 0
Remote SPAN VLANs
--------------------------------------------------
Primary Secondary Type Ports
در
حالت پیش فرض تمامی پورت های یک سوئیچ عضو VLAN 1 هستند که به آن native
VLAN گفته می شود. در این حالت سوئیچ مانند یک سوئیچ SOHO عمل میکنید و
برای اتصال به یک سوئیچ همانند خود کافی است از یکی از پورتها به سوئیچ
دیگری کابلی اتصال دهیم.
مثال 3 )مثال دیگری میزنیم.
فرض کنید که دو
سوئیچ لایه 2 و یک سوئیچ لایه 3 داریم. از هر سوئیچ لایه 2 کابلی به سوئیچ
لایه 3 متصل نموده ایم. هدف ما ارتباط پورت 8 سوئیچ لایه 2 اول که switchB
مینامیم به پورت 9 سوئیچ لایه 2 دوم که switchC مینامیم است.
برای این
منظور به طور مثال ابتدا باید پورتهای 10 هر سوئیچ را Trunk نموده و به
سوئیچ لایه 3 که switchA نام دارد متصل کنیم , یک vlan مشترک در هر 2
switch ایجاد کرده و پورتهای مورد نظر در switchB و switchC را عضو آن در
آوریم و در switchA نیز پورتهای متصل به هر دو سوئیچ را trunk میکنیم ,که
مینویسیم:
switchA:
en
conf t
vtp domain persianadmins
Vlan 33
Name persianadmins
Exit
Int f0/22
Switchport mode trunk
Exit
Int f0/23
Switchport mode trunk
Exit
switchB:
en
conf t
vtp domain persianadmins
int f0/10
Switchport mode trunk
Exit
Vlan 33
Name persianadmins
Int f0/8
Switchport access vlan 33
Exit
switchC:
en
conf t
vtp domain persianadmins
int f0/10
Switchport mode trunk
Exit
Vlan 33
Name persianadmins
Exit
Int 0/9
Switchport access vlan 33
exit
در
بعضی اوقات به علت وجود سوئیچ های متعدد و شلوغی شبکه نیاز به
troubleshoot شبکه خود داریم که اگر بر روی سوئیچها IP ست کنیم بسیار به ما
کمک میکند. از دیگر مزایای دارا بودن IP بر روی سوئیچ ها امکان دسترسی به
آنها از راه دور توسط telnet است.
در سوئیچ میبایست آدرس به vlan اختصاص داده شود. که بالطبع فقز در آن VLAN قابل مشاهده است.
مثال4) در سولوشن مثال 3 میتوان با آدرس دهی به سوئیچها بر روی vlan 33 با تمامی سوئیچها ارتباط داشت:
پس مینویسیم:
switchB&C:
en
conf t
int vlan 33
ip address 109.74.200.10 255.255.255.0
exit
ip default-gateway 109.74.200.1
username shahin password padmins
enable secret padmins300
line tty 0 4
login local
exit
switchA:
en
conf t
int vlan 33
ip address 109.74.200.5 255.255.255.0
exit
ip route 0.0.0.0 0.0.0.0 109.74.200.1
username shahin password padmins
enable secret padmins300
line tty 0 4
login local
exit
ابتدا به اینترفیس آدرس و گیت وی دادیم سپس یک یوزر تعریف و امکان ارتباط از طریق Telnet را به آن محیا کردیم.
توجه
داشته باشید که telnet بر روی یک روتر خطر ساز نیست. اما برای امنیت بیشتر
میتوان با استفاده از access-list آن را محدود کرد. که متاسفانه این مسئله
در ذهن متخصصان کم سواد مخابرات به گونه دیگر نقش بسته است.
تا به حال به VLAN و Trunk بین سوئیچها پرداختیم. اکنون به ارتباط VLAN با یک روتر و InterVLAN Routing میپردازیم.
مثال5)به عنوان مثال ما در یک ISP میخواهیم به 20 مشترک سرویس اختصاصی اینترنت IP Base ارائه دهیم.
در
ساده ترین راه و نا امن ترین راه میتوان یک آدرس به عنوان default gateway
در روتر خود تعریف کرده و کابل آن اینترفبس را به یک hub متصل کنیم. که به
راحتی میتوان با اتصال مشترک به سوئیچ به وی سریس داد. اما در این حالت هر
مشترک میتواند آدرس مشترک دیگری را ست نموده و موجب اختلال شود. در این
مرحله میبایست هر مشترک وارد vlan مجزا شود و روتر را به نحوی تنظیم نمائیم
که به آن VLAN سرویس دهد. برای این کار میتوان از Cisco, Linux و MikroTik
استفاده نمود که جداگانه هر یک را توضیح خواهم داد.
ابتدا تنظیمات سوئیچ را که مشترک است را انجام میدهیم:
Switch:
En
Conf t
Int f0/1
Switchport mode trunk
Exit
Vlan 18
Name padmins
Exit
Int f0/4
Switchport access vlan 18
Exit
در
روتر VLAN مانند یک sub interface عمل میکند به عنوان مثال اگر کابل متصل
به سوئیچ پورت gigabitethernet0/1 باشد VLAN ها درون آن اینترفیس قرار
میگیرند. به بیان ساده یک اینترفیس را به قسمت های متعدد تبدیل میکنیم.
که برای روتر Cisco مینویسیم:
En
Conf t
Interface gi0/1.18
Encapsulation dot1q
Ip address 192.168.23.1 255.255.255.0
Exit
Exit
که آدرس مورد نظر دلخواه و برای آن VLAN خاص است.
شاید واژه encapsulation برای شما تازه باشد. ابتدا به توضیح encapsulation میپردازم:
Encapsulation
تقریبا همان معنی را می دهد که پیش تر در آموزشهای ابتدایی شبکه خوانده
اید. معنی قابل فهم آن کلاهک گذاری بر روی پکت هاست. از آنجا که VLAN نیز
یک پروتکل است برای خود یک header دارد. و از آنجایی که شرکت محترم cisco
یک لیدر و مرجع در زمینه شبکه محسوب میگردد یک پروتکل انحصاری برای خود
دارد به نام ISL و بقیه device ها از 802.1q استفاده میکنند. که cisco نیز
از آن پشتبانی میکند.
در این مثال من از 802.1q استفاده نمودم که
encapsulation پیش فرض cisco همین است. هر سوئیچ یا روتر میتواند 4096 vlan
را در خود جای دهد که انتخاب شماره آن دلخواه است.
استفاده از VLAN بر روی سرور لینوکس:
تصور میکنیم که لینوکس ما کارت شبکه ای دارد که با عنوان eth0 شناخته شده است.
ابتدا باید package مربوطه را نصب کنیم که برای سیستم عامل های debian base مینویسیم:
Apt-get install vlan
و برای redhat base :
Yum install vconfig
که پس از نصب برای اضافه کردن vlan 18 به eth0 مینویسیم :
Vconfig add eth0 18
و
برای اضافه کردن آدرس به اینترفیس فوق همانند اینترفیس عادی عمل میکنیم با
تفاوت اینکه در فایل کانفیگ به جای eth0 وارد میکنیم eth0.18
استفاده از VLAN بر روی روتر MikroTik :
پس
از config کردن سوئیچ به میکروتیک خود لاگین میکنیم. از منوی Interfaces
کلید add یا (+) قرمز را فشار میدهیم. از منوی کرکره ای باز شده گزینه VLAN
را انتخاب میکنیم. جلوی filed name یک نام اختیاری وارد میکنیم سپس مقدار
maximum transfer unit (MTU) را تعیین کرده که یه صورت پیش فرض 1480 است.
مهمترین فیلد یعنی VLAN ID که همان 18 مشخص شده است را وارد میکنیم سپس
اینترفیس فیزیکی که میخواهیم VLAN زیر مجموعه آن باشد را از لیست زیرفرم
انتخاب کرده و در آخر کلید ok را فشار میدهیم.
حال VLAN ایجاد شده یک
اینترفیس مستقل است که شما میتوانید به آن آدرس اختصاص دهید یا هر سرویسی
نظیر PPPoE , DHCP , VPNو ... را روی آن run کنید.
شما با استفاده از
VLAN در شبکه خود انعطاف پذیری و کیفیتی مطلوب به وجود می آورید. ممکن است
در استفاده از این تکنولوژی بسیاری از مشکلات شما حل شود که پیش تر دلیل آن
را نمی دانسته اید. به عنوان مثال ممکن است شما یک ISP باشید که مشترکین
متعددی دارید. شما نیاز به ارائه گراف مصرف پهنای باند به ازای هر مشترک
دارید. اگر بدون استفاده از VLAN به مشترکین سرویس دهید به علت اینکه تمامی
مشترکین از یک اینترفیس خارج میشوند هیچ نرم افزاری نمیتواند به صورت مجزا
به شما گزارش مصرف دهد. اما با استفاده از VLAN شما براحتی برای هر مشترک
یک اینترفیس مجزا دارید که حتی برای قطع موقت مشترک میتوانید آن اینترفیس
را shutdown یا disable کنید.
ممکن است شما یک سرویس دهنده ADSL باشید
که در یک مرکز مخابراتی 4 عدد DSLAM دارید. اگر تمامی DSLAM ها توسط یک
سوئیچ به روتر متصل گردند حتی اگر بر روی DSLAM ها Isolation را فعال کرده
باشبد کل یوزر های یک DSLAM میتوانند با کامپیوترهای متصل به DSLAM دیگر به
راحتی ارتباط برقرار کرده و File sharing داشته باشند. با حتی در شبکه شما
اختلال ایجاد کنند.
ممکن است شما مدیر یک شبکه درون یک اداره باشید. که
نیار دارید شبکه حوزه مدیریت را از حوزه یوزر های عادی جدا کنید که با
تنظیم VLAN های متفاوت روی کلیه سوئیچ ها این امر محقق می شود.