VLAN چیست و چطور پیکربندی میشود
VLAN یک سوییچ فیزیکی را به چند شبکهی جدا تقسیم میکند. تگ 802.1Q، پورت access و trunk، native VLAN، مسیریابی بین VLANها، نمونهی کانفیگ Cisco و اشتباههای رایج.
در این صفحه
VLAN (Virtual LAN) یک سوییچ فیزیکی را به چند شبکهی منطقی جدا تقسیم میکند. دستگاههایی که در دو VLAN مختلف هستند، حتی اگر به یک سوییچ وصل باشند، بدون عبور از روتر یا سوییچ لایهی ۳ نمیتوانند مستقیم با هم حرف بزنند. استاندارد این کار IEEE 802.1Q است و تقریباً همهی سوییچهای مدیریتی از آن پشتیبانی میکنند.
چرا VLAN؟
- جداسازی امنیتی: دوربینها، تلفنهای VoIP، مهمانها و سرورها هر کدام در شبکهی خودشان. یک لپ تاپ آلوده در شبکهی مهمان به سرورها دسترسی ندارد.
- کوچک کردن دامنهی broadcast: هر VLAN یک دامنهی broadcast جداست. ARP و DHCP یک طبقه، کل شبکه را درگیر نمیکند.
- انعطاف: جای فیزیکی کاربر مهم نیست؛ کارمند مالی در هر طبقهای که باشد در VLAN مالی قرار میگیرد.
تگ 802.1Q چطور کار میکند؟
وقتی یک فریم اترنت روی لینکی بین دو سوییچ حرکت میکند، سوییچ ۴ بایت به آن اضافه میکند که مشخص میکند فریم متعلق به کدام VLAN است:
| فیلد | اندازه | کاربرد |
|---|---|---|
| TPID | 16 بیت | مقدار 0x8100؛ نشان میدهد فریم تگ دارد |
| PCP | 3 بیت | اولویت (QoS)، از ۰ تا ۷ |
| DEI | 1 بیت | علامت قابل حذف بودن در ازدحام |
| VID | 12 بیت | شمارهی VLAN |
با ۱۲ بیت، شمارهی VLAN بین ۱ تا ۴۰۹۴ است؛ مقدارهای ۰ و ۴۰۹۵ رزرو شدهاند.
پورت access و trunk
| پورت access | پورت trunk | |
|---|---|---|
| تعداد VLAN | یکی | چند VLAN |
| تگ روی فریمها | بدون تگ | با تگ (به جز native VLAN) |
| به چه وصل میشود | کامپیوتر، پرینتر، دوربین | سوییچ دیگر، روتر، سرور مجازی سازی، access point |
دستگاههای معمولی از تگ VLAN خبر ندارند. سوییچ روی پورت access تگ را اضافه و حذف میکند و کامپیوتر همیشه فریم بدون تگ میبیند.
native VLAN
روی پورت trunk، یک VLAN میتواند بدون تگ عبور کند؛ به آن native VLAN میگویند. در سوییچهای Cisco مقدار پیش فرض VLAN 1 است. native VLAN دو طرف لینک باید یکسان باشد؛ در غیر این صورت ترافیک یک VLAN وارد VLAN دیگر میشود.
مسیریابی بین VLANها
VLAN در لایهی ۲ جدا میکند؛ برای این که VLANها با هم ارتباط کنترل شده داشته باشند، به یک دستگاه لایهی ۳ نیاز دارید:
- سوییچ لایهی ۳ با SVI: برای هر VLAN یک اینترفیس مجازی با IP روی سوییچ. سریعترین روش در شبکههای سازمانی.
- Router-on-a-stick: یک لینک trunk به روتر یا فایروال و یک sub-interface برای هر VLAN. وقتی میخواهید ترافیک بین VLANها از فایروال عبور کند و بازرسی شود، این روش مناسبتر است.
قاعدهی رایج: هر VLAN یک subnet. مثلاً VLAN 10 با 10.10.10.0/24 و VLAN 20 با 10.10.20.0/24. شمارهی VLAN را در octet سوم تکرار کنید تا هم خواندنش ساده باشد و هم خطای انسانی کمتر شود. روش تقسیم یک بازهی آدرس بین VLANها در آدرس دهی IP و subnetting آمده است.
نمونهی کانفیگ روی Cisco Catalyst
ساخت VLANها:
vlan 10
name USERS
vlan 20
name SERVERS
vlan 999
name NATIVE-UNUSEDپورت یک کامپیوتر در VLAN کاربران:
interface GigabitEthernet1/0/5
description PC-Finance-01
switchport mode access
switchport access vlan 10
spanning-tree portfastلینک trunk به سوییچ دیگر:
interface GigabitEthernet1/0/48
description Uplink-to-Core
switchport mode trunk
switchport trunk native vlan 999
switchport trunk allowed vlan 10,20روی سوییچهای قدیمیتر که هم ISL و هم 802.1Q را پشتیبانی میکنند، پیش از switchport mode trunk باید switchport trunk encapsulation dot1q را هم وارد کنید. سری Catalyst 9000 فقط 802.1Q دارد و این دستور لازم نیست.
بررسی:
show vlan brief
show interfaces trunkدر میکروتیک همین کار با bridge VLAN filtering انجام میشود؛ منطق یکی است، ولی دستورها و ترتیب فعال کردن فرق دارد.
طراحی: چند قاعدهی عملی
- VLAN 1 را برای کاربران و مدیریت استفاده نکنید.
- VLAN مدیریت جدا داشته باشید تا رابط مدیریتی سوییچها، iLO و iDRAC از دسترس کاربران خارج باشد.
- روی trunk فقط VLANهای لازم را با
allowed vlanمجاز کنید؛ trunk بدون محدودیت همهی VLANها را به همه جا میبرد. - جدول VLANها (شماره، نام، subnet، gateway، کاربرد) را مستند کنید. در شبکهای با دهها VLAN، این جدول تنها چیزی است که جلوی خطا را میگیرد.
اشتباههای رایج
VLAN روی سوییچ ساخته نشده. اگر پورت را در VLANی قرار دهید که در دیتابیس VLAN سوییچ نیست، پورت ترافیک عبور نمیدهد. در Cisco، show interfaces status این پورت را با وضعیت inactive نشان میدهد.
VLAN در allowed list نیست. دستگاه در VLAN درست است، ولی trunk بین دو سوییچ آن VLAN را عبور نمیدهد. show interfaces trunk را روی هر دو سوییچ بررسی کنید.
native VLAN دو طرف متفاوت است. Cisco با CDP پیام Native VLAN mismatch را در لاگ نشان میدهد. مقدار را در دو طرف یکسان کنید.
یک لینک trunk فقط یک طرفش trunk است. یک طرف access و طرف دیگر trunk یعنی فقط یک VLAN (آن هم نه لزوماً درست) عبور میکند.
منابع
- IEEE 802.1Q (Wikipedia) en.wikipedia.org
- MikroTik Documentation — Bridge VLAN Table help.mikrotik.com