Описание VLAN

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

 

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

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

Поэтому гораздо проще создать общую физическую сеть с последующим логическим сегментированием определенных частей сети.

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

Сегментированные сети и называются виртуальными локальными сетями (VLAN- Virtual LAN)

VLAN- Virtual LAN

Как можно разделить одну физическую сеть на несколько виртуальных?

Это достигается с помощью коммутаторов. Коммутаторы поддерживают технологии IEEE 802.1Q и ISL. ISL — собственный протокол Cisco. Современные коммутаторы его  уже не поддерживают, поэтому не будет далее рассматриваться.

Суть технологии заключается в том, что в Ethernet кадр вставляется специальная 4-х байтовая метка. Метка содержит 12-битный идентификатор VLAN, максимальное значение которого 4096. То есть всего может быть 4096 VLAN

VLAN

 

Настройка VLAN

Для начала настроим сеть с одним коммутатором:

Настройка VLAN

По умолчанию все порты коммутатора принадлежат VLAN 1, поэтому все компьютеры будут “видеть” друг друга. В этом легко убедиться, запустив утилиту Ping на всех хостах.

 

Создадим VLAN 23

switch(config)#  vlan 23

switch(config-vlan)# name Management

 

Затем аналогично создадим и остальные VLAN.

Теперь назначим порты 0/1, 0/2, 0/3, 0/4, 0/5 в VLAN 23:

switch(config)# interface fastethernet 0/1

switch(config-if)# switchport mode access

switch(config-if)# switchport access vlan 23

 

Обрати внимание, что после ввода команды interface fastethernet 0/1 приглашение командной строки изменилось на switch(config-if)#. Это говорит о том, мы находимся в режиме настройки интерфейса.

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

 switch(config) interface range fastethernet 0/1-5

 

Все остальные порты назначим по той же схеме.

Теперь попробуй выполнить команду Ping на каждом компьютере. Компьютеры из другой VLAN уже не доступны.

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

 

Как сохранить настройки?

Все настройки записываются в энергонезависимую память NVRAM. Для этого выполни

switch# copy running-config startup-config

 

При включении питания конфигурация из NVRAM записывается в оперативную память.Чтобы проверить произведенные настройки в оперативной памяти выполним команду

switch# show running-config

 

сохранить настройки VLAN

Для просмотра настроек, сохраненных в NVRAM выполни

switch# show startup-config

 

Просмотр сведений о VLAN

Для просмотра информации о VLAN выполни команду

switch# show vlan

 

Просмотр сведений о VLAN

Кстати, конфигурация VLAN сохраняется в отдельном файле, не в NVRAM. Файл с конфигурацией о VLAN хранится во Flash памяти коммутатора. Поэтому командой show running-config мы не увидим никакую информацию о VLAN.

Чтобы уивдеть файл, содержащий данные о VLAN выполни команду

switch# dir flash:

 

и ты увидишь файл vlan.dat

vlan.dat

 

Типы портов

Теперь подключим к нашему коммутатору еще один коммутатор и выполним те же настройки

Типы портов

Однако компьютеры разных коммутаторов одного VLAN почему-то недоступны друг другу, хотя в рамках одного коммутатора все “видят” друг друга.

 

Все верно. Дело в том, что в технологии VLAN существуют 2 таких понятия, как порт доступа (access port)  и магистральный порт (trunk port), а также связанные с ними нетегированный (untagged) и тегированный   (tagged)  кадры соответственно.

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

 

Вспомни команду swith(config-if)# switchport mode access. Мы явно указываем коммутатору, что порт будет работать в режиме доступа.

Однако, если мы соединяем друг с другом коммутаторы, на которых настроен VLAN, то порты, их соединяющие, настраиваются как магистральные.

Во все исходящие кадры коммутатор вставляет соответствующую метку-идентификатор VLAN. Такие кадры называются тегированные.

 

Режимы работы trunk

Для автоматической настройки магистрального порта коммутаторы Cisco поддерживают специальный протокол DTP (Dynamic Trunk Protocol), который периодически посылает кадры соседним портам. Все коммутаторы поддерживают 4 режима работы магистрального порта

 

Auto — DTP-кадры не рассылает. Приняв DTP-кадр сразу переходит в магистральный режим.

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

Trunk — статический магистральный режим. DTP-кадры не рассылает.

Nonegotiate — готов перейти в магистральный режим только, если на другом конце установлен магистральный режим. DTP-кадры не рассылает.

 

В таблице указано в какое состояние перейдут порты автоматически в зависимости от установленных на них режимах:

Режимы противоположных портов Auto Desirable Nonegotiate Trunk
Auto Access Trunk Access Trunk
Desirable Trunk Trunk Access Trunk
Nonegotiate Access Access Access Trunk
Trunk Trunk Trunk Trunk Trunk

 

Настройка портов trunk

Статический trunk:

switch(config-if)# switchport mode trunk

 

В старых моделях коммутаторов  может потребоваться настроить инкапсуляцию

switch(config-if)# switchport encapsulation dot1q

 

Затем снова включить статический режим trunk

switch(config-if)# switchport mode trunk

 

Динамический trunk:

Режим auto

switch(config-if)# switchport mode dynamic auto

 

Режим desirable

switch(config-if)# switchport mode dynamic desirable

 

Режим nonegotiate

switch(config-if)# switchport mode nonegotiate

 

Для проверки текущего режима выполни

switch# show dtp status

 

Теперь можно настроить порты  коммутаторов в магистральный режим.

Как только магистральные порты будут настроены необходимо разрешить/запретить передачу определенных VLAN через данный порт. По умолчанию разрешены все VLAN. Чтобы разрешить, например, VLAN 23 и 50

switch(config-if)# switchport trunk allowed vlan 23, 50

 

Чтобы добавить VLAN 100 выполни

switch(config-if)# switchport trunk allowed vlan add 100

 

Для удаления VLAN 23 выполни

switch(config-if)# switchport trunk allowed vlan remove 23

 

Добавь все VLAN к магистральному порту и затем проверь доступны ли все компьютеры с одного и того же VLAN.

 

А если нам понадобится управлять коммутаторами мы должны выделить определенный VLAN?

Да, для этой цели в стандарте 802.1Q предусматривается так называемый нативный VLAN или Native VLAN. Все кадры в Native VLAN нетегированные. По умолчанию VLAN 1 является нативный и используется в качестве выделенного канала управления.

Но можно его поменять, к примеру, на VLAN 6.

Для этого на магистральном порту выполни команду

swith(config-if)# switchport trunk native vlan 6

 

Просмотр сведений о trunk

Для просмотра информации о настройках и режимах интерфейсов будут полезны следующие команды:

switch# show interface trunk

 

Просмотр сведений о trunk

 

switch# show interface switchport

 

Просмотр сведений о trunk

 

Настройка маршрутизации

Как сделать так, чтобы компьютеры, принадлежащие разным VLAN, могли обмениваться друг с другом информацией?

Для этого нам понадобится маршрутизатор или коммутатор L3 с функцией маршрутизации. Маршрутизатор можно подключить к любому коммутатору.

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

Настройка маршрутизации

 

Для этого придется задействовать по одному порту в маршрутизаторе на каждый VLAN. Это довольно затратно, поэтому воспользуемся одним физическим интерфейсом, который разобьем на логические подинтерфейсы (subinterface).

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

Router(config)# interface fastethernet 0/1

Router(config-if)# no shutdown

 

Теперь настроим подынтерфейс 23 для VLAN 23:

Router(config)# interface fastethernet 0/1.23

Router(config-subif)# encapsulation dot1q 4

Router(config-subif)# ip address 10.23.1.254 255.255.255.0

 

То же самое проделай и с остальными подынтерфейсами.

После того, как все будет настроено, проверь доступность всех компьютеров.