Как пинговать разные vlan
Перейти к содержимому

Как пинговать разные vlan

  • автор:

Configure InterVLAN Routing on Layer 3 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 the steps to configure and troubleshoot that are applicable to the creation of Layer 3 interfaces.

Prerequisites

Requirements

Catalyst switch models 3560, 3750, Catalyst 4500/4000 Series with Sup II+ or later, or Catalyst 6500/6000 Series that run Cisco IOS system software support basic InterVLAN routing features in all their supported software versions. Before you attempt this configuration on a 3550 series switch, ensure that you meet these prerequisites:

InterVLAN routing on the Catalyst 3550 has certain software requirements in order to support interVLAN routing on the switch. See this table in order to determine whether your switch can support interVLAN routing.

For more information on the differences between SMI and EMI, refer to Upgrading Software Images on Catalyst 3550 Series Switches Using the Command Line Interface. This document also provides the procedure to upgrade the Cisco IOS code to a version that supports interVLAN routing.

This document assumes that Layer 2 has been configured and that the devices within the same VLAN connected to the 3550 communicate with one another. If you need information on how to configure VLANs, access ports, and trunking on the 3550, refer to Creating Ethernet VLANs on Catalyst Switches for the specific Cisco IOS version you run on the switch.

Components Used

The information in this document is based on a Catalyst 3550-48 that runs Cisco IOS Software Release 12.2(44)SE6 EMI.

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.

Background Information

VLANs divide broadcast domains in a LAN environment. Whenever hosts in one VLAN need to communicate with hosts in another VLAN, the traffic must be routed between them. This is known as inter-VLAN routing. On Catalyst switches it is accomplished by the creation of Layer 3 interfaces (switch virtual interfaces (SVIs) ).

Note: This document uses a Catalyst 3550 as an example. However, the concepts can also be applied to other Layer 3 switches that run Cisco IOS ® (for example, Catalyst 3560, 3750, Catalyst 4500/4000 Series with Sup II+ or later, or Catalyst 6500/6000 Series that run Cisco IOS System software).

Configure InterVLAN Routing

In this section, you are presented with the information to configure the features described in this document.

This logical diagram explains a simple interVLAN routing scenario. The scenario can be expanded to include a multi-switch environment if you first configure and test inter-switch connectivity across the network before you configure the routing capability. For such a scenario that uses a Catalyst 3550, refer to Configuring InterVLAN Routing with Catalyst 3550 Series Switches.

Simple interVLAN Routing Scenario

Step-by-Step Instructions

Complete these steps in order to configure a switch to perform interVLAN routing.

Enable routing on the switch with the ip routing command. Even if IP routing was previously enabled, this step ensures that it is activated.

Note: If the switch does not accept the ip routing command, upgrade to either SMI image Cisco IOS Software Release12.1(11)EA1 or later, or an EMI image, and repeat this step. See the Prerequisites section for more information.

Tip: Check the show running-configuration . Verify whether ip routing is enabled. The command, if enabled, appears towards the top of the output.

hostname Switch
!
!
ip subnet-zero
ip routing
!
vtp domain Cisco
vtp mode transparent

Make note of the VLANs that you want to route between. In this example, you want to route traffic between VLANs 2, 3 and 10.

Use the show vlan command in order to verify that the VLANs exist in the VLAN database. If they do not exist, add them on the switch. This example shows the addition of VLANs 2, 3, and 10 to the switch VLAN database

Tip: You can use VLAN Trunking Protocol (VTP) in order to propagate these VLANs to other switches. Refer to Understanding and Configuring VLAN Trunk Protocol (VTP).

Determine the IP addresses you want to assign to the VLAN interface on the switch. For the switch to be able to route between the VLANs, the VLAN interfaces must be configured with an IP address. When the switch receives a packet destined for another subnet/VLAN, the switch looks at the routing table in order to determine where to forward the packet. The packet is then passed to the VLAN interface of the destination. It is in turn sent to the port where the end device is attached.

Configure the VLAN interfaces with the IP address identified in step 4.

Repeat this process for all VLANs identified in step 1.

Configure the interface to the default router. In this scenario you have a Layer 3 FastEthernet port.

The no switchport command makes the interface Layer 3 capable. The IP address is in the same subnet as the default router.

Note: This step can be omitted if the switch reaches the default router through a VLAN. In its place, configure an IP address for that VLAN interface.

Configure the default route for the switch.

From the diagram in the Task section, note that the IP address of the default router is 192.168.1.2. If the switch receives a packet for a network not in the routing table, it forwards it to the default gateway for further processing. From the switch, verify that you can ping the default router.

Note: The ip default-gateway command is used to specify the default gateway when routing is not enabled. However, in this case, routing is enabled (from step 1). Therefore, the ip default-gateway command is unnecessary.

Configure your end devices to use the respective Catalyst 3550 VLAN interface as their default gateway. For example, devices in VLAN 2 can use the interface VLAN 2 IP address as its default gateway. Refer to the appropriate client configuration guide for more information on how to designate the default gateway.

(Optional) When you implement Inter-VLAN routing, you can also isolate some VLANs from being routed. Refer to the Isolation Between Two Layer 3 VLANs section of Creating Ethernet VLANs on Catalyst Switches for more information.

This video on the Cisco Support Community demonstrates how to configure the InterVLAN routing on Catalyst 3550 Series Switch:

Verify

This section provides information in order to confirm that your configuration works properly.

show ip route — Provides a snapshot of the routing table entries.

Note that the routing table has an entry for each VLAN interface subnet. Therefore, devices in VLAN 3 can communicate with devices in VLAN 10, VLAN 2 and vice versa. The default route with the next hop 192.168.1.2 allows the switch to forward traffic to the gateway of last resort (for traffic the switch cannot route).

show ip interface brief — Lists a summary of an interface’s IP information and status. This command is used to verify that the VLAN interfaces and ports on the switch are up/up.

Troubleshoot

This section provides the information used in order to troubleshoot your configuration.

Troubleshoot Procedure

Here is information relevant to troubleshoot this configuration. Use these instructions in order to troubleshoot your configuration.

Issue Internet Control Message Protocol (ICMP) pings in order to verify whether you have Layer 2 connectivity.

If you are not able to ping between two devices on the same VLAN on the same switch, verify that your source and destination ports have devices connected to them and are assigned to the same VLAN. For more information, refer to Creating Ethernet VLANs on Catalyst Switches.

If you are not able to ping between two devices on the same VLAN but not on the same switch, verify that trunking is configured properly and that the native VLAN matches on both sides of the trunk.

Initiate an ICMP ping from an end device connected to the Catalyst 3550 to its corresponding VLAN interface. In this example, you can use a host on VLAN 2 (10.1.2.2) and ping interface VLAN 2 (10.1.2.1). If you are not able to ping the interface, verify that the host’s default gateway points to the corresponding VLAN interface IP address and that the subnet masks match. For example, the default gateway of the device on VLAN 2 can point to Interface VLAN 2 (10.1.2.1). Also verify the interface VLAN status by issuing the show ip interface brief command.

If the interface status is administratively down, enter the no shutdown command in the VLAN interface configuration mode.

If the interface status is down/down, verify the VTP configuration and that the VLANs have been added to the VLAN database. Check to see if a port is assigned to the VLAN and whether it is in the Spanning Tree forwarding state.

Initiate a ping from an end device in one VLAN to the interface VLAN on another VLAN in order to verify that the switch routes between VLANs. In this example, ping from VLAN 2 (10.1.2.1) to Interface VLAN 3 (10.1.3.1) or Interface VLAN 10 (10.1.10.1). If the ping fails, verify that IP routing is enabled and that the VLAN interfaces status is up with the show ip interface brief command.

Initiate a ping from the end device in one VLAN to the end device in another VLAN. For example, a device on VLAN 2 can ping a device on VLAN 3. If the ping test is successful in step 3 but fails to reach the end device on the other VLAN, verify that the default gateway on the connected device is configured correctly.

If you are not able to reach the Internet or corporate network, verify that the default route on the 3550 points to the correct IP address on the default router. Also verify that the IP address and subnet mask on the switch are configured correctly.

There is no set recommended value of bandwidth on a VLAN interface (SVI). The default is BW 1000000 Kbit (1 Gigabit), because the route processor internal inband is only 1 Gigabit by design. The bandwidth parameter on the show interface vlan output is not fixed bandwidth used by SVI as traffic is routed on the switch backplane. The bandwidth number can be used in order to manipulate routing metrics, calculate interface load statistics, and so forth.

The Catalyst 6500 switch platform mostly forwards traffic in hardware with the exception of control/special traffic, for example, SNMP, Telnet, SSH, Routing protocols, and ARP, which has to be processed by the Supervisor, which is done in the software.

Pinging a different vlan without routing

I have a layer 3 switch with two vlans 10 and 20. This is the only configuration i made on the switch:

PC from vlan 10 on f0/1 and PC from vlan 20 on f0/2:

No ip routing enabled:

Here is my problem. From PC vlan 10 i can ping the int vlan 20 on the switch, which has a totally different subnet. Also, from PC vlan 20, i can ping the default gateway of vlan 10. How is this possible without routing? I feel like everything I knew about networking is crumbling.

I did this in packet tracer. Switch is WS-C3560-24PS.

Ron Maupin's user avatar

4 Answers 4

On Cisco layer 3 switches, routing is enabled by default. Add the command

Ron Trunk's user avatar

This is just some thoughts addressing the question — A packet cannot hop from one sub-net to another without routing — but the frame can go from VLAN10 to VLAN20 by a bridge eg a cable between two access ports would do that. But then the PC would be wrong to send an IP broadcast to 10.20.20.255 out a port configured as 10.20.10.10/24 as it should send it to a gateway based on its routing table

So if a PC is only connected to 10.20.10.10/24 and you have no routers — the PC should not even bothering putting the data on the wire. So it appears you have no routers but you have set up a gateway or the PC is doing something with a packet for which its would appear there are no routes.

So I would look at what the PC is configured as to see where the packet goes, then look at what that port is — and try and follow what the frame would do

Still your understanding is correct — if no router then no way to swap from one subnet to another. However a VLAN is not a subnet.

Тренинг Cisco 200-125 CCNA v3.0. День 42. Маршрутизация Inter-VLAN и интерфейс SVI

Сегодня мы рассмотрим маршрутизацию Inter-VLAN и виртуальный интерфейс свитча SVI. Мы уже знакомились с этими темами в курсе ICND1 и сейчас займемся ими более углубленно. Эти темы упоминаются в разделе 2.0 «Технологии маршрутизации» курса ICND2, подразделы 2.1а и 2.1b. Сначала мы рассмотрим настройку, проверку и неполадки маршрутизации Inter-VLAN, затем концепцию архитектуры сети Router-on-a-Stick (ROAS) и интерфейс свитча SVI.

Перейдем к программе Packet Tracer и рассмотрим, что представляет собой виртуальный интерфейс свитча SVI. На схеме показано две сети: отдела продаж и отдела маркетинга, каждая из которых имеет свой свитч. По умолчанию компьютеры подсоединяются к свитчу через дефолтную VLAN1, поэтому без проблем могут связываться друг с другом.

Но если компьютер №1 отдела продаж захочет связаться с компьютером №1 отдела маркетинга, он не сможет этого сделать, потому что сети не соединены. Технически можно соединить кабелем оба свитча, но компьютеры все равно не смогут связаться, потому что являются частями разных сетей с разным диапазоном IP-адресов – 192.168.10.0/24 и 192.168.20.0/24.

Организовать связь между этими двумя сетями можно, если расположить между свитчами устройства 3 –го уровня OSI, роутер, и соединить свитчи и роутер кабелями.

Обычно в офисе у вас нет двух разных свитчей для двух сетей, в первую очередь потому что свитчи Cisco достаточны дорогие, поэтому приходиться обходиться одним свитчем на 24 и 48 портов. Предположим, что у нас есть 48-портовый свитч.

Мы создаем разные VLAN, пусть вас не смущает цвет портов на схеме, я нарисую их черным. Синяя сеть это VLAN10, а красная – VLAN20. Если мы это проделаем, то компьютеры из разных сетей все равно не смогут связываться друг с другом, потому что свитч является устройством 2 уровня OSI. Нам нужно устройство 3 уровня, чтобы организовать межсетевую связь.

Решить эту проблему можно с помощью роутера, один порт которого будет подключен к одному из портов синей сети VLAN10, а другой порт – к одному из портов красной сети VLAN20. При этом мы сможем без проблем организовать связь между компьютерами разных сетей через этот маршрутизатор.

При такой схеме мы нерационально используем интерфейсы роутера, поэтому намного эффективнее использовать другой способ межсетевой связи под названием Router-on-a-Stick. Позже мы к нему вернемся, а пока что рассмотрим виртуальный интерфейс свитча SVI. Как известно, у свитча «из коробки» все порты по умолчанию настроены на сети VLAN1, причем у свитча есть виртуальный интерфейс для данных сетей – интерфейс VLAN1. Что же такое виртуальный интерфейс?

Если вы как сетевой администратор настраиваете свитч, то используете свой компьютер, который соединяете кабелем с консольным портом свитча. Проблема заключается в том, что для использования консоли вы должны находиться рядом со свитчем, на расстоянии не больше длины кабеля. Предположим, что вы администратор большой сети и хотите настроить устройство удаленно. Однако свитч является устройством 2-го уровня сети, поэтому у него не может быть IP-адреса, и для вас нет никакого способа добраться до него по сети, так как физическим интерфейсам свитча невозможно присвоить IP-адреса. Как же можно решить эту проблему?
Для этого нам нужно создать виртуальный интерфейс для VLAN1 и присвоить ему IP-адрес 192.168.1.1 или любой другой адрес. Тогда нарисованный мной компьютер сетевого администратора с IP-адресом 192.168.1.10 сможет соединиться с этим виртуальным интерфейсом свитчем через Telnet или SSH. Такая возможность существует для VLAN1 по умолчанию.

Однако ПК1 синей сети принадлежит VLAN10, а виртуальный интерфейс принадлежит VLAN1, поэтому компьютер не может связаться с интерфейсом VLAN1, так как он относится к другой сети. В этом случае вы можете создать виртуальный интерфейс для VLAN10 и создать такой же интерфейс для VLAN20. Тогда компьютер ПК1 синей сети и компьютер ПК1 красной сети смогут удаленно связываться со свитчем через виртуальные интерфейсы – для этого нужно всего лишь назначить этим интерфейсам IP-адреса в диапазонах адресов VLAN10 и VLAN20.

Таким образом, чтобы обеспечить удаленный доступ любого устройства к свитчу, нужно создать виртуальный интерфейс с тем же номером VLAN, к которой принадлежит это устройство, например, для компьютера из сети VLAN20 создать виртуальный интерфейс VLAN20 и т.д.

При обсуждении VLAN мы упоминаем уровень 2 и уровень 3 модели OSI. Для того, чтобы понять разницу между ними, используем Packet Tracer.

Я размещаю устройство 2 уровня – свитч и добавляю несколько ПК конечных пользователей. Левый компьютер PC0 находится в сети VLAN10, а правый PC1- в сети VLAN20. Затем я создам сеть, соединив компьютеры со свитчем. Оба компьютера должны иметь собственные IP-адреса, поэтому я захожу в их сетевые настройки и присваиваю ПК0 адрес 198.168.10.1 и маску подсети 255.255.255.0. Пока что я не использую шлюз, поэтому оставляю настройки по умолчанию. То же самое я проделываю с PC1, присваивая ему адрес 198.168.20.1 и маску подсети 255.255.255.0.
Теперь я пропингую с PC0 компьютер с адресом 198.168.20.1. Из предыдущих уроков вы должны знать, что это не сработает. Не смотря на то, что оба ПК подключены к дефолтным интерфейсам свитча VLAN1, они все равно не могут общаться, потому что имеют IP-адреса, принадлежащие разным диапазонам сетевых адресов – VLAN10 имеет диапазон 192.168.10.0/0, а VLAN20 — 192.168.20.0/0. То есть физически компьютеры могут связаться друг с другом, а логически – нет.

Я захожу в консоль свитча и меняю настройки VLAN. Для этого я вызываю интерфейс f0/1 и набираю команды switchport mode access и switchport access vlan10, после чего система выдаст сообщение, что такой сети не существует и она будет создана. Далее я введу команду show vlan brief, и можно увидеть, что у нас была создана сеть VLAN10. Затем я ввожу команду show ip interface brief, и мы видим, что в конце списка интерфейсов у нас по умолчанию присутствует виртуальный интерфейс VLAN1 – это и есть SVI. Он пребывает в состоянии administratively down.
Теперь давайте попробуем создать виртуальный интерфейс для VLAN10. Мы видим, что свитч не имел сети VLAN10 и поэтому её создал, это 2 уровень модели OSI. Виртуальный интерфейс для VLAN10 относится к 3 уровню, и для его создания нужно использовать команду int vlan10. После этого система выдаст сообщение, что интерфейс VLAN10 поменял состояние на up – «включен», при этом также включился линейный протокол интерфейса VLAN10.

Если снова ввести команду show int brief, видно, что у нас только что появился созданный интерфейс VLAN10, который находится в состоянии up. Если мы создаем SVI, то по умолчанию он будет пребывать в состоянии «включен». Помните – интерфейс для VLAN1 по умолчанию отключен, но когда мы создаем другой виртуальный интерфейс VLAN, он будет находиться во включенном состоянии.

Как видите, в базе данных VLAN нет VLAN20, поэтому я его создам командой int vlan 20. Вы видите, что я нахожусь в режиме подкоманд данного интерфейса. Я могу ввести команду shutdown, чтобы отключить этот SVI, или написать no shut, если хочу оставить его в состоянии enable. Давайте еще раз посмотрим на список интерфейсов. Как видите, у нас автоматически создана сеть VLAN20. Предыдущая созданная сеть VLAN10 находится в состоянии up, с ней нет никаких проблем. Но сейчас, когда я создал VLAN20, она появилась в отключенном состоянии. Это один из видов неполадок, поэтому нам нужно разобраться, почему она и соответствующий ей протокол находятся в состоянии down.

Оказывается, интерфейс VLAN20 отключен, потому что у нас ещё нет сети VLAN20. Поэтому давайте выйдем из настроек интерфейса и создадим эту сеть. Запомните, что при создании элемента структуры 3 уровня модели OSI используется команда int vlan 20, а для создания элемента 2 уровня — просто команда vlan 20. После создания этой сети система выдает сообщение, что теперь интерфейс VLAN20 изменил состояние на up. Вы также видите, что система после этого выдает подсказки на уровне подкоманд типа Switch(config-vlan) # вместо Switch(config) #.
Попробуем теперь изменить имя созданной нами сети. Если мы создаем сеть VLAN10, система по умолчанию присваивает ей такое же имя – VLAN0010. Если мы хотим его изменить, то используем команду name SALES. Затем просматриваем с помощью команды show vlan brief базу данных VLAN и видим, что сеть VLAN20 превратилась в сеть SALES.

Если теперь посмотреть на список интерфейсов, видно, что интерфейс VLAN20 изменил свое состояние на Up потому что теперь база данных VLAN содержит сеть, которая соответствует данному интерфейсу.

Однако вы видите, что протокол данного порта до сих пор не активен и находится в состоянии down. Это потому, что он не «видит» никакого трафика в сети VLAN20. Почему же он не видит этого трафика? Потому что к сети VLAN20 не подсоединен ни один порт. Значит, нам нужно подключить к ней работающий порт. В данном случае у нас активны только порты f0/1 и f0/2, соединяющие устройства.

Поэтому я с помощью команды int f0/2 захожу в режим подкоманд данного интерфейса и ввожу команды switchport mode access и switchport access vlan20. После этого система сообщает, что линейный протокол интерфейса VLAN20 изменил состояние на up. То же самое можно увидеть с помощью команды show int brief – оба элемента, и интерфейс, и его протокол находятся во включенном состоянии. Таким образом, если у вас возникла проблема с отключенным интерфейсом VLAN, в первую очередь просмотрите базу данных сетей VLAN и убедитесь в существовании сети, соответствующей данному интерфейсу. Если вы видите отключенный протокол, убедитесь, что в сети имеется активный трафик, то есть связан ли с данной сетью какой-либо порт.

Если посмотреть на остальные интерфейсы свитча, например, f0/5, мы увидим, что протокол для этого интерфейса находится в состоянии down, потому что на этом интерфейсе не наблюдается никакого трафика. По умолчанию порт отключен, если к нему не подключены никакие устройства, а протокол не активен, потому что на этом порту нет никакого трафика. Итак, если вы видите, что SVI находится в состоянии down, то в первую очередь должны проверить упомянутые выше вещи.
Теперь, когда наши компьютеры имеют IP-адреса, а порты свитча настроены, проверим, пройдет ли пинг PC0 к компьютеру PC1. Конечно же, пропинговать правый компьютер не удается, потому что устройства до сих пор находятся в разных сетях VLAN10 и VLAN20.

Чтобы решить эту проблему, я размещу на схеме устройство, которому можно присвоить IP-адрес – роутер, и соединю кабелем один из его интерфейсов с портом свитча f0/3, а вторым кабелем соединю другой интерфейс роутера с портом f0/4. Это стандартное соединение для таких случаев – все будет работать, если я соединю один интерфейс с сетью VLAN10, а другой – с сетью VLAN20. Чтобы не тратить время, я заранее настроил порты роутера, присвоив им IP-адреса. Чтобы вы это увидели, я зайду в настройки консоли роутера и введу команду show ip int brief. Сейчас я выполню необходимые изменения, введя команды config terminal, int f0/3, switchport mode access и switchport access vlan 10. Аналогичным образом я настрою интерфейс f0/4 на работу с сетью VLAN20.

Давайте посмотрим, пройдет ли сейчас пинг. Вы видите, что портам свитча требуется некоторое время, чтобы перейти в состояние готовности пропуска трафика – оранжевые маркеры вскоре меняют цвет на зеленый. Я ввожу в командной строке PC0 команду ping 192.168.20.1, но пинг снова не проходит. Причина – моя ошибка, потому что я не создал шлюз в сетевых настройках компьютеров. Поэтому я захожу в панель настроек и указываю адрес шлюза для первого компьютера 192.168.10.10, а для второго — 192.168.20.10.

После этого пинг проходит успешно, и теперь компьютеры PC0 и PC1 могут общаться друг с другом. Однако, как я уже сказал, при такой топологии сети мы зря тратим возможности портов роутера – обычно роутер имеет всего два порта, поэтому просто преступно использовать их таким образом. Для более эффективного использования возможностей маршрутизатора применяется концепция Router-on-s-Stick, или «роутер на палочке, роутер на флэшке». Давайте вернемся к одному из предыдущих слайдов.

Если мы работаем с 3-м уровнем модели OSI, ключевым словом в командах настройки будет «interface». Оно переводит систему в режим подкоманд интерфейса, где можно указать настройку no shutdown или shutdown и проверить результат настроек интерфейса с помощью команды show ip interface brief.

Если мы работаем с 2-м уровнем, а в случае свитча это не что иное, как база данных VLAN, то здесь команда для входа в настройки виртуальных сетей не содержит ключевого слово «interface», а начинается со слова «vlan» с соответствующим номером сети, например, vlan 10. После входа в режим подкоманд можно присвоить созданной сети имя командой name VLAN10. Для проверки выполненных настроек используется команда show vlan brief.

Для обеспечения маршрутизации между двумя сетями, как уже говорилось, мы соединяем свитчи этих сетей с роутером, который подключен к внешней сети — интернету.

При такой схеме компьютер №1 может выходить в интернет или общаться с компьютерами другой сети. То есть если у нас имеется два разных свитча, каждый для своей сети, то для связи между ними необходимо устройство 3-го уровня модели OSI.

Как я говорил, обычно в офисе используется один свитч, разделенный пополам с использованием VLAN. На схеме я обозначу две разные VLAN – синюю SALES и красную MARKETING. Для использования этого метода можно использовать два разных интерфейса роутера либо один интерфейс f0/0, на схеме это столбик синего цвета между роутером и свитчем. Эта концепция называется sub-interface – для обслуживания синей сети назначается интерфейс f0/0.10, а для красной – f0/0.20.

Предположим, что вся эта синяя штука подсоединена к одному интерфейсу свитча f0/1, компьютеры синей VLAN подсоединены к интерфейсам f0/2 и f0/3, а компьютеры красной сети – к f0/4 и f0/5. При этом f0/1 должен быть транк-портом, и между свитчем и роутером должен быть создан транк, потому что нам нужно, чтобы весь трафик из VLAN10 и VLAN20 поступал к маршрутизатору. При этом мы можем использовать всего один интерфейс роутера, который подразделяется на два sub-interface, или подинтерфейса.

Сабинтерфейсы виртуально создаются в роутере с добавлением точки в обозначении физического интерфейса. Сабинтерфейсу f0/0.10 мы присваиваем IP-адрес из диапазона адресов VLAN10, а f0/0.20 получает IP-адрес из диапазона адресов сети VLAN20. Замечу, что числа после точки в обозначении сабинтерфейса не обязательно должны совпадать с номером сети VLAN. Я использую совпадающие числа просто для того, чтобы вы лучше поняли данную концепцию. Так что если на экзамене вам попадется вопрос о какой-то неполадке и вы подумаете, что её причиной стало несовпадение номеров VLAN и подинтерфейсов, так как вас учили, что номера сетей должны совпадать, то будете не правы! Еще раз отмечу – номер подинтерфейса и соответствующей ему сети VLAN может не совпадать, это нормально, так что причина неполадок кроется не в этом.
Итак, когда компьютер №1 синей сети отправляет трафик, он попадает на транк-порт свитча, где инкапсулируется по протоколу .1q, то есть получает тег VLAN10 и по транку отсылается роутеру. Точно так же тегируется трафик VLAN20. Но проблема в том, что по умолчанию роутер не понимает языка .1q. Поэтому мы должны войти в настройки роутера и указать сабинтерфейсам, что инкапсуляция использует .1q. Сделав это, мы присваиваем им IP-адреса из соответствующих диапазонов адресов сетей VLAN10 и VLAN20. Как только мы это проделаем, связь между сетями будет установлена.

Перейдем к Packet Tracer, где я сначала удалю созданные ранее SVI, войдя в режим глобальной конфигурации свитча и применив команды no int vlan 10 и no int vlan 20. Если после этого просмотреть список интерфейсов, то можно увидеть, что интерфейсы VLAN10 и VLAN20 исчезли. На 2-м уровне модели OSI эти сети до сих пор остались в базе данных VLAN, так как мы хотим их использовать, но без соответствующих им виртуальных интерфейсов.

Далее я удаляю 2 кабеля, связывающие свитч и роутер, и соединяю свитч и роутер одним кабелем, так как собираюсь использовать всего один порт роутера f0/0.

Теперь я захожу в настройки роутера, выбираю интерфейс f0/0 и ввожу команду no ip address (без IP-адреса). Можно просмотреть список интерфейсов, где видно, что IP-адрес для интерфейса FastEthernet0/0 не назначен, как и для интерфейса Vlan1, а для интерфейса FastEthernet0/1 используется IP-адрес 192.168.20.10.

Для того, чтобы использовать метод «роутер на палочке» нужно, чтобы физический интерфейс был в режиме no shutdown. Как видим, FastEthernet0/0 находится в режиме manual up, так что с этим все в порядке. Это первое, в чем нужно убедиться перед использованием Router-on-s-Stick, второе – в том, что данный интерфейс не имеет IP-адреса.

Далее я набираю int f0/0, чтобы войти в режим подкоманд интерфейса, и ввожу команду f0/0.10 для того, чтобы создать сабинтерфейс .10. Если теперь посмотреть на список интерфейсов, видно, что система создала новый виртуальный интерфейс FastEthernet0/0.10, который находится во включенном состоянии.

Точка в названии указывает, что это виртуальный, а не физический интерфейс. Далее мы возвращаемся в глобальный режим настроек и создаем сабинтерфейс f0/0.20. Теперь перейдем к настройкам нового сабинтерфейса f0/0.10, использовав команду int f0/0.10. Вы видите, что подсказка командной строки приняла вид подкоманд Router (config-subif) #. Теперь я могу присвоить этому интерфейсу IP-адрес командой ip address 192.168.10.10 255.255.255.0. Если я нажму «Ввод», то система выдаст сообщение: «настройка IP-маршрутизации для сабинтерфейса LAN возможна, только если этот интерфейс уже настроен как часть IEEE 802.10, 802.1q или ISL vLAN». Поэтому мне нужно ввести команду использовать инкапсуляцию по протоколу .1q для конкретной сети VLAN, для чего я набираю encapsulation dot1Q 10, где 10 это номер сети VLAN.

Теперь я введу нужный IP-адрес, и система его примет. То же самое я проделываю для интерфейса f0/0.20 – задаю параметры инкапсуляции и присваиваю этому виртуальному интерфейсу IP-адрес 192.168.20.10. Я забыл, что этот IP-адрес уже присвоен интерфейсу f0/1, поэтому захожу в настройки этого интерфейса и набираю no ip address. Только после этого я могу вернуться к интерфейсу f0/0.20, присвоить ему этот адрес, и система его примет.

Сейчас я вернусь к сетевым настройкам PC0 и посмотрю, проходит ли пинг к компьютеру PC1. Однако я вижу, что забыл создать транк свитч-роутер, поэтому давайте сделаем это. Заходим в настройки свитча, набираем int f0/3 и далее вводим команду switchport mode trunk. Итак, мы настроили транк и создали два сабинтерфейса роутера, связанные соответственно с сетями VLAN10 и VLAN20. Я пингую второй компьютер, и как видите, пинг проходит, так что у нас все работает правильно! Мы сделали то, что называется Router-on-a-Stick. У нас есть один транк-интерфейс и два сабинтерфейса роутера, а также механизм инкапсуляции маршрутизируемого трафика. Как видите, это очень и очень просто.

Допустим, что у нас имеется ещё один компьютер, который подсоединен кабелем к свитчу при помощи дефолтной VLAN1. Эта сеть является «родной» для транка. Я присвою этому компьютеру IP-адрес 192.168.30.1, маску подсети 255.255.255.0 и адрес шлюза 192.168.30.10. Что произойдет, если этот компьютер PC2, принадлежащий VLAN1, захочет связаться с компьютером из VLAN10?

Поскольку он находится в native VLAN, то он пошлет нетегированный трафик через транк, и как же ему ответит роутер? Ведь у него есть только 2 сабинтерфейса – один для VLAN10, второй для VLAN20.

Существует 2 способа решить эту проблему. Первый – это зайти в глобальные настройки роутера и ввести команду int f0/0. Затем я могу ввести команду ip address 192.168.30.10 255.255.255.0, то есть присвоить этому физическому интерфейсу IP-адрес. Теперь если к роутеру поступит трафик от компьютера PC2, то он придет без тега VLAN, потому что я назначил адрес для интерфейса f0/0 и теперь он может отвечать на запросы.

Давайте это проверим, запустив пинг в адрес 192.168.10.1 с компьютера PC2. Логически нетегированный трафик должен поступить со свитча к роутеру, и тот отправит его обратно через свитч компьютеру PC0. Вы видите, что пинг не проходит, давайте попробуем узнать, в чем причина. Я захожу в настройки свитча, просматриваю список интерфейсов и нахожу ошибку – интерфейс Fa0/4, к которому сейчас подсоединен компьютер PC2, приписан к сети продаж VLAN 20 SALES.

Для исправления этой ошибки я последовательно набираю команды int f0/4, switchport mode access и switchport access vlan 1. Пингуем компьютер PC0 еще раз, первая попытка не проходит, потому что я поспешил и отправил пинг, не дождавшись, пока новая настройка свитча вступит в силу, зато вторая попытка заканчивается успехом и трафик PC2 поступает адресату.

Итак, в случае использования Native VLAN мы должны присвоить физическому интерфейсу IP-адрес. Если вы не хотите этого делать – сейчас я удаляю IP-адрес интерфейса f0/0 – можно попробовать второй способ. Он состоит в создании еще одного логического интерфейса, или сабинтерфейса f0/0.30. После его создания я ввожу команду на выполнение инкапсуляции по протоколу .1q и добавляю в команду слово «native»: encapsulation dot1Q 1 native. После ввода этой команды роутер будет знать, что к данному интерфейсу подключена native VLAN, поэтому трафик будет поступать нетегированным. После этого я присваиваю этому сабинтерфейсу IP-адрес 192.168.30.10 255.255.255.0 и добавляю команду no shutdown.

Давайте проверим, что у нас получилось. Я набираю в командной строке PC2 команду ping 192.168.10.1, и как видите, все прекрасно работает.

Теперь давайте вернемся с нашей презентации. Существует другой способ осуществления маршрутизации, используемый при масштабном сетевом развитии, который основан на использовании сетевых устройств 3 уровня. На схеме приведен свитч, который является свитчем 3-го уровня модели OSI.

Свитч 3-го уровня не нуждается в использовании роутера для того, чтобы соединить разные VLAN. Конечно, если вы планируете выходить в интернет и другие внешние сети, роутер необходим, но для связи Inter-VLAN вы используете свитч 3-го уровня, который сам осуществляет маршрутизацию пакетов из одной сети в другую. Логически свитч 3-го уровня представляет собой комбинацию физического свитча 2-го уровня и программного роутера 3-го уровня.
На следующей схеме он выделен пунктиром. Для простоты понимания я изобразил 3 отдельных устройства – два физических свитча и программный, виртуальный роутер. Оба свитча сетей VLAN10 и VLAN20 связаны с этим внутренним роутером через SVI. При такой схеме компьютеры, находящиеся в одной и той же VLAN, без проблем связываются друг с другом, а при необходимости выйти на связь с компьютерами в другой сети VLAN они используют внутренний маршрутизатор свитча. Для этого нам нужно настроить SVI и присвоить этим интерфейсам IP-адреса из диапазона адресов соответствующей VLAN.

При использовании физического роутера SVI не нужны, поэтому я удалил их в предыдущем случае. В сети есть много видео, в которых говорится о необходимости создания SVI для организации ROAS, но это не правильно. А для свитчей 3-го уровня вы действительно должны создать SVI.

Вернемся к Packet Tracer. Я удалю существующие кабеля и добавлю в топологию сети управляемый коммутатор Cisco 3-го уровня, после чего настрою его интерфейсы под соответствующие сети VLAN: порт f0/1 под сеть VLAN10, порт f0/2 под сеть VLAN20, при этом система сама создаст соответствующие сети. Еще одна сеть, VLAN1 для PC2, уже существует по умолчанию.

Если просмотреть список интерфейсов, можно увидеть один SVI для сети VLAN1, который находится в состоянии administratively down.

Поскольку это свитч 3-го уровня, мы должны проверить доступность режима маршрутизации. Если мы вводим команду show ip route и при этом ничего не видим, как в данном случае, значит, IP-роутинг пока не доступен.

Поэтому я перехожу к режиму глобальной конфигурации свитча и ввожу команду ip routing, после чего данная функция становится доступной. Если теперь использовать команду show ip rout, можно увидеть, что пока здесь нет никаких параметров, потому что мы не создали SVI для связи с компьютерами VLAN10 и VLAN20.

Поэтому давайте вернемся к Packet Tracer и создадим SVI. Войдя в режим глобальной конфигурации, я набираю команду int vlan 10, затем ввожу ip address 192.168.10.10 255.255.255.0 и no shutdown. Если теперь посмотреть на список интерфейсов, видно, что устройство с этим IP-адресом напрямую подсоединено к свитчу через VLAN10.

Затем я последовательно набираю команды int vlan 20, ip address 192.168.20.10 255.255.255.0 и no shutdown. Давайте проверим, можно ли пропинговать с компьютера PC0 компьютер PC1 по адресу 192.168.20.1. Как видите, пакеты VLAN10 проходят через свитч и поступают в сеть VLAN20, потому что теперь свитч 3-го уровня может осуществлять маршрутизацию межсетевого трафика Inter-VLAN.

Если я хочу обеспечить маршрутизацию трафика из VLAN1, то должен зайти в настройки свитча и ввести команды int vlan 1, nо shutdown и присвоить этому интерфейсу IP-адрес командой ip address 192.168.30.10 255.255.255.0, добавив команду nо shutdown. После этого я смогу пропинговать компьютер PC2.

Если я хочу получить доступ к внешней сети, предположим, что изображенный вверху роутер соединен с интернетом, то соединение между свитчем и роутером должно принадлежать к другой сети VLAN. В данном случае порт свитча f0/4 должен стать частью VLAN40. При этом интерфейсу f0/4 присваивается IP-адрес из диапазона адресов сети VLAN40.

Соединение между свитчем 3-го уровня и роутером не является транком, оно осуществляется через access-порт, и это должна быть другая VLAN.

Таким образом, межсетевое соединение Inter-VLAN можно организовать двумя способами: используя схему ROAS или свитч Cisco 3-го уровня. Помните, что во втором случае нужно настроить SVI, а в первом случае в этом нет необходимости.

Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).

Сети для самых маленьких. Часть 2. Коммутация

После скучного рассказа о подключении к кошкам переходим к настройке сети. В этот раз темы будут для новичков сложные, для старичков избитые. Впрочем сетевым аксакалам едва ли удастся почерпнуть что-то новое из этого цикла. Итак, сегодня:

  1. аккуратно впитываем теорию о коммутаторах, уровнях сетевой модели, понятии инкапсуляции и заголовков (не пугайтесь — еще не время);
  2. собираем спланированную в нулевой части цикла сеть;
  3. настраиваем VLAN'ы, разбираемся с access и trunk-портами и тегированными Ethernet-фреймами;
  4. соотносим текущие знания со стеком протоколов TCP/IP и моделью OSI (да, наконец-то мы ее коснёмся).

Перед тем, как вы обратитесь к практике, настоятельно рекомендуем почитать нулевую часть, где мы всё спланировали и запротоколировали.

Теория

Для начала необходимо определится с определениями и детерминировать терминологию. В начале пути с этим могут быть трудности, несмотря на горы википедии и прорву технических статей.

Рассмотрим самые общие термины, поскольку что такое коммутатор и маршрутизатор вы, во-первых, представляете, во-вторых, по ходу не раз ещё их затронем. Итак, тронулись:

СКС — структурированная кабельная система — это определение вы в любом яндексе найдёте. На деле это все провода, розетки, патчпанели и патчкорды, то есть грубо говоря, это физика вашей сети в узком смысле, в широком — это совокупность сетей: ЛВС, телефонные сети, системы видеонаблюдения и прочее. Это отдельный очень большой и порой сложный пласт знаний и технологий, который вообще не имеет точек пересечения с настройкой, поэтому к нему мы более обращаться не будем. Привели мы этот термин по большей части для того, чтобы читатель чувствовал отличие от следующего.

ЛВС = Локальная Вычислительная Сеть = LAN = Local Area Network. Актуальность слова “Вычислительная” сейчас можно поставить под сомнение, так же, как в слове ЭВМ. Всё-таки, говоря о современных сетях и устройствах, мы давно уже не держим в уме термин «вычисления», несмотря на то, что глубинная суть осталась неизменной. В этом плане буржуйские термин более универсален и даёт более простое представление о своём значении.

Итак, локальная сеть — в первом приближении — это сеть вашей организации. Вот, к примеру, обслуживаем мы сейчас сеть компании «Лифт ми Ап» с двумя офисам, так вот сети этих двух офисов и будут являться локальной сетью.

При втором приближении, локальной называют сеть, которая находится под управлением одного сетевого администратора. То есть, например, вы отвечаете за районный сегмент сети провайдера, в таком случае ваша районная сеть со всеми подсетями будет являться локальной, в то время, как вышестоящая сеть и сети других районов уже нет, так как за них отвечает уже другие люди. Вообще говоря, это уже MAN — Metropolian Area Network — сеть уровня города. Но в какой-то степени к ней можно применить понятие LAN и уж тем более VLAN.

С точки зрения меня, как абонента этого провайдера, моя локальная сеть — это всё, что до моего домашнего роутера. Интуитивно, наверно, все понимают о чём идёт речь.

Именно с локальными сетями мы и будем иметь дело в ближайших выпусках.

И последнее, что хотелось бы отметить в связи с ЛВС — это IP-адресация.

Все вы знаете, что когда вы включаете какой-нибудь домашний Wi-Fi-роутер в сеть, он обычно выдаёт вам IP-адрес, вроде 192.168.1.x. Почему именно 192.168 в начале?

Дело в том, что все IP адреса делятся на приватные (private, он же внутренний, “серый”, локальный), и публичные. Публичные используются в интернет, каждый адрес уникален, их распределение контролирует организация IANA (Internet Assigned Numbers Authority).

Приватные используются для адресации хостов (ну, строго говоря, не хостов, а интерфейсов) внутри ЛВС, их распределение никто не контролирует. Для них выделили три диапазона адресов (по одному из каждого класса):

  • 10.0.0.0 — 10.255.255.255
  • 172.16.0.0 — 172.31.255.255
  • 192.168.0.0 — 192.168.255.255

Важный момент касаемо “классов адресов”, об этом уже как-то писали на хабре: классов адресов уже давно не существует. Позже мы обстоятельно поговорим об адресации, но пока рекомендация такая: забыть про существование классов адресов, чтобы не попасть впросак на собеседовании или в разговоре.

Это те адреса, которые вы можете использовать в своей частной сети. Они вполне могут повторяться (и повторяются) в разных локальных сетях, и за её пределы они не выходят. Приватный адрес на то и приватный, поэтому любой пакет с адресом из диапазонов, указанных выше, попавший к провайдеру, будет отбрасываться.

Если вернуться к нашей старой схеме то вы увидите, что для своей сети мы выбрали приватные адреса из диапазона 172.16.0.0 — 172.31.255.255.

Достаточно подробно об IP-адресах можно почитать тут и тут.

У всех провайдеров и во внутренней сети любой крупной организации используются именно эти серые подсети. Если только вы не государственный ВУЗ, которому в своё время выпала сеть на несколько тысяч публичных адресов: Кемеровский Государственный Университет, к примеру, не озадачивается NAT’ом и прочей чепухой — просто на все компьютеры университетской сети раздаются белые IP.

Широковещательный домен — область сети, в которой происходит обмен широковещательными сообщениями, и устройства могут отправлять друг другу сообщения непосредственно, без участия маршрутизатора.

О чём это мы тут говорим? Ну, например, послал ваш компьютер широковещательный запрос в сеть в поисках DHCP-сервера. Фрейм этот (он же кадр) адресован всем устройствам и имеет MAC-адрес получателя FF:FF:FF:FF:FF:FF. Сначала он попадает на коммутатор, с которого его копии рассылаются на все порты. Потом часть попадает на другие компьютеры, часть уходят в соседние коммутаторы, кто-то доходит до маршрутизатора, а одну копию принимает-таки DHCP-сервер. И вот участок сети, внутри которого могут жить эти кадры и называется широковещательным доменом. А кончают свою жизнь они на конечных хостах (компьютеры, серверы) или на маршрутизаторах, которые их отбрасывают, если они им не предназначены:

Если же на коммутаторе заведены VLAN’ы, то они также разделяют широковещательные домены, потому что пакет между ними обязательно должен проходить через маршрутизатор, который отбросит широковещательные сообщения. Таким образом, один VLAN — это один широковещательный домен.

VLAN — это один широковещательный домен

Ещё раз: у нас есть три способа разграничить широковещательные домены:

  1. поставить маршрутизатор и разнести хосты в разные подсети,
  2. разделить сеть VLAN’ами,
  3. порвать кабель.

Ну и самая жесть, которой часто сторонятся начинающие: OSI. Open System Interconnection. Вообще в двух словах, чтобы мозг не захламить за одно занятие. Эту модель называют эталонной, потому что в реальном мире дело не дошло до реализации. Но она само совершенство, поэтому инженеры и админы вворачивают это слово повсюду.

В основе лежат 7 китов сетевой иерархии: 7 уровней. Сегодня коснёмся двух нижних: первый — физический — это представление информации в виде сигналов, прямо скажем, битов. Задача этого уровня сгенерировать электрический, оптический или радиосигнал, передать его в среду и принять его. К нему относится вся физика: интерфейсы, кабели, антенны, медиаконвертеры (конвертеры среды), репитеры, старые хабы. В общем низкоуровневая это работа. Это первый уровень модели OSI и стека TCP/IP.

Второй — канальный. На этом уровне работают коммутаторы. Идентификатор устройства здесь, это MAC-адрес. У каждого узла (компьютер, маршрутизатор, ноутбук, IP-телефон, любой Wi-Fi-клиент) есть этот уникальный адрес, который однозначно определяет устройство в локальной сети. В теории MAC-адреса не должны повторяться вообще, но на практике такое однако случается и в рамках одного широковещательного домена может приводить к сложноотлавливаемым проблемам.

Наиболее известным протоколом этого уровня является Ethernet. Данные на этом уровне передаются кусками, каждый из которых называется Ethernet-фрейм (он же Ethernet-кадр, он же PDU канального уровня). Что он представляет из себя?

Формат Ethernet-кадра Формат Ethernet-кадра

Payload — это полезная нагрузка — данные сетевого уровня, которые вкладываются (инкапсулируются) в кадр. MAC Header (Заголовок) — это служебная информация канального (второго) уровня. Самые важные пока для нас элементы — это source MAC-address (адрес отправителя кадра) и Destination MAC-address (адрес получателя кадра).

Третий уровень — сетевой (IP).

Четвёртый — транспортный (TCP, UDP, ICMP).

С пятого по седьмой — сеансовый, представления и прикладной (в стеке TCP/IP они не различаются и называются просто прикладным. На нём работают протоколы вроде HTTP, FTP, telnet и многие другие).

В английской википедии утверждается, что ICMP относится к 3-му уровню, что является спорным моментом.

Сегодня мы акцентируемся на 1-м и 2-м уровнях, особенно на втором. Третьего и четвертого коснёмся в следующих выпусках.

Теперь проследим нелёгкий путь кадра. Состояние покоя сети — утопия.

Сеть

Вы пытаетесь пропинговать, например, адрес соседнего компьютера командой ping 192.168.1.118 . Данные этого приложения показаны фиолетовым параллелепипедом.

Программа ping

За это отвечает протокол ICMP. В него инкапсулируется информация от приложения — это означает, что к данным 5-го уровня добавляется заголовок со служебной информацией 4-го уровня.

Протокол ICMP

Его данные упаковываются (инкапсулируются) в IP-пакеты, где в заголовке указан IP-адрес получателя (192.168.1.118) и IP-адрес отправителя — логические адреса.

IP пакет

А затем всё это инкапсулируется в Ethernet-кадры с MAC-адресами отправителя и получателя — физическими адресами.

Кадр Ethernet

При формировании кадров в заголовке в качестве MAC-адреса источника (source) подставляется адрес вашего компьютера, а адресом получателя (destinantion) будет MAC-адрес компьютера — владельца IP-адреса 192.168.1.118 (о механизмах такого преобразования поговорим в следующий раз). То есть если бы вы смогли сфотографировать кадр, то вы бы увидели все эти данные в разрезе, так сказать.

На самом деле, нет ничего проще: запускаете какой-нибудь анализатор трафика, например, замечательный Wireshark и Ethereal, на своём компьютере и пингуете другой хост. Вот такую картину вы сможете лицезреть:

Структура Ethernet кадра

Вы это можете сделать прямо сейчас, читая эти строки, просто установив и запустив анализатор трафика.

В последнюю очередь сетевая карта вашего компьютера дробит фрейм на биты и отправляет их в кабель.

Передача битов Прием битов коммутатором

Коммутатор из поступивших битов собирает первоначальный кадр.

Восстановление кадра в коммутаторе

Далее начинается интеллектуальный труд: из заголовка извлекается адрес получателя, перетрясается таблица MAC-адресов на предмет совпадения и, как только оное найдено, кадр без изменений отправляется в указанный порт. Если же адреса пока ещё нет или кадр пришёл широковещательный, то он направляется на все порты, кроме того, откуда пришёл.

Если адреса отправителя в таблице до сих пор не было, то в этот момент коммутатор добавит его. Естественно, кадр опять передаётся в виде битов — это закон электроники, и вы должны просто всегда иметь это в виду.

Передача битов коммутатором Прием битов конечным хостом

Конечный хост, получив поток битов, собирает из них кадр, ещё только предполагая, что он предназначается ему.

конечный хост восстанавливает кадр

Далее он сравнивает MAC-адрес получателя со своим и, если они совпадают, то заголовок второго уровня отбрасывается, а IP-данные передаются на обработку вышестоящему протоколу. Если адреса не совпадают, то кадр отбрасывается вместе со всем содержимым.

конечный хост восстанавливает ip пакет

Далее сравниваются IP-адрес получателя и этого устройства. Если совпадают, то заголовок сетевого уровня отбрасывается, и данные передаются транспортному уровню (ICMP).

передача данных транспортному уровню передача данных прикладному уровню расшифровка обозначений

Конечный хост обработал ICMP-запрос (echo-request) и готов послать ICMP-ответ (echo-reply) вашему компьютеру с адресом 192.168.1.131 и далее пункты 1-3 повторяются уже для нового кадра.

То, о чём мы писали до сих пор — это принцип работы любого коммутатора. Так делают даже простые длинки за 300 рублей.

Ну а теперь, давайте, коллеги, финальный рывок: добавим сюда ещё VLAN’ы.

С ними работают уже только управляемые коммутаторы.

Напомним, что вланы нужны для разделения сетей. Соответственно появляется некий идентификатор, которым маркируется трафик разных подсетей на коммутаторе.

Говоря о VLAN’ах, часто используют заклинание 802.1q. Это и есть стандарт, описывающий как именно кадр маркируется/тегируется. Пугаться такого шифра не стоит. Так же, например, Wi-Fi описывается стандартом 802.11n, а протокол аутентификации — 802.1x. Нам с этим предстоит столкнуться в будущем, поэтому отложите это в своей энергонезависимой памяти.

Что же именно происходит на кухне коммутации?

Внутрь фрейма после Source MAC-адреса добавляется ещё одно поле, очень грубо говоря, содержащее номер VLAN’а. Длина, выделенная для номера влана равна 12 битам, это означает, что максимальное число вланов 4096. Мы хотим обратить внимание молодых инженеров на такие подробности. Дело в том, что мы в своём цикле в силу объективных причин, не можем обо всём рассказать, но такие вопросы, во-первых, часто задают на собеседованиях, во-вторых, это просто надо знать.

Формат тегированного ethernet кадра Формат тегированного ethernet кадра

Кадры первого влана обычно не тегируются — он является родным вланом (native vlan).

Каждый коммутатор принимает теперь решение на основе этой метки-тега (или его отсутствия).

В таблицу МАС-адресов добавляется ещё столбец с номером VLAN’а и при поиске пары MAC-адрес/порт теперь будет сравниваться тег кадра с номером VLAN’а в таблице.

Существует два типа портов:

  1. Access port — порт доступа — к нему подключаются, как правило, конечные узлы. Трафик между этим портом и устройством нетегированный. За каждым access-портом закреплён определённый VLAN, иногда этот параметр называют PVID. Весь трафик, приходящий на этот порт от конечного устройства, получает метку этого влана, а исходящий уходит без метки.
  2. Trunk port. У этого порта два основных применения — линия между двумя коммутаторами или от коммутатора к маршрутизатору. Внутри такой линии, называемой в народе, что логично, транком, передаётся трафик нескольких вланов. Разумеется, тут трафик уже идёт с тегами, чтобы принимающая сторона могла отличить кадр, который идёт в бухгалтерию, от кадра, предназначенного для ИТ-отдела. За транковым портом закрепляется целый диапазон вланов.

Кроме того, существует вышеупомянутый native vlan. Трафик этого влана не тегируется даже в транке, по умолчанию это 1-й влан и по умолчанию он разрешён. Вы можете переопределить эти параметры.

Нужен он для совместимости с устройствами, незнакомыми с инкапсуляцией 802.1q. Например, вам нужно через Wi-Fi мост передать 3 влана, и один из них является вланом управления. Если Wi-Fi-модули не понимают стандарт 802.1q, то управлять ими вы сможете, только если этот влан настроите, как native vlan с обеих сторон.

Что происходит в сети с вланами?

  1. Итак, от вашего компьютера с IP-адресом, например, 192.168.1.131 отправляется пакет другому компьютеру в вашей же сети. Этот пакет инкапсулируется в кадр, и пока никто ничего не знает о вланах, поэтому кадр уходит, как есть, на ближайший коммутатор.
  2. На коммутаторе этот порт отмечен, как член, например, 2-го VLAN’а командой Это означает, что любой кадр, пришедший на этот интерфейс, автоматический тегируется: на него вешается ленточка с номером VLAN’а. В данном случае с номером 2.
    Далее коммутатор ищет в своей таблице MAC-адресов среди портов, принадлежащих 2-му влану, порт, к которому подключено устройство с MAC-адресом получателя.
  3. Если получатель подключен к такому же access-порту, то ленточка с кадра отвязывается, и кадр отправляется в этот самый порт таким, каким он был изначально. То есть получателю также нет необходимости знать о существовании вланов.
  4. Если же искомый порт, является транковым, то ленточка на нём остаётся.

Попробуем провести аналогию с реальными миром. Вы с другом, например, пакеты-туристы и летите отдыхать дикарями самолётом авиалиний Ethernet Airlines. Но по дороге вы поссорились, и потому, когда в аэропорту назначения, вас спрашивают в какую гостиницу вас везти, вы отвечаете “Рога”, а ваш товарищ говорит “Копыта”. И сразу после этого вас инкапсулируют в разные кадры-машины: вас в такси с тегом “Таксопарк “На рогах”, а вашего товарища с его грузом в КамАЗ с тегом “Транспортная компания “В копыто”. Теперь вам нельзя на автобусные полосы, а вашему другу под знаки, запрещающие проезд грузовиков.

Так вот две гостиницы — это МАС-адреса назначения, а ограничения по маршруту — порты других вланов.

Петляя, по улочкам, вам, как IP-пакету не о чем беспокоиться — кадр-автомобиль доставит вас до места назначения, и, грубо говоря, в зависимости от тега на каждом перекрёстке будет приниматься решение, как ехать дальше.

Q: Что произойдёт, если тегированный кадр прилетит на access-порт?
A: Он будет отброшен.

Q: Что произойдёт, если нетегированный кадр прилетит на trunk-порт?
A: Он будет помещён в Native VLAN. По умолчанию им является 1-й VLAN. Но вы можете поменять его командой switchport trunk native vlan 2 . В этом случае все кадры, помеченные 2-м вланом будут уходить в этот порт нетегироваными, а нетегированные кадры, приходящий на этот интерфейс, помечаться 2-м вланом. Кадры с тегами других вланов останутся неизменными, проходя, через такой порт.

Q: Можно ли конечным узлам (компьютерам, ноутбукам, планшетам, телефонам) отправлять тегированные кадры и соответственно подключать их к транковым портам?
A: Да, можно. Если сетевая карта и программное обеспечение поддерживает стандарт 802.1q, то узел может работать с тегированными кадрами.

Q: Что будет с тегированными кадрами, если они попадут на обычный неуправляемый коммутатор или другое устройство, не понимающее стандарт 802.1q?
A: Скорее всего, свич его отбросит из-за увеличенного размера кадра. Зависит от разных факторов: производитель, софт (прошивка), тип форвардинга (cut-through, store-and-forward).

Практика. Настройка сети “Лифт ми Ап”

Ну и наконец-то обратимся к настройке. Вива ля практис!

Будет у нас такая сеть:

Схема сети Схема сети

Вспомним, как мы её планировали:

Советуем на дополнительной вкладке отрыть их, потому что мы будем обращаться туда периодически.

Мы могли бы сейчас броситься сразу настраивать всё по порядку: полностью одно устройство, потом другое. Но так не будет, пожалуй, понимания значения процессов.

Порты доступа (access)

Поэтому начнём с простого: настроим два порта на msk-arbat-asw3 как access для влана 101 (ПТО):

Все настройки делаем сразу в соответствии с планом.

Заметили, что коммутатор ругается на отсутствие влана? Тут надо быть аккуратным. Некоторые версии ПО работают несколько нелогично.

Даже если вы его не создадите, то настройки применятся и при отладке на первый взгляд всё будет нормально, но связи не будет. Причём коварство заключается в том, что фраза Creating vlan 101 вовсе не означает, что этот самый влан будет создан. Поэтому отправляемся в режим глобальной конфигурации и создаём его (а заодно и все другие вланы, нужные на этом коммутаторе):

Теперь подключите компьютеры к портам FE0/1 и FE0/2, настройте на них адреса 172.16.3.2 и 172.16.3.3 с маской подсети 255.255.255.0 и шлюзом 172.16.3.1 и проверьте связь:

Проверка связи между пользователями ПТО

После того, как это получилось, настроим порт FE0/16, как access, для 104-го влана (сеть других пользователей):

Подключите к нему компьютер и настройте адрес из той же подсети, что ПТО, например, 172.16.3.5 с маской 255.255.255.0.

Если вы попытаетесь теперь пропинговать этот адрес, то у вас не должно этого получиться — компьютеры находятся в разных вланах и изолированы друг от друга:

Проверка связи с другой VLAN

То есть ещё раз, что происходит? От вашего компьютера приходит на 1-й порт широковещательный запрос: “Кто такой 172.16.3.5”, потому что сам компьютер пока не знает MAC-адреса получателя. Кадр, который несёт в себе этот запрос помечается, как принадлежащий 101-му VLAN’у в соответствии с портом, на который он поступил. И далее, чтобы узнать где-же находится компьютер 172.16.3.5, кадр рассылается на все порты-члены 101-го VLAN’а. А в их числе нет порта FE0/16, поэтому, естественно, этот адрес считается недостижимым, что приводит к ответу “Request timed out”.

Внимание! Если в этом VLAN’е все-таки окажется устройство с таким IP, то это не будет тем же самым ноутбуком Other и при этом они не буду конфликтовать друг с другом, поскольку логически находятся в разных широковещательных доменах.

Транковые порты (trunk)

Итак, врата для вас открылись, теперь вам предстоит создать коридор — транк между тремя коммутаторами: msk-arbat-asw3, msk-arbat-dsw1 и msk-rubl-asw1.

Uplink портом на msk-arbat-asw3 является GE1/1. Ну а поскольку нам всё равно все вланы нужно будет пробросить, то сделаем это сейчас, то есть помимо 101 и 104 пропишем 2, 102 и 103:

На самом деле на интерфейсе достаточно команды #switchport mode trunk , чтобы у вас через этот порт уже пошли тегированные кадры всех вланов, потому что по умолчанию транковый порт пропускает всё. Но мы же инженеры, а не эникейщики. Где это видано, чтобы безлимит творился за нашей спиной? Поэтому через нас проходит только то, что мы разрешаем. Как только вы дали команду switchport trunk allowed vlan 101 , через порт не пройдёт кадр никаких вланов, кроме 101 (VLAN 1 ходит по умолчанию и нетегированным).

Внимание! Если вы хотите в транковый порт добавить ещё один влан, то вам необходимо использовать следующий синтаксис команды:

В противном случае (написав switchport trunk allowed vlan 105 ) вы сотрёте все старые разрешения и добавите новый 105-й влан. И хорошо ещё, если при этом вы не потеряете доступ на этот коммутататор. Но за простой связи всё равно вы получите по пятое число).

Переходим к msk-arbat-dsw1. На нём необходимо создать все вланы и настроить два порта:

  • GE1/2 в сторону msk-arbat-asw3;
  • FE0/1 в сторону msk-rubl-asw1.

Ну и настроим, конечно, порты на msk-rubl-asw1:

Снова нужно настроить вланы. И заметьте, при настройке транковых портов никаких сообщений нет.

Если вы всё настроили правильно (в чём не приходится сомневаться), то с первого порта msk-rubl-asw1 вы увидите компьютеры ПТО, подключённые к msk-arbat-asw3.

Проверка связи в vlan ПТО между офисами

Для уверенности проверим ещё и 104-й влан. Через транк мы его сюда уже доставили.

Подключаем компьютер к 16-му порт и настраиваем на нём IP-адрес 172.16.6.3 с маской 255.255.255.0 и шлюзом 172.16.6.1. А IP-адрес ноутбука на арбате поменяйте на 172.16.6.2 с теми же маской и шлюзом.

Проверка связи между офисами

Сеть управления

Настроим IP-адрес для управления.

В наших лабах они не понадобятся, потому что мы настраиваем устройство через окно РТ. А вот в реальной жизни это вам жизненно необходимо.

Для этого мы создаём виртуальный интерфейс и указываем номер интересующего нас влана. А далее работаем с ним, как с самым обычным физическим интерфейсом.

msk-arbat-dsw1:

msk-arbat-asw3:

С msk-arbat-asw3 запускаем пинг до msk-arbat-dsw1:

Первые пару пакетов могут потеряться на работу протокола ARP: определение соответствия IP-адрес — MAC-адрес. При этом MAC-адрес, порт и номер влана добавляются в таблицу коммутатора.

Самостоятельно настройте IP-адреса сети управления на остальных коммутаторах и проверьте их доступность.

Собственно вот и вся магия. Зачастую к подобного рода действиям и сводится вся настройка, если вы не работаете в провайдере. С другой стороны, если вы работаете в провайдере, то, наверняка, такие вещи вам объяснять не нужно.

Если желаете знать больше об этом, читайте: VTP, QinQ, зарезервированные номера VLAN

Ещё один небольшой инструмент, который может немного увеличить удобство работы: banner. Это объявление, которое циска покажет перед авторизацией на устройство.

После motd вы указываете символ, который будет служить сигналом о том, что строка закончена. В это примере мы поставили “q”.

Баннер

Относительно содержания баннера. Существует такая легенда: хакер вломился в сеть, что-то там поломал\украл, его поймали, а на суде оправдали и отпустили. Почему? А потому, что на пограничном роутере(между интернет и внутренней сетью), в banner было написано слово “Welcome”. “Ну раз просят, я и зашел”)). Поэтому считается хорошей практикой в баннере писать что-то вроде “Доступ запрещен!”.

Для упорядочивания знаний по пунктам разберём, что вам необходимо сделать:

  1. Настроить hostname. Это поможет вам в будущем на реальной сети быстро сориентироваться, где вы находитесь.
  2. Создать все вланы и дать им название
  3. Настроить все access-порты и задать им имя Удобно иногда бывает настраивать интерфейсы пачками:
  4. Настроить все транковые порты и задать им имя:
  5. Не забывайте сохраняться:

Итого: чего мы добились? Все устройства в одной подсети видят друг друга, но не видят устройства из другой. В следующем выпуске разбираемся с этим вопросом, а также обратимся к статической маршрутизации и L3-коммутаторам.

В общем-то на этом данный урок можно закончить. В видео вы сможете ещё раз увидеть, как настраиваются вланы. В качестве домашнего задания настройте вланы на коммутаторах для серверов.

Здесь вы можете скачать конфигурацию всех устройств:

P.S.

Важное дополнение: в предыдущей части, говоря о native vlan мы вас немного дезинформировали. На оборудовании cisco такая схема работы невозможна.

Напомним, что нами предлагалось передавать на коммутатор msk-rubl-asw1 нетегированными кадры 101-го влана и принимать их там в первый.

Дело в том, что, как мы уже упомянули выше, с точки зрения cisco с обеих сторон на коммутаторах должен быть настроен одинаковый номер влана, иначе начинаются проблемы с протоколом STP и в логах можно увидеть предупреждения о неверной настройке. Поэтому 101-й влан мы передаём на устройство обычным образом, кадры будут тегированными и соответственно, 101-й влан тоже необходимо создавать на msk-rubl-asw1.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *