آموزش VLAN در سیسکو: Access، Trunk، Native VLAN و Inter-VLAN Routing

آموزش 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
10SALES192.168.10.0/24192.168.10.1
20ACCOUNTING192.168.20.0/24192.168.20.1
99NATIVE-UNUSEDبدون آدرس و بدون کاربرندارد
100MGMT192.168.100.0/24192.168.100.1
999PARKINGبرای پورت‌های بلااستفادهندارد

آموزش 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 brief

VLAN باید روی هر سوئیچی که ترافیکش از آن عبور می‌کند وجود داشته باشد. اگر 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
 shutdown

switchport 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

اگر حالت پورت را صریح تعیین نکنید، نتیجه به ترکیب دو سر لینک بستگی دارد:

سر اولسر دومنتیجه
trunktrunkTrunk
trunkdynamic auto یا dynamic desirableTrunk (به شرط اینکه سر اول DTP بفرستد و nonegotiate نباشد)
dynamic desirabledynamic autoTrunk
dynamic autodynamic autoAccess؛ هیچ طرف درخواست Trunk نمی‌دهد
trunk با nonegotiatedynamic autoAccess؛ سر دوم هیچ پیام 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.1

SVI فقط وقتی up/up می‌شود که VLAN آن در پایگاه VLAN سوئیچ ساخته و فعال باشد و دست‌کم یک پورت لایه ۲ از همان VLAN روشن و در حالت Forwarding باشد. بدون ip routing هم سوئیچ بین SVIها مسیریابی نمی‌کند. بعضی مدل‌های سطح پایین فقط تعداد محدودی مسیر یا SVI پشتیبانی می‌کنند؛ پیش از طراحی، دیتاشیت مدل را بررسی کنید.

معیارRouter-on-a-Stickسوئیچ لایه ۳ (SVI)
محل GatewaySubinterfaceهای روتراینترفیس‌های 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 نگهداری می‌شوند؛ پیش از پاک کردن تنظیمات یا جابه‌جایی سوئیچ به این فایل هم توجه کنید.

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *