شبکه / سوییچینگ

VLAN چیست و چطور پیکربندی می‌شود

VLAN یک سوییچ فیزیکی را به چند شبکه‌ی جدا تقسیم می‌کند. تگ 802.1Q، پورت access و trunk، native VLAN، مسیریابی بین VLANها، نمونه‌ی کانفیگ Cisco و اشتباه‌های رایج.

نوشته‌ی تیم پیکوگاید آخرین بازبینی فنی: ۴ دقیقه مطالعه
در این صفحه
  1. چرا VLAN؟
  2. تگ 802.1Q چطور کار می‌کند؟
  3. پورت access و trunk
  4. native VLAN
  5. مسیریابی بین VLANها
  6. نمونه‌ی کانفیگ روی Cisco Catalyst
  7. طراحی: چند قاعده‌ی عملی
  8. اشتباه‌های رایج

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 (آن هم نه لزوماً درست) عبور می‌کند.

منابع

  1. IEEE 802.1Q (Wikipedia) en.wikipedia.org
  2. MikroTik Documentation — Bridge VLAN Table help.mikrotik.com