دوره CCNA فصل ۱۴ - VLAN - بخش دوم
سناریو
در این سناریو قصد داریم ارتباط بین دستگاههای یک vlan را که به دو سوئیچ مجزا متصل هستند، برقرار کنیم مثلا همهی سرورها با هم یا همهی pcها با هم، فارغ از اینکه به کدام سوئیچ متصل هستند.
تنظیمات
SW1
>enable
#configure terminal
(c)#hostname sw1
(c)#interface range fastEthernet 0/1 - 2
(c-ir)#switchport access vlan 10
(c-ir)#interface range fastEthernet 0/3 - 4
(c-ir)#switchport access vlan 20
(c-ir)#interface range fastEthernet 0/5 - 6
(c-ir)#switchport access vlan 30
SW2
>enable
#configure terminal
(c)#hostname sw2
(c)#interface range fastEthernet 0/1 - 2
(c-ir)#switchport access vlan 10
(c-ir)#interface range fastEthernet 0/3 - 4
(c-ir)#switchport access vlan 20
(c-ir)#interface range fastEthernet 0/5 - 6
(c-ir)#switchport access vlan 30
توضیحات
تا اینجا فقط vlanها را روی هر یک از سوئیچها ساختیم. روی دستگاهها هم آیپیهایی که نوشته شده تخصیص دادهایم.
با این تنظیمات ارتباط دستگاههای یک vlan خاص مثلا vlan 10 در دو طرف فعال نیست. برای فعال شدن این ارتباط باید از مفهومی به نام trunk استفاده کنیم.
ارتباط بین دو سوئیج را trunk میکنیم. برای این کار در سوئیچها، روی اینترفیسی که آنها را به هم متصل میکند (در اینجا Gig0/1) دستور زیر را میزنیم:
SW1و SW2
>enable
#configure terminal
(c)#interface gigabitEthernet 0/1
(c-i)#switchport mode trunk
با این دستورات خط ارتباطی بین دو سوئیچ را به trunk تبدیل میکند. میتوان البته فقط یک سمت را تغییر داد و سمت دیگر اگر پیشفرض را تغییر نداده باشیم بعد از مدتی خود را با دیگری هماهنگ کرده و trunk میشود. بهتر است هر دو طرف را به صورت دستی روی trunk تنظیم کنیم.
اگر دستور زیر را در هر یک از سوئیچها (در محیط Privileged) بزنیم:
#show interfaces trunk
خواهیم داشت:
Port Mode Encapsulation Status Native vlan
Gig0/1 on 802.1q trunking 1
Port Vlans allowed on trunk
Gig0/1 1-1005
Port Vlans allowed and active in management domain
Gig0/1 1,10,20,30
Port Vlans in spanning tree forwarding state and not pruned
Gig0/1 1,10,20,30
- در خط ۲ زیر Mode نوشته شده on. این نشان میدهد که در این سوئیچ صراحتا مود trunk برای این اینترفیس انتخاب شده. اگر این مود به دلیل trunk بودن طرف مقابل به طور خودکار به trunk تبدیل شده بود به جای on کلمهی auto نوشته میشد.
- در ستون سوم نوع encapsulation مشخص شده. در دستگاههای قدیمی که هم 802.1q و هم ISL را ساپورت میکردند باید نوع آن را مشخص کنیم و گرنه از حالت auto استفاده میکنند. در این دستگاهها بهتر است نوع encapsulation را مشخص کنیم.
- به دلایل امنیتی بهتر است Native vlan را تغییر دهیم.
اگر روی هر یک از سوئیچها دستور show vlan brief را اجرا کنیم میبینیم:
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active 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, Gig0/2
10 VLAN0010 active Fa0/1, Fa0/2
20 VLAN0020 active Fa0/3, Fa0/4
30 VLAN0030 active Fa0/5, Fa0/6
1002 fddi-default active
1003 token-ring-default active
1004 fddinet-default active
1005 trnet-default active
همانطور که میبینید Gig0/1 در لیست دیده نمیشود.
اگر اینترفیسی، در خروجی دستور show vlan brief نیاید دو احتمال وجود دارد:
- آن اینترفیس trunk شده است.
- یا
- vlanی که آن اینترفیس عضوش بوده حذف شده.
- آن اینترفیس trunk شده است.
گسترش سناریو
فرض کنید دو pc5 و pc6 را به شبکه متصل کنیم (یک pc به هر سوئیچ به f0/7 متصل میکنیم با آیپیهای 192.168.1.10/24 و 192.168.1.11/24)
این دو pc از طریق اینترفیس fas0/7 که به سوئیچها متصل هستند. این اینترفیسها به صورت پیشفرض عضو vlan 1 هستند و از آنجا که باز هم به صورت پیشفرض vlan 1، به صورت Native تنظیم شده (یعنی Native vlan ما vlan 1 است) ارتباط این دو pc جدید بدون تگگذاری از طریق trunk برقرار میشود که از نظر امنیتی صحیح نیست. چند کار میتوان کرد:
- Native vlan را تغییر داد مثلا آن را با دستور switchport trunk native vlan 99 که در محیط اینترفیس trunk میزنیم از ۱ به ۹۹ تغییر میدهیم. به این ترتیب اینترفیسهایی که عضو vlan خاصی نشدهاند و به طور پیشفرض عضو vlan 1 قرار گرفتهاند، دیگر عضو Native vlan محسوب نشده و بستههایشان تگ میخورد.
- به عبارک دیگر باید Native vlan را تغییر داد و آن را بلااستفاده نگه داشت(هیچ اینترفیسی را عضو آن نکرد).
- میتوان کاری کرد که حتی بستههای عبوری از Native vlan هم تگ بخورند. این دستور را در اینترفیس trunk میزنیم: switchport trunk native vlan tag. یا در محیط گلوبال این دستور: vlan dot1q tag native. (این دو دستور در محیط Cisco Packet Tracer کار نمیکنند)
- میتوان فقط به vlanهای مورد نظر اجازه داد که از trunk عبور کنند. به این ترتیب میتوان به Native vlan یا هر vlan دیگری اجازه عبور نداد.
- با این دستور که در محیط اینترفیس trunk زده میشود: switchport trunk allowed vlan 10,20,30 فقط مجوز عبور vlanهای ۱۰، ۲۰ و ۳۰ را دادهایم.
- Native vlan را تغییر داد مثلا آن را با دستور switchport trunk native vlan 99 که در محیط اینترفیس trunk میزنیم از ۱ به ۹۹ تغییر میدهیم. به این ترتیب اینترفیسهایی که عضو vlan خاصی نشدهاند و به طور پیشفرض عضو vlan 1 قرار گرفتهاند، دیگر عضو Native vlan محسوب نشده و بستههایشان تگ میخورد.
تا اینجا در سناریوی تغییر یافته فقط Native vlan را عوض کردهایم (از ۱ به ۹۹). بستههای pcهای ۵ و ۶ تگ میخورند.
دو laptop5 و laptop6 را به شبکه متصل کنیم (یکی به هر سوئیچ به f0/8 متصل میکنیم با آیپیهای 192.168.2.10/24 و 192.168.2.11/24)
اینترفیسهای f0/8 را در هر دو سوئیچ عضو vlan 99 میکنیم:
SW1, SW2
(c)#interface fastEthernet 0/8
(c-i)#switchport access vlan 99
از آنجا که vlan 99 به عنوان Native vlan تنظیم شده بستههای این دو لپتاپ هنگام عبور از trunk، تگ نمیخورند.
حال میخواهیم فقط به بستههای مربوط به ترافیکهای vlanهای ۱۰، ۲۰ و ۳۰ اجازه عبور بدهیم: (در یکی یا هر دو سويیچ)
(c)#interface fastEthernet 0/8
(c-i)#switchport trunk allowed vlan 10,20,30
اگر بخواهیم vlanهای ۱ و ۹۹ را نیز به لیست vlanهای مجاز اضافه کنیم:
(c)#interface fastEthernet 0/8
(c-i)#switchport trunk allowed vlan add 1
(c-i)#switchport trunk allowed vlan add 99
یا اگر بخواهیم vlan شماره ۹۹ را لیست vlanهای مجاز حذف کنیم:
(c)#interface fastEthernet 0/8
(c-i)#switchport trunk allowed vlan remove 99
