آموزش VLAN در سیسکو در عمل چهار قدم دارد: VLANها را روی همه سوئیچهای مسیر بسازید، پورت کاربران را در حالت Access به VLAN درست بدهید، لینک بین سوئیچها را Trunk کنید و Native VLAN و فهرست VLANهای مجاز را روی هر دو سر لینک یکسان تنظیم کنید. برای اینکه VLANها با هم ارتباط داشته باشند، Inter-VLAN Routing را روی روتر (Router-on-a-Stick) یا سوئیچ لایه ۳ راه بیندازید.
مفاهیم پایه مثل دامنه Broadcast، STP و نقش VLAN در طراحی شبکه را در مقاله سوییچینگ در سیسکو توضیح دادهایم. این راهنما روی اجرا تمرکز دارد: یک سناریوی مشخص، دستور هر مرحله، خواندن خروجی دستورهای بررسی و خطاهایی که بیشتر از همه وقت میگیرند. اگر سوئیچ هنوز hostname، رمز و دسترسی SSH ندارد، اول پیکربندی اولیه روتر و سوئیچ سیسکو را انجام دهید. دستورها بر اساس راهنمای رسمی پیکربندی VLAN در سوئیچهای Catalyst نوشته شدهاند و روی بیشتر سوئیچهای مدیریتی سیسکو با IOS و IOS XE یکساناند.
سناریوی این راهنما
دو سوئیچ دسترسی SW1 و SW2 با یک لینک Trunk به هم وصلاند و SW1 با لینک دیگری به روتر یا سوئیچ لایه ۳ میرسد. کاربران فروش و حسابداری باید در شبکههای جدا باشند و سوئیچها از یک VLAN مدیریتی جداگانه مدیریت شوند:
| VLAN | نام | شبکه | Gateway |
|---|---|---|---|
| 10 | SALES | 192.168.10.0/24 | 192.168.10.1 |
| 20 | ACCOUNTING | 192.168.20.0/24 | 192.168.20.1 |
| 99 | NATIVE-UNUSED | بدون آدرس و بدون کاربر | ندارد |
| 100 | MGMT | 192.168.100.0/24 | 192.168.100.1 |
| 999 | PARKING | برای پورتهای بلااستفاده | ندارد |
آموزش VLAN در سیسکو: ساخت VLAN روی سوئیچ
این دستورها را روی SW1 و SW2 اجرا کنید. شناسه VLAN عددی بین 1 و 4094 است و نام آن فقط برای خوانایی است:
configure terminal
vlan 10
name SALES
vlan 20
name ACCOUNTING
vlan 99
name NATIVE-UNUSED
vlan 100
name MGMT
vlan 999
name PARKING
end
show vlan briefVLAN باید روی هر سوئیچی که ترافیکش از آن عبور میکند وجود داشته باشد. اگر SW2 VLAN 20 را نشناسد، این VLAN حتی با Trunk درست هم از لینک عبور نمیکند. اگر در شبکه VTP فعال است، پیش از هر تغییر خروجی show vtp status را ببینید؛ سوئیچی که در حالت Server باشد و Revision بالاتری داشته باشد میتواند فهرست VLAN سوئیچهای دیگر را بازنویسی کند. در شبکههای کوچک بسیاری از مدیران VTP را روی حالت Transparent یا Off میگذارند و VLANها را دستی میسازند.
پورت Access: اتصال کاربر به VLAN
پورت Access فقط ترافیک یک VLAN را حمل میکند و فریمها را بدون تگ به دستگاه کاربر میدهد. پورتهای سوئیچ Catalyst بهصورت پیشفرض در حالت dynamic auto هستند؛ یعنی اگر دستگاه طرف مقابل درخواست Trunk بفرستد، پورت Trunk میشود. برای همین حالت پورت را صریح تعیین کنید:
interface range GigabitEthernet1/0/1 - 12
description SALES-USERS
switchport mode access
switchport access vlan 10
switchport nonegotiate
spanning-tree portfast
no shutdown
!
interface range GigabitEthernet1/0/13 - 20
description ACCOUNTING-USERS
switchport mode access
switchport access vlan 20
switchport nonegotiate
spanning-tree portfast
no shutdown
!
interface range GigabitEthernet1/0/21 - 44
description UNUSED
switchport mode access
switchport access vlan 999
shutdownswitchport nonegotiate ارسال بستههای DTP را قطع میکند. PortFast را فقط روی پورتی بگذارید که به کامپیوتر، پرینتر یا تلفن وصل است؛ روی پورتی که به سوئیچ دیگر میرسد ممکن است حلقه ایجاد کند. پورتهای بلااستفاده هم در VLAN 999 خاموش میمانند تا اگر کسی کابلی به آنها وصل کرد، مستقیم وارد شبکه کاربران نشود.
اگر تلفن IP پشت پورت است و کامپیوتر به پورت تلفن وصل میشود، VLAN صوتی را هم به همان پورت Access بدهید. مثلاً پس از ساخت VLAN 150، دستور switchport voice vlan 150 ترافیک صدا را در VLAN 150 و ترافیک کامپیوتر را در VLAN 10 نگه میدارد.
پورت Trunk و Native VLAN
کانفیگ Trunk بین دو سوئیچ
Trunk چند VLAN را روی یک لینک حمل میکند و به هر فریم تگ 802.1Q اضافه میکند تا سوئیچ مقابل بداند فریم متعلق به کدام VLAN است. همین تنظیم را روی پورت مقابل در SW2 هم اعمال کنید:
interface GigabitEthernet1/0/48
description TRUNK-TO-SW2
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk native vlan 99
switchport trunk allowed vlan 10,20,99,100
switchport nonegotiateخط switchport trunk encapsulation dot1q فقط در مدلهایی لازم است که علاوه بر 802.1Q از ISL هم پشتیبانی میکنند، مثل برخی Catalyst 3560 و 3750 قدیمی. در این مدلها تا Encapsulation را تعیین نکنید، سوئیچ اجازه switchport mode trunk را نمیدهد. در Catalyst 2960 و سری 9000 فقط 802.1Q وجود دارد و این خط لازم نیست.
Native VLAN چیست و چرا VLAN 1 نباشد؟
ترافیک Native VLAN روی Trunk بدون تگ ارسال میشود و هر فریم بدون تگی که به پورت Trunk برسد، در Native VLAN قرار میگیرد. مقدار پیشفرض VLAN 1 است. اگر Native را روی یک VLAN بیاستفاده مثل 99 بگذارید که هیچ کاربری در آن نیست، خطر حمله Double Tagging (VLAN Hopping) و نشت ترافیک بدون تگ به شبکه کاربران کمتر میشود.
Native VLAN باید روی هر دو سر لینک یکسان باشد. اگر SW1 مقدار 99 و SW2 مقدار 1 داشته باشد، ترافیک بدون تگ از یک VLAN وارد VLAN دیگر میشود و خطا معمولاً بیصدا رخ میدهد. اگر CDP فعال باشد، سوئیچ پیامی شبیه این را در لاگ ثبت میکند:
%CDP-4-NATIVE_VLAN_MISMATCH: Native VLAN mismatch discovered on GigabitEthernet1/0/48 (99), with SW2 GigabitEthernet1/0/48 (1).فهرست VLANهای مجاز را بازنویسی نکنید
بهصورت پیشفرض همه VLANهای 1 تا 4094 روی Trunk مجازند. محدود کردن فهرست کار درستی است، اما رایجترین اشتباه همینجا رخ میدهد: اگر بعداً برای اضافه کردن VLAN 30 بنویسید switchport trunk allowed vlan 30، فهرست قبلی پاک میشود و VLANهای 10 و 20 روی آن لینک قطع میشوند. برای تغییر فهرست از add و remove استفاده کنید:
interface GigabitEthernet1/0/48
switchport trunk allowed vlan add 30
switchport trunk allowed vlan remove 20حالتهای DTP و تشکیل Trunk
اگر حالت پورت را صریح تعیین نکنید، نتیجه به ترکیب دو سر لینک بستگی دارد:
| سر اول | سر دوم | نتیجه |
|---|---|---|
| trunk | trunk | Trunk |
| trunk | dynamic auto یا dynamic desirable | Trunk (به شرط اینکه سر اول DTP بفرستد و nonegotiate نباشد) |
| dynamic desirable | dynamic auto | Trunk |
| dynamic auto | dynamic auto | Access؛ هیچ طرف درخواست Trunk نمیدهد |
| trunk با nonegotiate | dynamic auto | Access؛ سر دوم هیچ پیام DTP دریافت نمیکند |
| access | هر حالت | Access |
سادهترین قاعده: هر دو سر لینک بین سوئیچها را switchport mode trunk و switchport nonegotiate بگذارید و پورتهای کاربر را switchport mode access.
بررسی Trunk با show interfaces trunk
show interfaces trunk
show interfaces GigabitEthernet1/0/48 switchportخروجی show interfaces trunk چهار بخش دارد. بخش اول Mode، Encapsulation، وضعیت و Native VLAN را نشان میدهد. بخش دوم VLANهای مجاز، بخش سوم VLANهایی که مجازند و روی همین سوئیچ هم ساخته شدهاند و بخش چهارم VLANهایی که STP آنها را در حالت Forwarding نگه داشته است. اگر VLANی در بخش دوم هست ولی در بخش سوم نیست، روی این سوئیچ ساخته نشده است. یادتان باشد پورت Trunk در خروجی show vlan brief دیده نمیشود و این خطا نیست.
Inter-VLAN Routing در سیسکو
هر VLAN یک شبکه IP جداست، پس کامپیوتر VLAN 10 برای رسیدن به سرور VLAN 20 به یک دستگاه لایه ۳ نیاز دارد که Gateway هر دو شبکه باشد. دو روش رایج وجود دارد.
روش اول: Router-on-a-Stick
روتر با یک پورت فیزیکی به پورت Trunk سوئیچ وصل میشود و برای هر VLAN یک Subinterface میگیرد. پورت سوئیچ را مثل Trunk بین دو سوئیچ تنظیم کنید و روی روتر:
interface GigabitEthernet0/0/1
no ip address
no shutdown
!
interface GigabitEthernet0/0/1.10
encapsulation dot1Q 10
ip address 192.168.10.1 255.255.255.0
!
interface GigabitEthernet0/0/1.20
encapsulation dot1Q 20
ip address 192.168.20.1 255.255.255.0
!
interface GigabitEthernet0/0/1.99
encapsulation dot1Q 99 native
!
interface GigabitEthernet0/0/1.100
encapsulation dot1Q 100
ip address 192.168.100.1 255.255.255.0طبق مستندات سیسکو، Subinterface مربوط به Native VLAN سوئیچ باید کلمه native را داشته باشد و روی هر پورت فیزیکی فقط یک Subinterface میتواند native باشد. خود پورت فیزیکی هم آدرس IP نمیگیرد. اگر کلمه native را فراموش کنید، ترافیک بدون تگ به هیچ Subinterface نمیرسد.
روش دوم: سوئیچ لایه ۳ و SVI
در سوئیچ لایه ۳ برای هر VLAN یک اینترفیس مجازی (SVI) میسازید و مسیریابی را روشن میکنید. لینک به فایروال یا روتر اینترنت هم به یک پورت Routed تبدیل میشود:
ip routing
!
interface Vlan10
ip address 192.168.10.1 255.255.255.0
no shutdown
!
interface Vlan20
ip address 192.168.20.1 255.255.255.0
no shutdown
!
interface Vlan100
ip address 192.168.100.1 255.255.255.0
no shutdown
!
interface GigabitEthernet1/0/47
description UPLINK-TO-FIREWALL
no switchport
ip address 10.0.0.2 255.255.255.252
no shutdown
!
ip route 0.0.0.0 0.0.0.0 10.0.0.1SVI فقط وقتی up/up میشود که VLAN آن در پایگاه VLAN سوئیچ ساخته و فعال باشد و دستکم یک پورت لایه ۲ از همان VLAN روشن و در حالت Forwarding باشد. بدون ip routing هم سوئیچ بین SVIها مسیریابی نمیکند. بعضی مدلهای سطح پایین فقط تعداد محدودی مسیر یا SVI پشتیبانی میکنند؛ پیش از طراحی، دیتاشیت مدل را بررسی کنید.
| معیار | Router-on-a-Stick | سوئیچ لایه ۳ (SVI) |
|---|---|---|
| محل Gateway | Subinterfaceهای روتر | اینترفیسهای Vlan روی سوئیچ |
| ظرفیت | کل ترافیک بین VLANها از یک لینک فیزیکی میگذرد | مسیریابی داخل سوئیچ و معمولاً با سختافزار انجام میشود |
| تجهیزات لازم | روتر موجود و سوئیچ لایه ۲ | سوئیچ با قابلیت مسیریابی |
| مناسب برای | دفتر کوچک با ترافیک کم بین VLANها | شبکهای که سرورها و کاربران در VLANهای مختلفاند |
| نقطه خرابی | روتر و همان یک لینک | سوئیچ Core؛ برای افزونگی به HSRP یا Stack نیاز دارید |
بعد از راهاندازی Inter-VLAN Routing، همه VLANها به هم دسترسی دارند. اگر حسابداری نباید از شبکه فروش در دسترس باشد، با ACL در سیسکو ترافیک بین VLANها را محدود کنید. برای اتصال این شبکه به شعبهها یا روترهای دیگر هم مسیریابی پویا لازم است که در روتینگ در سیسکو و آموزش OSPF آمده است.
عیبیابی VLAN: خطاهای رایج
بیشتر مشکلات VLAN با چند دستور ثابت پیدا میشوند. اینها را به همین ترتیب اجرا کنید:
show vlan brief
show interfaces status
show interfaces trunk
show interfaces GigabitEthernet1/0/48 switchport
show ip interface brief
show ip route
show mac address-table vlan 10کاربر به Gateway پینگ ندارد
در show interfaces status ستون Vlan پورت کاربر را ببینید؛ پورتی که هنوز در VLAN 1 مانده رایجترین علت است. بعد آدرس IP و Gateway خود کامپیوتر را بررسی کنید. اگر MAC کامپیوتر در show mac address-table vlan 10 دیده نمیشود، مشکل در کابل، پورت یا VLAN پورت است.
اینترفیس Vlan در وضعیت down است
اگر show ip interface brief برای Vlan20 وضعیت administratively down نشان میدهد، no shutdown فراموش شده است. اگر down/down است، یا VLAN 20 روی سوئیچ ساخته نشده، یا هیچ پورت فعالی (Access یا Trunk) در آن VLAN وجود ندارد.
VLAN از Trunk عبور نمیکند
سه علت را به ترتیب بررسی کنید: VLAN در allowed vlan یکی از دو سر نیست، VLAN روی سوئیچ مقابل ساخته نشده، یا Native VLAN دو سر متفاوت است. اگر Trunk اصلاً تشکیل نمیشود، جدول DTP بالا را با خروجی show interfaces switchport مقایسه کنید.
VLANها به هم میرسند ولی اینترنت ندارند
مسیر پیشفرض روی سوئیچ لایه ۳ فقط نیمی از کار است. فایروال یا روتر اینترنت هم باید مسیر برگشت به 192.168.10.0/24 و 192.168.20.0/24 را از طریق 10.0.0.2 داشته باشد و NAT را برای این شبکهها انجام دهد. نبودن مسیر برگشت خطایی است که بعد از جدا کردن شبکهها زیاد دیده میشود.
سوالات متداول
تفاوت پورت Access و Trunk در سیسکو چیست؟
پورت Access فقط یک VLAN (بهعلاوه یک Voice VLAN اختیاری) را بدون تگ حمل میکند و برای کامپیوتر، پرینتر و تلفن استفاده میشود. پورت Trunk چند VLAN را با تگ 802.1Q حمل میکند و برای لینک بین سوئیچها، روتر، فایروال یا سرور مجازیسازی به کار میرود.
آیا سوئیچ لایه ۲ میتواند بین VLANها مسیریابی کند؟
خیر. سوئیچ لایه ۲ میتواند یک SVI برای مدیریت خودش داشته باشد، اما ترافیک کاربران را بین VLANها مسیریابی نمیکند. در این حالت از روش Router-on-a-Stick یا فایروالی که روی Trunk چند Subinterface دارد استفاده کنید.
آیا جدا کردن VLANها برای امنیت کافی است؟
VLAN دامنه Broadcast را جدا میکند، اما وقتی Inter-VLAN Routing فعال باشد، همه شبکهها به هم دسترسی دارند. برای کنترل دسترسی به ACL یا فایروال نیاز دارید و پورتهای بلااستفاده، Native VLAN و DTP را هم باید مثل این راهنما ببندید.
بعد از تغییرات، تنظیمات چطور ذخیره میشود؟
با copy running-config startup-config تنظیمات را ذخیره کنید. در سوئیچهایی که VTP آنها Server یا Client است، VLANها در فایل vlan.dat روی حافظه Flash نگهداری میشوند؛ پیش از پاک کردن تنظیمات یا جابهجایی سوئیچ به این فایل هم توجه کنید.





