Create Ethernet VLANs on Catalyst Switches
The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
Contents
Introduction
This document describes how to create VLANs on Catalyst switches that run Cisco IOS® System Software.
Prerequisites
Requirements
Cisco recommends that you have knowledge of the information in this section.
VLANs are a mechanism to allow network administrators to create logical broadcast domains that can span across a single switch or multiple switches, regardless of physical proximity. This function is useful to reduce the size of broadcast domains or to allow groups or users to be logically grouped without the need to be physically located in the same place.
In order to create VLANs, you must decide how to configure these items:
What VLAN Trunk Protocol (VTP) domain name and VTP mode to use on this switch
Which ports on the switch belong to which VLAN
If you need to have communication between VLANs, or if they are isolated
If you require communication between VLANs, you must use a Layer 3 routing device, such as an external Cisco router or an internal router module. Here are examples:
WS-X4232-Layer 3 card for Catalyst 4500/4000 Switches with Supervisor Engine I and Supervisor Engine II
Multilayer Switch Module (MSM) or Multilayer Switch Feature Card (MSFC) for Catalyst 6500/6000 Switches
Some of the switches have built-in support in software and hardware to do inter-VLAN routing. With inter-VLAN routing, no external device, modules, or daughter cards are required. Here are examples of such switches:
Catalyst 3550/3750/6500 with Supervisor Engine 720
Catalyst 4500 with Supervisor Engine II+, Supervisor Engine III, and Supervisor Engine IV
Refer to these documents for more information on inter-VLAN routing configuration on an MSFC, RSM, RSFC, or external router:
Note: This document assumes that you have basic connectivity to the switch, either through the console or through Telnet access. Refer to these documents for more information on how to get basic connectivity to the switches.
Components Used
The information in this document is based on these hardware and software versions:
Catalyst 3524XL Switch that runs Cisco IOS Software Release 12.0(5.x)XU
Catalyst 4507 Switch with Supervisor Engine IV (WS-X4515) that runs Cisco IOS Software Release 12.1(13)EW1
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.
Conventions
Refer to Cisco Technical Tips Conventions for more information on document conventions.
Related Products
The information in this document can also be used with these or other Catalyst switches that run Cisco IOS:
Catalyst 4500/4000/2948G/2980G/4912G Switches
Catalyst 6500/6000 Series Switches
Catalyst 2900XL/3500XL/2950/3550/3750 Switches
Background Information
This document describes how to create VLANs on Catalyst switches that run Cisco IOS® System Software. The sample commands for each section use one Catalyst switch from each configuration section.
Configure the VLAN on Catalyst 2900XL, 3500XL, 2950, 2970, and 2940 Series Switches
Create VLANs and Ports
Note: The output that you see can be different from some of the command output that this section displays. The difference depends on the model of your switch.
Complete these steps in order to create a VLAN.
Decide whether to use VTP in your network.
With VTP, you can make configuration changes centrally on a single switch, and you can automatically communicate those changes to all the other switches in the network. The default VTP mode on the Catalyst 2900XL, 3500XL, 2950, 2970, and 2940 Switches is the server mode. Refer to Understanding VLAN Trunk Protocol (VTP) for more information on VTP.
Note: Issue the show vtp status command in order to check the VTP status on XL Series Switches.
After you set and verify the VTP domain, begin to create VLANs on the switch.
By default, there is only a single VLAN for all ports. This VLAN is called default . You cannot rename or delete VLAN 1.
Issue the show vlan command in order to check the VLAN information.
Issue this set of commands in privileged mode in order to create another VLAN:
Note: A switch can only create VLANs if it is in VTP server mode or VTP transparent mode. Refer to Understanding VLAN Trunk Protocol (VTP) for more information on VTP.
Note: The VTP mode can change from client mode to transparent mode if the switch attempts to learn or pass a greater number of VLANs than it supports. Always check that the switches that run in client mode support the same number of VLANs that the switches in server mode send.
Issue the show vlan command in order to ensure that the VLAN is created.
You can add ports (interfaces) in the newly created VLAN.
You must go to interface configuration mode for each of the interfaces that you want to add into the new VLAN.
Note: You can assign the ports of a Layer 2 Catalyst Switch to multiple VLANs, but the switch only supports one active management VLAN interface at a time and other switched virtual interfaces (SVIs) do not up/up because of Layer 2 functionality. Therefore, the switch supports only one active management Layer 3 address. On a Layer 2 Catalyst Switch, you can issue the optional management command under the new SVI in order to automatically shut down VLAN 1 and transfer the IP address to the new VLAN.
Issue this set of commands in privileged mode in order to add a particular interface in the VLAN:
Issue the show vlan command in order to verify the VLAN configuration.
Remove Ports or VLANs
In order to remove ports from the VLAN, issue the no switchport access vlan vlan_number command in interface configuration mode. After the port is removed from a VLAN that is not VLAN 1 (the default VLAN), that port is automatically added back to the default VLAN.
For example, if you want to remove interface Fast Ethernet 0/2 from cisco_vlan_2 (VLAN 2), issue this set of commands in privileged mode:
In order to delete the VLAN, issue the no vlan vlan_number command in VLAN database mode. Interfaces in that VLAN remain a part of that VLAN and are deactivated because they no longer belong to any VLAN.
For example, if you want to delete cisco_vlan_2 from the switch, issue this set of commands in privileged mode:
Notice that port Fast Ethernet 0/3 is not displayed in the show vlan command output. The removal of VLAN 2 deactivates this port. Unless you add the port back in another VLAN, the port is neither displayed or usable.
In order to make the interface usable, you must ensure that it belongs to some VLAN. In the case in this section of the document, you must add interface Fast Ethernet 0/3 to the default VLAN (VLAN 1) in order to make this interface usable.
Note: If you have the output of a show-tech support command from your Cisco device, you can use Output Interpreter in order to display potential issues and fixes.
Note: Only registered Cisco users can access internal tools and information.
Note: In the case of Catalyst 3550 Switches, you can still use the interface without the addition of the interface to a VLAN. However, you need to make that interface a Layer 3 interface.
Configure a Multi-VLAN Port on Catalyst 2900XL/3500XL
The multi-VLAN port feature on Catalyst 2900XL/3500XL Switches allows you to configure a single port in two or more VLANs. This feature allows users from different VLANs to access a server or router without the implementation of inter-VLAN routing capability. A multi-VLAN port performs normal switching functions in all of its assigned VLANs. VLAN traffic on the multi-VLAN port is not encapsulated as it is in trunking.
Note: These are the limitations to the implementation of multi-VLAN port features:
You cannot configure a multi-VLAN port when a trunk is configured on the switch. You can connect the multi-VLAN port only to a router or server. The switch automatically transitions to VTP transparent mode when the multi-VLAN port feature is enabled, which disables the VTP. No VTP configuration is necessary.
The multi-VLAN port feature is supported only on Catalyst 2900XL/3500XL Series Switches. This feature is not supported on Catalyst 4500/4000, 5500/5000, or 6500/6000 Series Switches or any other Catalyst switches.
Determine which port to configure as a multi-VLAN port.
Here, three VLANs are created on a Catalyst 3512XL Switch, and one port of the switch is connected to an external router. This example configures the port that is connected to the router as a multi-VLAN port.
In the example, port Fast Ethernet 0/1 is connected to an external router. For more information about how to create VLANs and assign ports to VLANs, see the Configure the VLAN on Catalyst 2900XL, 3500XL, 2950, 2970, and 2940 Series Switches section of this document.
Configure the Fast Ethernet 0/1 port in multi-VLAN mode, and add assigned VLANs to the multi-VLAN port.
Issue the show interface interface_id switchport command and the show vlan command in order to verify the configuration.
Issue the ping command from the switch to the router in order to verify the multi-VLAN operation.
The ping command receives a reply from the router each time the management IP address is assigned to any of the VLANs 1, 2, or 3.
Configure the VLAN on Catalyst 3550, 3750, 4500/4000, and 6500/6000 Switches that Run Cisco IOS Software
Create VLANs and Ports
This section uses the Catalyst 4500 Switch for sample configuration commands, but the configuration tasks also apply to other switches that run Layer 3 (or Cisco IOS Software). These other switches include the Catalyst 3550, 3570, and 6500 Series Switches that run Cisco IOS Software. Before you can create a VLAN, the switch must be in VTP server mode or VTP transparent mode. If the switch is a VTP server, you must define a VTP domain name before you add any VLANs. You must define a VTP domain name regardless of:
The number of switches in the network, whether one or many
Whether you use VTP in order to propagate VLANs to other switches in the network
You can create VLANs in either VLAN database mode or global configuration mode. You must create VLANs that are numbered higher than 1005 in global configuration mode. The VTP mode must be set to transparent in order to create these VLANs. VLANs that are numbered higher than 1005 are not advertised by VTP. Furthermore, VLANs that are numbered higher than 1005 are stored in the switch configuration file and not in the VLAN .dat file. The default location of the VLAN .dat file in Catalyst 4000 Switches with Supervisor Engine IV is the cat4000_flash directory.
Note: A Catalyst 6500 Switch that runs Cisco IOS Software allows you to create VLANs in server mode without a VTP domain name.
The show vtp status command shows the VTP information in the switch.
Issue the show vlan command in order to check the VLAN information.
Enter the correct mode, either database mode or global configuration mode.
Issue the vlan database command in privileged mode in order to enter VLAN database mode.
Issue the vlan vlan_number command in order to configure a VLAN.
Note: For the configuration to take effect, you can either issue the apply command or exit out of VLAN database mode. The end keyword and Ctrl-Z exit methods do not work in VLAN database mode. Issue the exit command in order to exit out of VLAN database mode.
Issue these commands in order to perform the VLAN configuration in global configuration mode:
Issue the show run command in order to view VLANs that are numbered higher than 1005 in the configurationt hat currently runs.
In Cisco IOS Software, interfaces are in the shutdown state by default.
By default, Cisco IOS Software interfaces are Layer 2 interfaces on Catalyst 3550, 3750, and 4500 Series Switches. The interfaces are Layer 3 interfaces on Catalyst 6500/6000 Series Switches. You can configure the interface as a Layer 2 interface with the switchport command in interface configuration mode. You must issue this command before you assign an interface to a VLAN, if the interface is in Layer 3 mode. The command to assign an interface to a VLAN is switchport access vlan vlan_number .
Note: If the interface is configured as a Layer 3 interface, which means that the no switchport command is configured, you cannot assign the interface to a VLAN.
In order to associate the ports to VLANs in Cisco IOS Software, this minimum configuration is required:
Issue the show interface gigabitethernet module interface switchport command in order to check the Layer 2 interface status.
If the port is set up as a trunk, which is a port that can carry more than one VLAN, the switchport trunk native vlan command can be useful. The command is useful if the native VLAN of the interface has been changed or needs to be changed from its defaults. The native VLAN is the VLAN that is used if the interface is to become a Layer 2 interface. If you do not explicitly define a native VLAN, VLAN 1 becomes the native VLAN by default. Be aware that an IEEE 802.1Q header is not added when data are sent on the native VLAN. Ensure that the trunk ports on both of the connected devices have the same native VLAN. A mismatch in native VLANs can cause inter-VLAN routing issues, among other problems.
This message appears when the native VLAN is mismatched on the two Cisco switches:
In this example message, the native VLAN is VLAN 2 on one of the switches, but the neighboring switch has native VLAN 1.
Issue the show interfaces module interface trunk command in order to see the native VLAN, encapsulation, and trunking VLAN information.
If you use the default configuration, native VLAN is set to VLAN 1. In order to change the native VLAN on the interface that is trunking, issue the switchport trunk native vlan vlan_number command.
Issue this command in order to verify:
Assign Multiple Ports to a Single VLAN
You can assign the multiple interfaces on a switch to a single VLAN. Issue these commands:
Note: The interface range command is not supported in all software releases. The interface range command is supported in Cisco IOS Software Release 12.1(13)EW and later.
Remove VLANs
In order to remove a VLAN from the VLAN database, issue the no vlan vlan_number command in either VLAN database mode or global configuration mode. This example uses the VLAN database mode to remove VLAN 2.
The global configuration mode does not log any message on the console that indicates the deletion of the VLAN. However, you can issue the show vlan command in order to verify the deletion of the VLAN.
Rename VLANs
In order to rename a VLAN from the VLAN database, issue the name vlan_name command in either VLAN database mode or global configuration mode.
This example uses VLAN database mode to rename VLAN 3:
This example uses global configuration mode to rename the VLAN 3:
In order to verify, issue the show vlan brief or show vlan-switch brief command.
Note: When you rename the VLAN, it is not necessary to remove the VLAN assigned to the port with the switchport access vlan vlan_number command.
How to Isolate the Communication Between Two VLANs
This section does not discuss private VLANs. Private VLANs provide Layer 2 isolation between ports within the same private VLAN (isolated VLAN) or between the private VLANs (community VLANs).
There are two scenarios for when you try to isolate two VLANs.
Isolation Between Two Layer 2 VLANs
A Layer 2 VLAN is the VLAN created in the switch and not configured with the interface vlan <vlan_number> command. Hosts in the different Layer 2 VLANs cannot communicate with each other.
Complete these steps in order to create a Layer 2 VLAN and isolate it from older VLANs:
Create the new VLAN in the database. When you exit VLAN database mode, the configuration changes are applied.
Ensure the VLAN is created in the VLAN database. The new VLAN must appear in the output of the show vlan command.
Do not set an IP address to the newly created VLANs.
Configure physical interfaces that connect the clients to the corresponding VLAN.
Assign to each host a static IP address, subnet mask, and do not set a default gateway. This causes hosts on the ports fa 2/1 and 2/2 to not communicate with each other. Devices that belong to one VLAN do not reach anything else but devices within the same VLAN.
Isolation Between Two Layer 3 VLANs
When you create a VLAN and assign an IP address with the interface vlan <vlan_number> command, the VLAN becomes a Layer 3 VLAN. In Layer 3 switches, the hosts between the two VLANs can communicate with each other (if the hosts are configured with the default gateway as the VLAN interface IP address). You can use ACLs to deny communication between the VLANs.
This section shows an example of how to isolate the communication between a newly created Layer 3 VLAN and an older VLAN.
In this example, the 3750 switch has two old VLANs (VLAN 1 and VLAN 2). The newly created VLAN is VLAN 5. VLAN 1, VLAN 2 and VLAN 5 are Layer 3 VLANs. ACLs are implemented to deny traffic so that VLAN 1 and VLAN 2 cannot communicate with VLAN 5 and so that VLAN 5 does not communicate either with VLAN 1 or VLAN 2.
VLAN 1 — 10.10.10.0 /24
VLAN 2 — 172.16.1.0 /24
VLAN 5 — 192.168.1.0 /24
Create the new VLAN in the database. In this case the new VLAN is VLAN
5. When you exit VLAN database mode, the configuration changes are applied.
Ensure the VLAN is created in the VLAN database. Check the output of the show vlan command.
Set an IP address for the newly created VLAN.
Configure physical interfaces that connect the clients to the corresponding VLAN.
You need to configure three access-lists, one for each VLAN.
This access list denies traffic that comes from VLAN 1 to get to VLAN 5.
This access list denies traffic that comes from VLAN 2 to get to VLAN 5.
This access list denies traffic that comes from VLAN 5 to get to VLAN 1 and VLAN 2.
And once they are configured, apply the access lists to interface VLAN 1, interface VLAN 2 and interface VLAN 5.
How to Configure Extended Range VLANs in a Catalyst 6500 Series Switch
In order to configure extended VLANs on the Catalyst 6500 Series Switches that run Cisco IOS, you need to enter the spanning-tree extend system-id command. Then the extended VLAN must be created in the configuration mode and not from the vlan database mode.
Complete these steps in order to create extended VLANs on the Catalyst 6500 Series Switches that run Cisco IOS:
Console into the switch:
Enter configuration mode:
Enter the spanning-tree extend system-id command in configuration mode:
Enter the vtp mode transparent command in configuration mode:
Create the VLAN in configuration mode:
Exit configuration mode:
Issue the show vlan command in order to check the VLAN information.
This section provides tips to troubleshoot common problems that you can encounter during the creation of VLANs on Catalyst switches that run Cisco IOS Software.
On switches that run Cisco IOS Software, you can use the switch itself for interVLAN routing, instead of an external router. When an SVI is created, it does not automatically create a VLAN in the Layer 2 database. In order for an SVI to come up, a VLAN must be created in VLAN database mode or (in later Cisco IOS Software releases) in global configuration mode. In order for the SVI to be fully active, which means that it is administratively up, and line protocol is up, make sure to have at least one port as a member of that VLAN, with an active device connected to the port.
This same issue applies when you copy configurations from a different switch or restore configurations with VLANs that were created in VLAN database mode. You must also replace the VLAN database file (vlan.dat), or you must recreate the VLANs, as the procedure in the Create VLANs and Ports section of this document shows. If you copy the configuration from another switch, the VLAN database is not copied.
If the Layer 2 VLAN is not created on the switch, SVI interfaces show as UP/DOWN in the show ip interface brief command output when the configuration is applied to the switch. Ensure that all previous VLANs that were created in VLAN database mode or global configuration mode still exist after the configuration is copied to the switch.
Verify
There is currently no verification procedure available for this configuration.
Troubleshoot
Recover the vlan.dat File on Cisco IOS Switches
For Cisco Catalyst Switches that run Cisco IOS software, the VLAN information is on a separate file named vlan.dat . If the vlan.dat file is deleted accidently and the switch gets reloaded, all the VLANs that were available on the switch are lost. Until the switch is reloaded, the VLAN information is present in the switch.
Complete these steps in order to recover the vlan.dat file:
Issue the show vlan command in order to confirm the availability of VLAN information.
If the switch is in VTP Server or Transparent mode, make any modifications to the VLAN database.
Modifications to the VLAN database can be any of these:
Create any VLAN.
Delete any VLAN.
Modify the properties of any current VLAN.
If the switch is in VTP Client mode, make modifications to the VLAN database at any VTP Server of the same domain.
Once any change has been done to the VLAN database, the switch automatically creates the vlan.dat file.
Issue the show flash: command in order to verify the creation of the vlan.dat file.
Failed to Create VLANs in Extended Range
Error 1
Layer 3 LAN ports, WAN interfaces and subinterfaces, and some software features, such as RSPAN, use internal VLANs in the extended range. You cannot use an extended range VLAN that is allocated for internal use.
In order to display the VLANs used internally, issue the show vlan internal usage command. You can configure ascending internal VLAN allocation (from 1006 and up) or descending internal VLAN allocation (from 4094 and down).
Caution: You do not need to issue the reload command immediately. Issue the reload command during a planned maintenance window. The internal VLAN allocation policy is applied only after a reload.
If a device reload is not an option, as a workaround, you can use VLAN Translation. On trunk ports, you can translate one VLAN number to another VLAN number, which transfers all traffic received in one VLAN to the other VLAN. Refer to the Configuring VLAN Translation section of Catalyst 6500 Release 12.2SXF and Rebuilds Software Configuration Guide for more information.
Note: Switches that run Catalyst product family software do not support the configuration of VLANs 1006-1024. If you configure VLANs 1006-1024, ensure that the VLANs do not extend to any switches that run Catalyst product family software.
Error 2
You can receive this message when you try to create Extended VLANs in Server or Client mode of VTP. Ensure that the device (Switch or Router) is in Transparent mode when you create extended range VLANs
Failed to Configure VLAN from Startup-Config
This message indicates that the VLAN software failed to use the VLAN configuration from the startup configuration file. The VLAN configuration is stored in the vlan.dat file. The vlan.dat file resides in non-volatile memory. When the Supervisor module is replaced, vlan.dat is empty (0). On bootup, the switch compares the VTP domain name and VTP mode in the startup configuration file and the vlan.dat file. If the values do not match, the switch uses the configuration in the vlan.dat file.
In order to perform a complete backup of your configuration, the vlan.dat file must be included in the backup with the configuration. The network administrator must upload both the vlan.dat file and the configuration file in order to restore the complete configuration.
Backup and Restore of vlan.dat on Cisco IOS Switches
In order to back up the vlan.dat, complete this step:
Copy the vlan.dat file from the device NVRAM to a TFTP server or an external PCMCIA card.
Note: The memory location where the vlan.dat file is stored varies from device to device. In Cisco Catalyst 6500/6000 Series Switches, it is const_nvram:. Similarily for Catalyst 4500/4000 Switches, it is cat4000_flash:. Refer to the respective product documentation before you issue the copy command
In order to restore the vlan.dat file, complete these steps:
Copy the vlan.dat file into the device NVRAM from a TFTP server or an external PCMCIA card.
Reload the switch, as vlan.dat is read only during the booting process.
VLAN Creation Fails with VLAN 1003 Parent VLAN Missing Error Message
A misconfiguration on a switch can cause the configuration updates of the VTP to fail. In most cases, the problem is that the new VLAN created in the VTP server switch does not propagate to the VTP client switches, which creates host connectivity issues.
A common cause for this issue is a VTP version mismatch between the switches in a VTP domain. VTP version 1 and VTP version 2 are not interoperable on the network devices in the same VTP domain. A VTP version 2 capable network device can operate with a network device that runs VTP version 1, provided that VTP version 2 is disabled on the VTP version 2 capable network device. VTP version 2 is disabled by default. Every network device in the VTP domain must use the same VTP version. Verify the VTP version that runs on a switch. If VTP version 2 is enabled, disable it in order to resolve this issue.
Verify if the switch is configured properly for other VTP parameters:
Verify that the switches are connected through trunk links, because VTP updates are only exchanged over trunk links.
Verify that the VTP domain name is exactly the same on the appropriate switches. The name is case sensitive. The VTP updates are only exchanged between switches in the same VTP domain.
Verify that the VTP password is exactly the same on all the switches in the domain. The password is case sensitive. If a password is configured, it must be configured on all switches in the domain and the password must be the same.
In case of a VTP convergence issue, where a VTP client does not update the VLAN information, the workaround is to force a VTP convergence by the creation, then the removal of a dummy VLAN on the VTP server. This increments the revision number and forces all VTP clients to update their VLAN database.
Тренинг Cisco 200-125 CCNA v3.0. День 13. Настройка VLAN
Сегодняшний урок мы посвятим настройкам VLAN, то есть попробуем проделать всё то, о чем говорили на предыдущих уроках. Сейчас мы рассмотрим 3 вопроса: создание VLAN, присваивание портов VLAN и просмотр базы данных VLAN.
Откроем окно программы Cisco Packer tracer с нарисованной мною логической топологией нашей сети.
К первому свитчу SW0 подключены 2 компьютера PC0 и PC1, объединенные в сеть VLAN10 с диапазоном IP-адресов 192.168.10.0/24. Соответственно, IP-адреса этих компьютеров будут 192.168.10.1 и 192.168.10.2. Обычно люди идентифицируют номер VLAN по третьему октету IP-адреса, в нашем случае это 10, однако это не обязательное условие обозначение сетей, вы можете назначить любой идентификатор VLAN, однако такой порядок принят в крупных компаниях, потому что облегчает настройку сети.
Далее расположен свитч SW1, который подключен к сети VLAN20 с IP-адресом 192.168.20.0/24 с двумя ноутбуками Laptop1 и Laptop2.
VLAN10 расположена на 1 этаже офиса компании и представляет собой сеть руководства отдела продаж. К этому же свитчу SW0 подключен ноутбук Laptop0 маркетолога, который относится к VLAN20. Эта сеть распространяется на 2 этаж, где расположены другие сотрудники, и она соединена с отделом продаж, который может быть расположен в другом здании или на 3 этаже этого же офиса. Здесь установлены ещё 3 компьютера – PC2,3 и 4, которые являются частью сети VLAN10.
Сеть VLAN10, как и VLAN20, должна обеспечивать бесперебойную связь всех сотрудников независимо от того, что они располагаются на разных этажах или в разных зданиях. Вот такую концепцию сети мы сегодня рассмотрим.
Давайте приступим к её настройке и начнем с компьютера PC0. Кликнув по иконке, войдем в сетевые настройки компьютера и введем IP-адрес 192.168.10.1 и маску подсети 255.255.255.0. Я не ввожу адрес шлюза по умолчанию, потому что он нужен для выхода из одной локальной сети в другую, а в нашем случае мы не будем разбираться с настройками 3 уровня OSI, нас интересует только 2 уровень, и мы не собираемся рассматривать маршрутизацию трафика в другую сеть.
Мы собираемся настраивать интрасеть и только те хосты, которые в неё входят. Затем мы перейдем к компьютеру PC2 и проделаем то же самое, что и для первого ПК. Теперь проверим, смогу ли я пропинговать PC1 с компьютера PC0. Как видите, пинг проходит, и компьютер с IP-адресом 192.168.10.2 уверенно возвращает пакеты. Таким образом, мы успешно установили связь между PC0 и PC1 через свитч.
Чтобы понять, почему нам это удалось, зайдём в настройки свитча и посмотрим на таблицу VLAN.
Технически данный свитч имеет 5 VLAN: VLAN1 по умолчанию, а также 1002,1003,1004 и 1005. Если посмотреть на 4 последние сети, можно увидеть, что они не поддерживаются и обозначены unsupported. Это виртуальные сети старой технологии – fddi, fddinet, trnet. В настоящее время они не используются, но согласно техническим требованиям до сих пор включаются в новые устройства. Таким образом, фактически наш свитч имеет по умолчанию всего одну виртуальную сеть – VLAN1, поэтому все порты любого свитча Cisco «из коробки» настроены на эту сеть. Это 24 порта Fast Ethernet и 2 порта Gigabit Ethernet. Это значительно облегчает совместимость новых свитчей, потому что по умолчанию все они являются частью одной и той же VLAN1.
Мы должны переназначить порты, которые по умолчанию настроены на работу с VLAN1, на работу с VLAN10. Packet Tracer показывает, что в нашем случае это порты Fa0 и Fa0/2.
Вернемся к свитчу SW0 и настроим два эти порта. Для этого я использую команду configure terminal чтобы зайти в режим глобальной конфигурации, и ввожу команду настройки данного интерфейса – int fastEthernet 0/1. Мне нужно установить для этого порта режим работы access, потому что это access-порт, и я использую команду switchport mode access.
Этот порт конфигурируется как статический access-порт, но если я подключу к нему другой свитч, то благодаря использованию протокола DTP он перейдет в динамический режим trunk. По умолчанию этот порт принадлежит VLAN1, поэтому мне нужно использовать команду switchport access vlan 10. При этом система выдаст нам сообщение о том, что VLAN10 не существует и её необходимо создать. Если помните, в базе данных VLAN у нас существует только одна сеть – VLAN1, и никакой сети VLAN10 там нет. Но мы запросили свитч предоставить доступ к VLAN10, поэтому получили сообщение об ошибке.
Поэтому нам необходимо создать VLAN10 и приписать к ней этот access-порт. После этого, если зайти в базу данных VLAN, можно увидеть созданную только что VLAN0010, которая находится в активном состоянии и которой принадлежит порт Fa0/1.
Мы не вносили никаких изменений в компьютер, а просто настроили порт свитча, к которому он подключен. Теперь попробуем пропинговать IP-адрес 192.168.10.2, что мы удачно проделали несколько минут назад. У нас ничего не получилось, потому что порт, к которому подключен PC0, теперь относится к сети VLAN10, а порт, связанный с компьютером PC1, по прежнему принадлежит VLAN1, и никакой связи между этими двумя сетями не существует. Для того, чтобы установить связь между этими компьютерами, необходимо настроить оба порта на работу с VLAN10. Я снова вхожу в режим глобальной конфигурации и проделываю аналогичные действия для switchport f0/2.
Посмотрим ещё раз на таблицу VLAN. Теперь мы видим, что сеть VLAN10 настроена на портах Fa0/1 и Fa0/2. Как видим, теперь пинг проходит успешно, потому что оба порта свитча SW0, к которым подключены устройства, принадлежат одной и той же сети. Давайте попробуем изменить имя сети, чтобы обозначить её предназначение. Если мы хотим внести какие-либо изменения в VLAN, мы должный войти в настройку этой сети.
Для этого я набираю команду vlan 10, и вы видите, что подсказка командной строки поменялась со Switch (config) # на Switch (config-vlan) #. Если ввести знак вопроса, система покажет нам только 3 возможных команды: exit, name и no. Я могу назначить имя сети с помощью команды name, возвратить команды к состоянию по умолчанию, набрав no или сохранить внесенные изменения, использовав команду exit. Поэтому я ввожу команды name SALES и exit.
Если посмотреть базу данных VLAN, можно убедиться, что наши команды исполнены и бывшая VLAN10 теперь носит название SALES – отдел продаж. Итак, мы подсоединили 2 компьютера нашего офиса к созданной сети отдела продаж. Теперь нужно создать сеть для отдела маркетинга. Для того, чтобы подсоединить к этой сети ноутбук Laptop0, нужно войти в его сетевые настройки и внести IP-адрес 192.168.20.1 и маску подсети 255.255.255.0, шлюз по умолчанию нам не нужен. Затем нужно вернуться к настройкам свитча, войти в настройки порта командой int fa0/3 и ввести команду switchport mode access. Следующей командой будет switchport access vlan 20.
Мы снова получаем сообщение о том, что такой VLAN не существует и её необходимо создать. Можно пойти другим путем – я выйду из настройки порта Switch (config-if), зайду в Switch (config) и введу команду vlan 20, тем самым создав сеть VLAN20. То есть можно сначала создать сеть VLAN20, присвоить ей имя MARKETING, сохранить изменения командой exit, а затем настраивать под неё порт.
Если зайти в базу VLAN командой sh vlan, можно увидеть созданную нами сеть MARKETING и соответствующий ей порт Fa0/3. Я не смогу пропинговать компьютеры с этого ноутбука по двум причинам: у нас имеются разные VLAN и наши устройства принадлежат к разным подсетям. Так как они принадлежат разным VLAN, свитч будет отбрасывать пакеты ноутбука, направленные в другую сеть, потому что у него нет порта, принадлежащего VLAN20.
Как я говорил, компания расширяется, маленького офиса на первом этаже не хватает, поэтому она размещает отдел маркетинга на 2-м этаже здания, устанавливает там компьютеры для 2-х сотрудников и хочет обеспечить связь с отделом маркетинга на первом этаже. Для этого нужно сначала создать транк между двумя свитчами – портом Fa0/4 первого свитча и портом Fa0/1 второго свитча. Для этого я вхожу в настройки SW0 и ввожу команды int f0/4 и switchport mode trunk.
Существует команда инкапсуляции switchport trunk enc, однако в новых свитчах она не применяется, потому что по умолчанию они используют технологию инкапсуляции по протоколу 802.1q. Однако старые модели свитчей Cisco использовали проприетарный протокол ISL, который больше не применяется, так как теперь все свитчи понимают протокол .1Q. Таким образом, у вас больше нет необходимости в использовании команды switchport trunk enc.
Если сейчас зайти в базу данных VLAN, можно увидеть, что из неё исчез порт Fa0/4. Это потому, что в данной таблице указаны только access-порты, которые относятся к конкретной VLAN. Для того, чтобы увидеть транк-порты свитча, необходимо использовать команду sh int trunk.
В окне командной строки мы видим, что порт Fa0/4 включен, осуществляет инкапсуляцию по протоколу 802.1q и принадлежит к native vlan 1. Как мы знаем, если этот транк-порт принимает нетегированный трафик, он автоматически направляет его в сеть native vlan 1. На следующем уроке мы поговорим о настройке native vlan, пока что просто запомните, как выглядят настройки транка для данного устройства.
Теперь я перехожу ко второму свитчу SW1, вхожу в режим настроек int f0/1 и повторяю последовательность настройки порта аналогично предыдущему случаю. Два порта Fa0/2 и Fa0/3, к которым подсоединены ноутбуки сотрудников отдела маркетинга, необходимо настроить на режим access и приписать к сети VLAN20.
В предыдущем случае мы индивидуально настраивали каждый порт свитча, а сейчас я хочу показать вам, как ускорить этот процесс, используя шаблон командной строки. Можно ввести команду для настройки диапазона интерфейсов int range f0/2-3, в результате чего запрос командной строки примет вид Switch (config-if-range)#, и вы сможете ввести один и тот же параметр или применить одну и ту же команду к указанному диапазону портов, например, одновременно для 20 портов.
В предыдущем примере мы несколько раз использовали одни и те же команды switchport mode access и switchport access vlan 10 для нескольких портов свитча. Эти команды можно вводить однократно, если использовать диапазон портов. Сейчас я введу команды switchport mode access и switchport access vlan 20 для выбранного диапазона портов.
Поскольку сеть VLAN20 пока не существует, система создаст её автоматически. Я набираю exit для сохранения внесенных изменений и прошу показать мне таблицу VLAN. Как видите, теперь порты Fa0/2 и Fa0/3 являются частью только что созданной VLAN20.
Теперь я настрою IP-адреса ноутбуков на втором этаже нашего офиса: Laptop1 получит адрес 192.168.20.2 и маску подсети 255.255.255.0, а Laptop2 получит IP-адрес 192.168.20.3. Проверим работоспособность сети, пропинговав первый ноутбук со второго. Как видите, пинг проходит удачно, потому что оба устройства являются частью одной VLAN и подсоединены к одному и тому же свитчу.
Однако ноутбуки отдела маркетинга на первом и втором этажах присоединены к разным свитчам, хотя находятся в одной сети VLAN. Проверим, как обеспечивается связь между ними, для этого я пропингую с Laptop2 ноутбук на первом этаже, имеющий IP-адрес 192.168.20.1. Как видите, все работает без проблем несмотря на то, что ноутбуки подсоединены к разным свитчам. Связь осуществляется благодаря тому, что оба свитча соединены транком.
Могу ли я установить связь между Laptop2 и компьютером PC0? Нет, не могу, потому что они принадлежат к разным VLAN. Теперь проведем настройку сети компьютеров PC2,3,4, для чего сначала создадим транк между вторым свитчем Fa0/4 и третьим свитчем Fa0/1.
Я захожу в настройки SW1 и набираю команду config t, после чего вызываю int f0/4, затем ввожу команды switchport mode trunk и exit. Аналогичным образом я настраиваю третий свитч SW2. Мы создали транк, и вы видите, что после того, как настройки вступили в силу, цвет портов поменялся с оранжевого на зеленый. Теперь необходимо настроить порты Fa0/2,0/3,0/4, к которым подсоединены компьютеры отдела продаж, принадлежащие сети VLAN10. Для этого я вхожу в настройки свитча SW2, выбираю диапазон портов f0/2-4 и применяю к ним команды switchport mode access и switchport access vlan 10. Поскольку на этих портах сеть VLAN10 отсутствует, она создается системой автоматически. Если посмотреть на базу данных VLAN этого свитча, можно увидеть, что теперь порты Fa0/2,0/3,0/4 принадлежат сети VLAN10.
После этого необходимо настроить сеть для каждого из этих 3-х компьютеров, введя IP-адреса и маски подсети. PC2 получает адрес 192.168.10.3, PC3 – адрес 192.168.10.4, а PC4 – IP-адрес 192.168.10.5.
Чтобы ответить на вопрос, работает ли наша сеть, пропингуем компьютер PC0 на первом этаже с компьютера PC4, расположенного на 3-м этаже или в другом здании. Пингование окончилось неудачей, так что попробуем разобраться, почему нам не удалось это сделать.
Когда мы пытались пропинговать Laptop0 с ноутбука Laptop2, все прекрасно работало, не смотря на то, что ноутбуки были подсоединены к разным свитчам. Почему же теперь, когда наши компьютеры отдела продаж так же точно подсоединены к разным свитчам, связанным транком, пинг не проходит? Для того, чтобы разобраться в причине проблемы, нужно вспомнить, как работает свитч.
Когда мы посылаем пакет с компьютера PC4 на свитч SW2, он видит, что пакет поступает на порт Fa0/4. Свитч проверяет свою базу данных и обнаруживает, что порт Fa0/4 относится к сети VLAN10. После этого свитч тегирует фрейм номером сети, то есть прикрепляет к пакету трафика заголовок VLAN10, и отправляет его по транку второму свитчу SW1. Этот свитч «читает» заголовок и видит, что пакет предназначен для сети VLAN10, заглядывает в свою базу данных VLAN и, обнаружив, что никакой VLAN10 там нет, отбрасывает пакет. Таким образом, устройства PC2,3 и 4 без проблем могут общаться друг с другом, но попытка установить связь с компьютерами PC0 и PC1 оканчивается неудачей, потому что свитч SW1 ничего не знает о сети VLAN10.
Мы можем легко исправить эту проблему, зайдя в настройки SW1, создав сеть VLAN10 с помощью команды vlan 10 и введя её название MARKETING. Попробуем повторить пингование – вы видите, что первые три пакеты отбрасываются, а четвертый проходит удачно. Это объясняется тем, что сначала свитч проверял IP-адреса и определял MAC-адрес, это заняло определенное время, поэтому три первых пакета были отброшены таймаутом. Сейчас связь установлена, потому что свитч дополнил свою таблицу MAC-адресов и направляет пакеты прямо на требуемый адрес.
Всё, что я сделал для устранения проблемы – это зашел в настройки промежуточного свитча и создал там сеть VLAN10. Таким образом, даже если сеть непосредственно не связана со свитчем, он все равно должен знать обо всех сетях, участвующих в сетевых соединениях. Однако если в вашей сети имеется сотня свитчей, вы физически не сможете зайти в настройки каждого и вручную сконфигурировать идентификаторы VLAN. Вот почему мы используем протокол VTP, настройку которого рассмотрим на следующем видеоуроке.
Итак, сегодня мы рассмотрели все, что планировали: как создавать VLAN, как присваивать порты VLAN и как просматривать базу данных VLAN. Для создания сетей мы входим в режим глобальной конфигурации свитча и используем команду vlan <номер>, мы также можем присвоить имя созданной сети с помощью команды name <имя>.
Мы также можем создать VLAN другим путем, войдя в режим интерфейса и использовав команду switchport access vlan <номер>. В случае отсутствия сети с таким номером она будет создана системой автоматически. Не забывайте использовать команду exit после внесения изменений в первоначальные настройки, иначе они не сохранятся в базе данных VLAN. Далее вы можете приписать порты к конкретным сетям VLAN, используя соответствующие команды.
Команда switchport mode access переводит интерфейс в статический режим access-port, после чего номер соответствующей VLAN приписывается порту командой switchport access vlan <номер>. Для просмотра базы данных VLAN используется команда show vlan, которую следует ввести в пользовательском режиме EXEC. Для просмотра списка транк-портов нужно использовать команду show int trunk.
Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).
VLAN в Cisco
На этой странице рассматривается процедура настройки VLAN в Cisco.
На странице VLAN в Cisco/Lab находятся лабораторные, которые можно сделать для того чтобы на практике попробовать настройки, которые описываются на этой странице. Лабораторные подготовлены в Packet Tracer, но аналогично могут быть выполнены и на реальном оборудовании.
Содержание
[править] Настройка VLAN на коммутаторах Cisco под управлением IOS
- access port — порт принадлежащий одному VLAN’у и передающий нетегированный трафик
- trunk port — порт передающий тегированный трафик одного или нескольких VLAN’ов
Коммутаторы Cisco ранее поддерживали два протокола 802.1Q и ISL. ISL — проприетарный протокол использующийся в оборудовании Cisco. ISL полностью инкапсулирует фрейм для передачи информации о принадлежности к VLAN’у.
В современных моделях коммутаторов Cisco ISL не поддерживается.
Создание VLAN’а с идентификатором 2 и задание имени для него:
[править] Настройка access портов
Назначение порта коммутатора в VLAN:
Назначение диапазона портов с fa0/4 до fa0/5 в vlan 10:
Просмотр информации о VLAN’ах:
[править] Настройка транка (trunk)
Для того чтобы передать через порт трафик нескольких VLAN, порт переводится в режим транка.
Режимы интерфейса (режим по умолчанию зависит от модели коммутатора):
- auto — Порт находится в автоматическом режиме и будет переведён в состояние trunk, только если порт на другом конце находится в режиме on или desirable. Т.е. если порты на обоих концах находятся в режиме «auto», то trunk применяться не будет.
- desirable — Порт находится в режиме «готов перейти в состояние trunk»; периодически передает DTP-кадры порту на другом конце, запрашивая удаленный порт перейти в состояние trunk (состояние trunk будет установлено, если порт на другом конце находится в режиме on, desirable, или auto).
- trunk — Порт постоянно находится в состоянии trunk, даже если порт на другом конце не поддерживает этот режим.
- nonegotiate — Порт готов перейти в режим trunk, но при этом не передает DTP-кадры порту на другом конце. Этот режим используется для предотвращения конфликтов с другим «не-cisco» оборудованием. В этом случае коммутатор на другом конце должен быть вручную настроен на использование trunk’а.
По умолчанию в транке разрешены все VLAN. Для того чтобы через соответствующий VLAN в транке передавались данные, как минимум, необходимо чтобы VLAN был активным. Активным VLAN становится тогда, когда он создан на коммутаторе и в нём есть хотя бы один порт в состоянии up/up.
VLAN можно создать на коммутаторе с помощью команды vlan. Кроме того, VLAN автоматически создается на коммутаторе в момент добавления в него интерфейсов в режиме access.
В схеме, которая используется для демонстрации настроек, на коммутаторах sw1 и sw2, нужные VLAN будут созданы в момент добавления access-портов в соответствующие VLAN:
На коммутаторе sw3 access-портов нет. Поэтому необходимо явно создать все необходимые VLAN:
Для автоматического создания VLAN на коммутаторах, может использоваться протокол VTP.
[править] Настройка статического транка
Создание статического транка:
На некоторых моделях коммутаторов (на которых поддерживается ISL) после попытки перевести интерфейс в режим статического транка, может появится такая ошибка:
Это происходит из-за того, что динамическое определение инкапсуляции (ISL или 802.1Q) работает только с динамическими режимами транка. И для того, чтобы настроить статический транк, необходимо инкапсуляцию также настроить статически.
Для таких коммутаторов необходимо явно указать тип инкапсуляции для интерфейса:
И после этого снова повторить команду настройки статического транка (switchport mode trunk).
[править] Динамическое создание транков (DTP)
Dynamic Trunk Protocol (DTP) — проприетарный протокол Cisco, который позволяет коммутаторам динамически распознавать настроен ли соседний коммутатор для поднятия транка и какой протокол использовать (802.1Q или ISL). Включен по умолчанию.
Режимы DTP на интерфейсе:
- auto — Порт находится в автоматическом режиме и будет переведён в состояние trunk, только если порт на другом конце находится в режиме on или desirable. Т.е. если порты на обоих концах находятся в режиме «auto», то trunk применяться не будет.
- desirable — Порт находится в режиме «готов перейти в состояние trunk»; периодически передает DTP-кадры порту на другом конце, запрашивая удаленный порт перейти в состояние trunk (состояние trunk будет установлено, если порт на другом конце находится в режиме on, desirable, или auto).
- nonegotiate — Порт готов перейти в режим trunk, но при этом не передает DTP-кадры порту на другом конце. Этот режим используется для предотвращения конфликтов с другим «не-cisco» оборудованием. В этом случае коммутатор на другом конце должен быть вручную настроен на использование trunk’а.
Перевести интерфейс в режим auto:
Перевести интерфейс в режим desirable:
Перевести интерфейс в режим nonegotiate:
Проверить текущий режим DTP:
[править] Разрешённые VLAN’ы
По умолчанию в транке разрешены все VLAN. Можно ограничить перечень VLAN, которые могут передаваться через конкретный транк.
Указать перечень разрешенных VLAN для транкового порта fa0/22:
Добавление ещё одного разрешенного VLAN:
Удаление VLAN из списка разрешенных:
[править] Native VLAN
В стандарте 802.1Q существует понятие native VLAN. Трафик этого VLAN передается нетегированным. По умолчанию это VLAN 1. Однако можно изменить это и указать другой VLAN как native.
Настройка VLAN 5 как native:
Теперь весь трафик принадлежащий VLAN’у 5 будет передаваться через транковый интерфейс нетегированным, а весь пришедший на транковый интерфейс нетегированный трафик будет промаркирован как принадлежащий VLAN’у 5 (по умолчанию VLAN 1).
[править] Настройка маршрутизации между VLAN
Все настройки по назначению портов в VLAN, сделанные ранее для sw1, sw2 и sw3, сохраняются. Дальнейшие настройки подразумевают использование sw3 как коммутатора 3 уровня.
При такой схеме работы никаких дополнительных настроек на маршрутизаторе не требуется. Коммутатор осуществляет маршрутизацию между сетями разных VLAN, а на маршрутизатор отправляет трафик предназначенный в другие сети.
Настройки на коммутаторе sw3:
VLAN / интерфейс 3го уровня | IP-адрес |
---|---|
VLAN 2 | 10.0.2.1 /24 |
VLAN 10 | 10.0.10.1 /24 |
VLAN 15 | 10.0.15.1 /24 |
Fa 0/10 | 192.168.1.2 /24 |
Включение маршрутизации на коммутаторе:
Задание адреса в VLAN. Этот адрес будет маршрутом по умолчанию для компьютеров в VLAN 2:
Задание адреса в VLAN 10:
[править] Перевод интерфейса в режим 3го уровня
Интерфейс fa0/10 соединен с маршрутизатором. Этот интерфейс можно перевести в режим 3 уровня.
Перевод fa0/10 в режим интерфейса 3 уровня и задание IP-адреса:
R1 используется как шлюз по умолчанию для рассматриваемой сети. Трафик не предназначенный сетям VLAN’ов будет передаваться на R1.
Настройка маршрута по умолчанию:
[править] Просмотр информации
Просмотр информации о транке:
Просмотр информации о настройках интерфейса (о транке):
Просмотр информации о настройках интерфейса (об access-интерфейсе):
Просмотр информации о VLAN’ах:
[править] Диапазоны VLAN
VLANs | Диапазон | Использование | Передается VTP |
---|---|---|---|
0, 4095 | Reserved | Только для системного использования. | — |
1 | Normal | VLAN по умолчанию. Можно использовать, но нельзя удалить. | Да |
2-1001 | Normal | Для VLANов Ethernet. Можно создавать, удалять и использовать. | Да |
1002-1005 | Normal | Для FDDI и Token Ring. Нельзя удалить. | Да |
1006-4094 | Extended | Только для VLANов Ethernet. | Версия 1 и 2 нет, версия 3 да |
[править] Пример настройки
[править] Пример базовой настройки VLAN, без настройки маршрутизации
В этом разделе приведены конфигурационные файлы коммутаторов для изображенной схемы. На коммутаторе sw3 не настроена маршрутизация между VLAN, поэтому в данной схеме хосты могут общаться только в пределах одного VLAN.
Например, хосты на коммутаторе sw1 в VLAN 2 могут взаимодействовать между собой и с хостами в VLAN 2 на коммутаторе sw2. Однако, они не могут взаимодействовать с хостами в других VLAN на коммутаторах sw1 и sw2.
Не все настройки являются обязательными. Например, перечисление разрешенных VLAN в транке не является обязательным для работы транка, однако, рекомендуется настраивать разрешенные VLAN явно.
Настройки транка на sw1 и sw2 немного отличаются от sw3. На sw3 не задается инкапсуляция для транка (команда switchport trunk encapsulation dot1q), так как в используемой модели коммутатора поддерживается только режим 802.1Q.
[править] Пример конфигураций с настройкой маршрутизации между VLAN
В этом разделе приведены конфигурационные файлы коммутаторов для изображенной схемы. На коммутаторе sw3 настроена маршрутизация между VLAN, поэтому в данной схеме хосты могут общаться как в пределах одного VLAN, так и между различными VLAN.
Например, хосты на коммутаторе sw1 в VLAN 2 могут взаимодействовать между собой и с хостами в VLAN 2 на коммутаторе sw2. Кроме того, они могут взаимодействовать с хостами в других VLAN на коммутаторах sw1 и sw2.
Настройки коммутаторов sw1 и sw2 остались точно такими же, как и в предыдущем разделе. Добавились дополнительные настройки только на коммутаторе sw3.
[править] Настройка VLAN на маршрутизаторах Cisco
Передача трафика между VLAN может осуществляться с помощью маршрутизатора. Для того чтобы маршрутизатор мог передавать трафик из одного VLAN в другой (из одной сети в другую), необходимо, чтобы в каждой сети у него был интерфейс. Для того чтобы не выделять под сеть каждого VLAN отдельный физический интерфейс, создаются логические подынтерфейсы [1] на физическом интерфейсе для каждого VLAN.
На коммутаторе порт, ведущий к маршрутизатору, должен быть настроен как тегированный порт (в терминах Cisco — транк).
Изображенная схема, в которой маршрутизация между VLAN выполняется на маршрутизаторе, часто называется router on a stick.
IP-адреса шлюза по умолчанию для VLAN (эти адреса назначаются на подынтерфейсах маршрутизатора R1):
VLAN | IP-адрес |
---|---|
VLAN 2 | 10.0.2.1 /24 |
VLAN 10 | 10.0.10.1 /24 |
VLAN 15 | 10.0.15.1 /24 |
Для логических подынтерфейсов [1] необходимо указывать то, что интерфейс будет получать тегированный трафик и указывать номер VLAN соответствующий этому интерфейсу. Это задается командой в режиме настройки подынтерфейса:
Создание логического подынтерфейса для VLAN 2:
Создание логического подынтерфейса для VLAN 10:
Соответствие номера подынтерфейса и номера VLAN не является обязательным условием. Однако обычно номера подынтерфейсов задаются именно таким образом, чтобы упростить администрирование.
На коммутаторе порт, ведущий к маршрутизатору, должен быть настроен как статический транк:
[править] Пример настройки
Конфигурационные файлы устройств для схемы изображенной в начале раздела.
[править] Настройка native VLAN
По умолчанию трафик VLAN’а 1 передается не тегированым (то есть, VLAN 1 используется как native), поэтому на физическом интерфейсе маршрутизатора задается адрес из сети VLAN 1.
Задание адреса на физическом интерфейсе:
Если необходимо создать подынтерфейс для передачи не тегированного трафика, то в этом подынтерфейсе явно указывается, что он принадлежит native VLAN. Например, если native VLAN 99:
Configuring VLANs on Cisco Switches
We’ve before written about VLANs and what they can do as a concept. This article will focus on configuring VLANs on Cisco switches.
We will look at each command necessary to configure the topology below. If this topology looks familiar, it is because you saw it in the article which described how VLANs operated on a conceptual level.
We will first look at what goes into configuring the access ports in the topology above, followed by what goes into configuring the trunk ports. Then we will look at some verification and show commands to validate what is configured. Finally, we will look at the default configuration for a switch port, so we know our starting point when we are applying the commands we discuss.
Contents: Configuring VLANs on Cisco Switches
Access Ports
An access port is a switch port that is a member of only one VLAN. There are two parts to configuring an access port: creating the VLAN in the switch’s VLAN Database and assigning the switch port to a VLAN.
Creating the VLAN in the VLAN Database
Before a switch will accept or forward traffic for a VLAN, the VLAN must exist in the switch’s VLAN Database. Adding a VLAN to the VLAN database requires only one command:
From this point, you can also optionally name the VLAN. While not explicitly necessary for traffic to flow, it is best practice to provide a name for each VLAN. This will make the VLAN easier to identify.
To name a VLAN, simply use the name ; command directly after creating it.
For VLAN 20, we will create and name the VLAN on SwitchX:
Assigning the Switchport to a VLAN
Now that the VLAN is in the VLAN database, we can configure a switch port to be an access port for a particular VLAN. There are two commands within the interface configuration mode for this step:
The switchport mode access command sets the port as an access port, and the switchport access vlan <#> command designates the port as a member of VLAN 10.
Some versions of Cisco switches automatically create the VLAN in the VLAN Database when you assign an access port to a VLAN:
However, it is not recommended that you depend on this. Some switches will do it, some will not. Some switches will not create the VLAN and also not report any errors, leaving you confused as to why traffic might not be flowing. Moreover, this creates the VLAN with a generic name – the name for VLAN 30 above defaults to VLAN0030 , which is not very helpful.
As such, we always recommend to create and name a VLAN before assigning it anywhere. If you happen to forget to name it first, you can always update the name of a VLAN in that database after the fact:
In summary, the two steps to configure an access port:
- Create and optionally (but ideally) name the VLAN
- Set a switch port as an access port and designate it as a member of a VLAN
Both steps will also need to be accomplished for each VLAN and switch port on SwitchY. First we will create and name each VLAN:
Then we will set Eth0/2 and Eth0/3 as access ports in VLANs 10 and 30, respectively:
The commands above created the following configuration in the running-configuration for each switch:
Trunk Ports
Traffic traversing a trunk port is still in the form of 1 s and 0 s. To designate which 1 s and 0 s belong to which VLANs, a VLAN Tag is added to all traffic leaving a trunk port. The 802.1q standard specifies the ubiquitous format for the VLAN tag.
Creating a trunk port involves only one command:
Just like switchport mode access set the port as an access port, switchport mode trunk will set the port as a trunk port.
Some switches support more than one method for adding the VLAN tag. Namely, some switches support the antiquated ISL method of VLAN tagging. Before these switches allow you to set a port as a trunk port, they force you to set a tagging method, also called an encapsulation method:
For these switches, you simply use the switchport trunk encapsulation dot1q command before setting the switchport as a trunk port:
We will also configure Eth2/1 and Eth2/2 on SwitchX as trunk ports:
This is all you need to create a trunk port. With the configuration above, the switch will forward traffic from all VLANs in the VLAN Database out the configured trunk port.
That being said, there are some additional helpful settings you can apply to a trunk port to modify the default behavior. We will discuss two of them in the sections that follow.
Native VLAN
The Native VLAN is the one VLAN on a trunk port which is allowed to remain untagged. By default, this is set to VLAN 1, but this can be changed by an administrator.
To set the Native VLAN, you use this command:
After setting this command, any time SwitchX is sending traffic on VLAN 2 out the trunk port Eth1/1, it will do so without adding a VLAN tag. Moreover, anytime SwitchX receives untagged traffic on trunk port Eth1/1, SwitchX will assign that traffic to VLAN 2.
An important point to remember: both switches on either end of the same trunk must have the same Native VLAN. Otherwise, you easily run the risk of a host in one VLAN being able to communicate with a host in another VLAN.
Therefore, we will set the same Native VLAN on SwitchY:
We will also set another VLAN as the Native VLAN for Eth2/1 and Eth2/2 ports, facing Router1 and Router2, respectively. This is to show that the Native VLAN configuration is a per-interface configuration, not a per-device configuration. But keep in mind, in most deployments the Native VLAN is typically consistent across all ports.
Allowed VLAN List
By default, when an interface is set as a trunk port, traffic from all the VLANs in the VLAN database is forwarded out that switch port.
There are times, however, where it is wise to limit which VLAN’s traffic is traversing a particular trunk. This can be done by applying what is known as an Allowed VLAN list. An Allowed VLAN list allows the administrator to manually select which VLANs are traversing a trunk port.
Take a look at the illustration. Notice that the trunk port to Router1 is only processing traffic for VLAN 10 and 20, but if the trunk port is left to its default behavior, SwitchX will be forwarding traffic to Router1 from VLANs 10, 20, and 30. The VLAN 30 traffic will simply be dropped by Router1, but it does needlessly add congestion to the link.
To solve this, we will add an Allowed VLAN list to Eth2/1 on SwitchX to restrict which VLANs are traversing the trunk port:
This will limit the VLANs which are traversing the trunk port to Router1 to only the VLANs which actually need to be on that link.
The trunk port to Router2 can also be limited to only carry traffic for VLAN 20 and 30. Below is another way of applying an Allowed VLAN list which shows how to add VLANs to the list after initially creating it:
Notice the important keyword add in the second command above. This instructs the switch to add VLAN 30 traffic to whatever VLANs are already allowed on the link.
Had the keyword add been omitted, the switch will have replaced the current Allowed VLAN List (which was allowing just VLAN 20) with the new one (which was allowing just VLAN 30). If Router1 was the gateway for the traffic in VLAN 20, all that traffic would now be dropped – creating a decidedly poor experience for the users in that VLAN.
As such, it is very important to either apply the full list of VLANs in one command (as in the first example), or to use the add command to add VLANs to the current allowed VLAN list.
You also have the option of using the remove keyword to remove individual VLANs from the allowed VLAN list.
In fact, the remove keyword provides one more way to apply an allowed VLAN list to a trunk port. Take a look at the link between SwitchX and SwitchY. Notice VLAN 20 does not need to be traversing that link.
Rather than simply adding an Allowed VLAN list with VLANs 10 and 30, you can also simply remove VLAN 20 from the default configuration. We’ll show you how it works with the trunk port between the switches (Eth1/1):
This automatically applies an Allowed VLAN list for every VLAN except VLAN 20:
Since the default trunk port behavior was to allow all VLANs, removing VLAN 20 caused the switch to apply an Allowed VLAN list which included every VLAN (1 – 4094), except VLAN 20.
That said, this is typically not the way you would apply a new Allowed VLAN list to an interface – the remove keyword is more often used to remove individual VLANs from an already added Allowed VLAN list. We will remove the Allowed VLAN list on Eth1/1, and leave that port configured as a default trunk port – allowing traffic for all VLANs to traverse the trunk:
The commands above created the following configuration in the running-configuration for each switch:
Show Commands
The commands above explain the steps for configuring VLANs on Cisco Switches. The output at the end of each section displayed the way the configurations appears in the running-configuration . However, the running-configuration will only show how a device is configured – it will not show how a device operates.
This is an important distinction – a talented network engineer needs to not only know how to configure VLANs, but also how to validate their operation as well. To that end, we will discuss five show commands that can be used to verify a device’s operation – how it is actually handling traffic.
show vlan brief
The show vlan brief command provides two main pieces of information:
- The VLANs which exist in the switch’s VLAN Database
- The access ports configured in each VLAN
Here is what the output from both our switches:
For both switches, the command displays VLANs 1, 10, 20, and 30. These are the only VLANs that were created in the VLAN database. Should the switch receive traffic tagged for a VLAN other than these, that traffic will be discarded.
For each VLAN, the VLAN’s name is also provided. Notice VLANs 10, 20, and 30 are named RED , ORANGE , and BLUE , respectively.
Also notice VLAN 1 exists and is named default , despite us not explicitly creating it. This is because VLAN 1 is the default configuration that every switch port starts out in. The switch will not allow you to delete VLAN 1 or change its name.
The Status column reflects whether the VLAN is active on the switch. A VLAN can become inactive for two reasons. The first is explicitly using the shutdown command within the VLAN configuration mode. The second is a VLAN existing in the database, but having no access ports or trunk ports utilizing that VLAN.
On the far right of output, under the Ports column, you get a list of each access port in each VLAN. We configured SwitchX’s Eth0/0 interface in VLAN 10, and the output reflects that. Also notice the port Eth1/1 is nowhere to be found. This is because Eth1/1 was configured as a trunk port, and will not be visible in the output of show vlan brief .
show interfaces trunk
If show vlan brief is the go-to command to show you information about access ports on a switch, then show interfaces trunk is the go-to command to show you information about trunk ports on a switch.
There are four sections to the output of this command. To the untrained eye, it might appear like some of the information is duplicate – but this is not the case.
The first section of the output lists each interface which is operationally behaving like a trunk port. This will make more sense a little later in the article when we discuss a mechanism that lets a switch port automatically determine whether it should be a trunk port. In the case above, we explicitly configured ports Eth1/1, Eth2/1, and Eth2/2 on SwitchX and port Eth1/1 on SwitchY as trunk ports.
The first section also lists what method of Encapsulation is in use (i.e., what method of VLAN tagging), as well as the VLAN configured as the Native VLAN for each trunk.
The second section, labeled Vlans allowed on trunk , is a reflection of which VLANs have made it through any configured Allowed VLAN lists on each trunk port. On SwitchX, we created two Allowed VLAN lists, one allowing VLAN 10 and 20 on Eth2/1, and another allowing VLANs 20 and 30 on Eth2/2. Interface Eth1/1 did not have any VLANs restricted, so therefore all possible VLANs are listed as allowed on the trunk port – VLANs IDs can only be 1 – 4094.
The third section, labeled Vlans allowed and active in management domain , is a combination of the section before it ( Vlans allowed on trunk ) and the VLANs which are created in the VLAN database (i.e., visible in show vlan brief ). Despite all VLANs being allowed on Eth1/1 (as indicated by the 1-4094 in the second section), only VLANs 1, 10, 20, and 30 exist in the VLAN database.
The fourth section, labeled Vlans in spanning tree forwarding state and not pruned , is a combination of the last two sections and the ports the Spanning Tree Protocol deems as safe to forward traffic.
The Spanning Tree Protocol (STP) exists to ensure the L2 domain does not contain any loops. If any are detected, those ports are disabled. In our topology, there are no loops, so the output of the fourth section looks identical to the output of the third section because STP did not disable any ports. STP is a fascinating protocol, but its operation is outside the scope of this article – it will be the subject of a future article.
show interfaces switchport
The show interfaces switchport command can give you an overwhelming amount of information. Using the command by itself shows you 26 pieces of information for each interface on your switch (or more, depending on the code version you are using).
Rather than try to sift through all that, you can specify a particular interface to get those same 26 pieces of information for just the desired interface using the command show interfaces <intf> switchport .
For the sake of brevity and relevance, the output below has been trimmed to just show the lines which relate to something discussed in this article. There is an example of the full output of this command later in this article.
The description of each line in the output above is in the table that follows.
Line(s) | Description |
Switchport | Enabled if the port is functioning as a L2 port. Disabled if the port is functioning as a L3 port. |
Administrative Mode and Operational Mode | These two tell you how the switchport is configured and how the switchport is operating. In our case, we configured ports as access Ports and trunk Ports and they are reflected above. But as alluded to before, there is a protocol called DTP which allows switchports to automatically negotiate becoming a trunk port. In DTP’s case, you might have a particular Administrative mode set and the Operational mode will reflect whether the switchport is actually acting as a trunk or access port. This will make more sense when we get into the specifics of DTP below. |
Administrative Trunking Encapsulation and Operational Trunking Encapsulation | DTP not only negotiates trunk status, it also negotiates encapsulation method. These two commands show you what encapsulation method is configured (Administrative) and what encapsulation method is negotiated (Operational). |
Negotiation of Trunking | This indicates the switchport’s participation in DTP. Again, it will again make more sense below when we elaborate on DTP. |
Access Mode VLAN | This displays the VLAN membership if the port is configured or negotiated as an access port. Note that even our trunk port (SwitchY’s Eth 2/2) has an entry for this attribute, but it doesn’t have an effect until the interface becomes an access port. |
Trunking Native VLAN | This displays the Native VLAN setting for the port. Again, even an access port will have an entry for this setting (see SwitchX’s Eth0/1), but it will only have an effect if the interface is configured or negotiated as a trunk port. |
Trunking VLANs Enabled | This is a reflection of the VLANs permitted via an Allowed VLAN list. Notice SwitchX’s trunk port was limited to just VLANs 20 and 30, and this is reflected in the output above. |
show interfaces status
Typically, the show interfaces status command is associated with seeing whether devices are plugged into a switchport or not ( connected vs notconnect in the Status column). However, this command can also reveal some information about the VLAN configuration of a switchport.
Namely, if you see a number in the VLAN column, then the switchport is an access Port in the provided VLAN. And if you see the word trunk , then the switchport is configured as a trunk port.
show spanning-tree
The show spanning-tree command is obviously mostly associated with verifying the Spanning Tree Protocol, but it can also provide useful VLAN configuration information.
Earlier we talked about show vlan brief , which provides information about interfaces configured as access ports. We also talked about show interfaces trunk , which provides information about interfaces configured as trunk ports. The show spanning-tree vlan <VLAN-ID#> command provides information on both access ports and trunk ports.
Specifically, you can use this command to see every switchport a VLAN is exiting.
We configured SwitchX with one access port in VLAN 10 (Eth0/0), and two trunk ports which are permitting VLAN 10 (Eth1/1 and Eth2/1). Looking at the output of the show spanning-tree vlan 10 command on SwitchX, we can see all three of the ports that VLAN 10 traffic is egressing.
You won’t easily be able to determine whether the port is configured as an access port or a trunk port. But you will be able to easily determine to what other devices a VLAN’s traffic is going to by comparing the output of show spanning-tree to show cdp neighbors :
We can see that VLAN 10 on SwitchX is going to Router1 and SwitchY, as well as a third device (which we know is Host A, who isn’t participating in CDP). VLAN 20 on SwitchY is only going to SwitchX. Using these two commands in conjunction with each other is a great way to trace the L2 path through a network between two devices.
Default Switchport Setting
Finally, before configuring VLANs with the commands discussed in this article, it is important to know the starting point for each interface.
Nearly all Cisco features come with a certain default configuration. These exist and are in place so that the device can perform (maybe with limited features, but nonetheless) without any configuration required.
Knowing the default configuration is crucial to be an effective engineer because if you know how something works innately, you know exactly what needs to change to get it to work the way you want it to. To that end, we will spend some time discussing the default switch port configuration applied to Cisco switches.
First, here is the output of show interfaces switchport for an unmodified interface. There are three items we must discuss from the output below:
Dynamic Trunking Protocol
The first items we will discuss from the default switch port configuration above have to do with the Dynamic Trunking Protocol, or DTP. Take a look at these lines from the output above:
As discussed before, the two modes correlate to the configured mode ( administrative ) and the negotiated mode ( operational ). The distinction exists as a result of the Dynamic Trunking Protocol (DTP).
Cisco created DTP to further the idea of ‘plug and play’ switches. They created a protocol where if two switches were linked to each other, they could automatically determine whether their interlink should be a trunk port or an access port. It works based upon four modes an interface can be set to:
- switchport mode dynamic desirable – actively attempt to negotiate trunk
- switchport mode dynamic auto – passively attempt to negotiate trunk
- switchport mode trunk – statically set as trunk
- switchport mode access – statically set as access
The configuration of both sides of the link will determine whether the link will negotiate as a trunk port or an access port. The table below lists every possible combination
One side of Link | Other side of Link | Result |
---|---|---|
Dynamic Desirable | Dynamic Desirable | Trunk |
Dynamic Desirable | Dynamic Auto | Trunk |
Dynamic Desirable | Static Trunk | Trunk |
Dynamic Desirable | Static Access | Access |
Dynamic Auto | Dynamic Auto | Access |
Dynamic Auto | Static Trunk | Trunk |
Dynamic Auto | Static Access | Access |
Static Trunk | Static Trunk | Trunk |
Static Trunk | Static Access | Misconfiguration |
Static Access | Static Access | Access |
The issue with DTP is it provides a means for the other side of a link to modify the behavior of your side of the link. When you control both sides this might not seem like a terrible feature, but if you are ever in a situation where you only control your device, DTP gives too much power to the other side.
As such, it is often recommended to avoid DTP automatically determining the trunk status and instead manually set a port as trunk or access using the commands we discussed earlier in this article ( switchport mode trunk or switchport mode access ).
Even with the switch port mode statically set, however, your switch will still send DTP frames. This is how the other side knows how your side is configured. Again, if you own both sides the risk is negligible, but if you might not control the other side, then this is undesirable.
You can disable the sending of DTP frames by also adding to the interface configuration this command: switchport nonegotiate . This will disable the periodic sending of DTP frames to advertise the switch port mode of the local switch.
You can view whether a switch port has negotiation disabled in the output of the command above. The specific line which indicates it is the following:
To summarize, the default DTP behavior of an unmodified interface is:
- switchport mode dynamic auto
- negotiation of DTP enabled
Which means the link will automatically become a trunk if the other side is configured with switchport mode dynamic desirable or if the other side is configured with switchport mode trunk and switchport nonegotiate is not applied.
Default Access Port Settings
From the output above, the following line correlates to the access port configuration:
Whether a switch port is statically set (or negotiated) as an access port or not, this attribute exists and is configurable via the switchport access vlan <#> command. Of course, it doesn’t affect the behavior of the switchport unless the switchport becomes an access port.
A potential use case is if you are transitioning a port from a trunk port to an access port, you can “preset” the access-port VLAN so that once you apply the switchport mode access command, it is already in the appropriate VLAN.
In any case, notice the default configuration has every switchport in VLAN 1.
A switch is a device which facilitates communication within networks. You can take a Cisco switch and simply connect two hosts and everything will “just work”. It will do so because all the ports start in VLAN 1, so that there is no L2 segregation between the switch ports on switch’s default configuration. This lines up with Cisco’s goal of making their switches “plug and play”.
Default Trunk Port Settings
Lastly, the following lines in the output above correlate to the trunk port configuration:
We discussed DTP earlier, but we did not mention that DTP also negotiates the encapsulation method.
Administrative Trunking Encapsulation indicates whether DTP will determine the encapsulation method or whether it is statically set via the switchport trunk encapsulation command.
Operational Trunking Encapsulation indicates the chosen or configured encapsulation method. If the port becomes a trunk port, there are only two options for this attribute: the ubiquitous 802.1q and the archaic ISL. On an access port, this line will display native (as above), indicating no VLAN tag will be added to traffic leaving this switch port.
Trunking Native Mode VLAN indicates the Native VLAN on the port. Once again, this setting will only take place if the port becomes a trunk port. This setting can be modified with the switchport trunk native vlan <#> command.
Trunking VLANs Enabled reflects the Allowed VLAN list applied to the port. ALL indicates no VLANs have been restricted from the trunk, and therefore every VLAN in the VLAN database will traverse down the trunk. As with the other trunk configurations, this has no effect if the port is in access mode.
Configuring VLANs — Summary
This article is meant to follow the article discussing VLANs as a concept. The focus of this article was to understand the different configuration and verification commands that exist to modify or validate how a switch is behaving in regards to its VLANs.
As with all written guides, practice is key. We encourage you to build out the topology above in a lab or emulator (GNS3 / Packet-Tracer) and to practice configuring VLANs using the commands described above.
If you want an additional challenge, build out the topology in the VLAN Challenge from the other article. Note, you will need to disable CDP and DTP on most of your interfaces to avoid warnings.
If you are able to successfully build out that topology (as well as answer the two challenge questions in the previous article), then you can rest assured knowing you have mastered the concept of Configuring VLANs on Cisco switches.