VLAN
Материал из Xgu.ru
- Автор: Наташа Самойленко
- Автор: Игорь Чубин
VLAN (Virtual Local Area Network) — группа устройств, имеющих возможность взаимодействовать между собой напрямую на канальном уровне, хотя физически при этом они могут быть подключены к разным сетевым коммутаторам. И наоборот, устройства, находящиеся в разных VLAN'ах, невидимы друг для друга на канальном уровне, даже если они подключены к одному коммутатору, и связь между этими устройствами возможна только на сетевом и более высоких уровнях.
В современных сетях VLAN — главный механизм для создания логической топологии сети, не зависящей от её физической топологии. VLAN'ы используются для сокращения широковещательного трафика в сети. Имеют большое значение с точки зрения безопасности, в частности как средство борьбы с ARP-spoofing'ом.
[править] Зачем нужен VLAN?
- Гибкое разделение устройств на группы
- Как правило, одному VLAN соответствует одна подсеть. Устройства, находящиеся в разных VLAN, будут находиться в разных подсетях. Но в то же время VLAN не привязан к местоположению устройств и поэтому устройства, находящиеся на расстоянии друг от друга, все равно могут быть в одном VLAN независимо от местоположения
- Уменьшение количества широковещательного трафика в сети
- Каждый VLAN — это отдельный широковещательный домен. Например, коммутатор — это устройство 2 уровня модели OSI. Все порты на коммутаторе с лишь одним VLAN находятся в одном широковещательном домене. Создание дополнительных VLAN на коммутаторе означает разбиение коммутатора на несколько широковещательных доменов. Если один и тот же VLAN настроен на разных коммутаторах, то порты разных коммутаторов будут образовывать один широковещательный домен.
- Увеличение безопасности и управляемости сети
- Когда сеть разбита на VLAN, упрощается задача применения политик и правил безопасности. С VLAN политики можно применять к целым подсетям, а не к отдельному устройству. Кроме того, переход из одного VLAN в другой предполагает прохождение через устройство 3 уровня, на котором, как правило, применяются политики, разрешающие или запрещающие доступ из VLAN в VLAN.
[править] Тегирование трафика VLAN
Компьютер при отправке трафика в сеть даже не догадывается,в каком VLAN'е он размещён. Об этом думает коммутатор. Коммутатор знает, что компьютер, который подключен к определённому порту,находится в соответствующем VLAN'e. Трафик, приходящий на порт определённого VLAN'а, ничем особенным не отличается от трафика другого VLAN'а. Другими словами, никакой информации о принадлежности трафика определённому VLAN'у в нём нет.
Однако, если через порт может прийти трафик разных VLAN'ов, коммутатор должен его как-то различать. Для этого каждый кадр (frame) трафика должен быть помечен каким-то особым образом. Пометка должна говорить о том, какому VLAN'у трафик принадлежит.
Наиболее распространённый сейчас способ ставить такую пометку описан в открытом стандарте IEEE 802.1Q. Существуют проприетарные протоколы, решающие похожие задачи, например, протокол ISL от Cisco Systems, но их популярность значительно ниже (и снижается).
[править] Коммутатор и VLAN'ы
VLAN'ы могут быть настроены на коммутаторах, маршрутизаторах, других сетевых устройствах и на хостах. Однако, для объяснения VLAN лучше всего подойдет коммутатор.
Коммутатор — устройство 2го уровня и изначально все порты коммутатора находятся, как правило, в VLAN 1 и, следовательно, в одном широковещательном сегменте.
Это значит, что если одно из устройств, которое подключено к порту коммутатора, отправит широковещательный фрейм, то коммутатор перенаправит этот фрейм на все остальные порты, к которым подключены устройства, и они получат этот фрейм.
[править] Принципы работы коммутатора
В этом разделе рассматривается коммутатор с настройками по умолчанию, то есть все его порты находятся в VLAN 1.
Для того чтобы передавать фреймы, коммутатор использует таблицу коммутации. Изначально, после включения коммутатора таблица пуста. Заполняет её коммутатор автоматически, при получении фреймов от хостов.Когда коммутатор получает фрейм от хоста, он сначала передает его в соответствии со своими правилами (описаны ниже), а затем запоминает MAC-адрес отправителя во фрейме и ставит его в соответствие порту на котором он был получен.
Например, для изображенной схемы, итоговая таблица коммутации будет иметь такой вид (после того как все хосты передавали какой-то трафик):
Порт коммутатора | MAC-адрес хоста |
---|---|
1 | A |
2 | B |
3 | C |
4 | D |
Когда таблица заполнена, коммутатор знает на каких портах у него находятся какие хосты и передает фреймы на соответствующие порты.
Unicast фрейм с MAC-адресом получателя для которого у коммутатора нет записи в таблице коммутации, называется unknown unicast.
[править] Механизмы передачи фреймов
Для того, чтобы передавать фреймы, коммутатор использует три базовых механизма:
- Flooding — фрейм, полученный на один из портов, передается на остальные порты коммутатора. Коммутатор выполняет эту операцию в двух случаях:
- при получении широковещательного или multicast (если не настроена поддержка multicast) фрейма,
- при получении unknown unicast фрейма. Это позволяет коммутатору доставить фрейм хосту (при условии, что хост достижим и существует), даже когда он не знает, где хост находится.
- Forwarding — передача фрейма, полученного на одном порту, через другой порт в соответствии с записью в таблице коммутации.
- Filtering— если коммутатор получает фрейм через определенный порт, и MAC-адрес получателя доступен через этот же порт (это указано в таблице коммутации), то коммутатор отбрасывает фрейм. То есть, коммутатор считает, что в этом случае хост уже получил этот фрейм, и не дублирует его.
[править] Пример сети для демонстрации использования механизмов передачи фреймов
На рисунке изображен коммутатор sw1 и повторитель (hub) к которому подключены два хоста.
Изначально к коммутатору были подключены три хоста A, B и C.
Соответственно у коммутатора такая таблица коммутации:
Порт коммутатора | MAC-адрес хоста |
---|---|
1 | A |
2 | B |
3 | C |
Когда хост A отправляет фрейм хосту B, коммутатор использует механизм forwarding, так как ему известно где находятся оба хоста и хосты находятся на разных портах коммутатора.
Далее к коммутатору подключили хост D. Если хост A отправляет фрейм хосту D, то для коммутатора это unknown unicast фрейм, так как в таблице коммутации нет записи о MAC-адресе D. В соответствии со своими правилами коммутатор выполняет flooding и передает фрейм на все порты, кроме 1 (с которого фрейм был получен).
После того как коммутатор получит фрейм от хоста D, он запомнит его адрес и создаст соответствующую запись в таблице коммутации.
К коммутатору подключили повторитель с двумя хостами и коммутатор выучил их адреса.
Соответствующая таблица коммутации:
Порт коммутатора | MAC-адрес хоста |
---|---|
1 | A |
2 | B |
3 | C |
4 | D |
5 | E |
5 | F |
Если после этого хост E будет передавать фрейм хосту F, то коммутатор получит его, но не будет передавать далее. В этой ситуации коммутатор использует механизм filtering, так как MAC-адрес получателя доступен через тот же порт, что и отправитель.
[править] Хосты в одном VLAN на одном коммутаторе
К коммутатору подключены 4 хоста. Для упрощения будем считать, что A, B, C и D это соответствующие MAC-адреса хостов.
Соответствующая таблица коммутации:
Порт коммутатора | MAC-адрес хоста |
---|---|
1 | A |
2 | B |
3 | C |
4 | D |
[править] Хосты в разных VLAN на одном коммутаторе
Обычно, по умолчанию все порты коммутатора считаются нетегированными членами VLAN 1. В процессе настройки или работы коммутатора они могут перемещаться в другие VLAN'ы.
На коммутаторе, который изображен на рисунке, настроены два VLAN'а, все порты в соответствующих VLAN настроены как нетегированные, т. е. не используют теги IEEE 802.1Q при передаче фреймов (access-порты в терминологии Cisco).
После этого на коммутаторе существуют две таблицы коммутации.
Для VLAN 2:
Порт коммутатора | MAC-адрес хоста |
---|---|
1 | A |
2 | B |
Для VLAN 10:
Порт коммутатора | MAC-адрес хоста |
---|---|
3 | C |
4 | D |
Все базовые механизмы коммутатора остаются точно такими же как и до разделения на VLAN, но они используются только в пределах соответствующего VLAN.
Например, если хост из VLAN 10 отправляет широковещательный фрейм, то он будет отправлен только на порты в этом VLAN.
Получается, что нетегированные порты это "обычные" порты коммутатора. Это просто возможность сообщить коммутатору о том, какому VLAN принадлежат порты. Затем коммутатор использует эту информацию при передаче фреймов.
Как правило, реально в таблице коммутации в коммутаторах указывается порт, MAC-адрес и VLAN. То есть, для указанного примера таблица коммутации будет такая:
Порт коммутатора | VLAN | MAC-адрес хоста |
---|---|---|
1 | 2 | A |
2 | 2 | B |
3 | 10 | C |
4 | 10 | D |
Однако, далее для упрощения используется запись таблицы коммутации в виде соответствия между портами и MAC-адресами.
[править] Хосты в разных VLAN на разных коммутаторах (объяснение тегированных портов)
К используемому примеру добавляется ещё один коммутатор.
|
В ходе объяснения используются промежуточные схемы подключения устройств и настройки коммутаторов, которые обычно не используются в реальной сети. Но они необходимы для объяснения. |
[править] Добавлен второй коммутатор и хосты в VLAN 2
Для начала добавлен коммутатор sw2 и два хоста E и F в VLAN 2. Если рассматривать два коммутатора отдельно, то получается, что на коммутаторе sw1 осталась прежняя таблица коммутации, а на коммутаторе sw2 таблица такая (пока что коммутаторы не соединены):
Порт коммутатора | MAC-адрес хоста |
---|---|
7 | E |
8 | F |
Теперь необходимо чтобы хосты A, B, E, F "увидели" друг друга. Они должны находиться в одном VLAN. То есть, необходимо каким-то образом указать коммутатору, что ещё на одном порту есть хосты в соответствующем VLAN'е.
Для указанного примера достаточно добавить на коммутаторе sw1 порт 10 в VLAN 2, а на коммутаторе sw2 порт 9 в VLAN 2. Принадлежность к VLAN указывается настройкой порта нетегированным в VLAN 2 (пока что). После этого на коммутаторах в таблицах коммутации добавятся новые порты и соответствующие MAC-адреса хостов. Теперь четыре хоста на разных коммутаторах находятся в одном широковещательном сегменте.
Таблица коммутации sw1 для VLAN 2:
Порт коммутатора | MAC-адрес хоста |
---|---|
1 | A |
2 | B |
10 | E |
10 | F |
Таблица коммутации sw2 для VLAN 2:
Порт коммутатора | MAC-адрес хоста |
---|---|
7 | E |
8 | F |
9 | A |
9 | B |
[править] Ко второму коммутатору добавлены хосты в VLAN 10
К коммутатору sw2 добавлены два хоста G и H в VLAN 10.
Для того чтобы хосты C и D в VLAN 10 на коммутаторе sw1, могли обмениваться информацией с хостами VLAN 10 на коммутаторе sw2 добавлен линк между коммутаторами. Логика аналогична добавлению хостов в VLAN 2.
Таблица коммутации sw1 для VLAN 10:
Порт коммутатора | MAC-адрес хоста |
---|---|
3 | C |
4 | D |
11 | G |
11 | H |
Таблица коммутации sw2 для VLAN 10:
Порт коммутатора | MAC-адрес хоста |
---|---|
13 | G |
14 | H |
12 | C |
12 | D |
[править] Создание тегированного порта между коммутаторами
Когда необходимо передать трафик одного-двух VLAN'ов между коммутаторами, то схема, которая использовалась выше, выглядит нормально. Однако, когда количество VLAN возрастает, то схема явно становится очень неудобной, так как для каждого VLAN надо будет добавлять линк между коммутаторами для того, чтобы объединить хосты в один широковещательный сегмент.
Для решения этой проблемы используются тегированные порты.
Тегированный порт позволяет коммутатору передать трафик нескольких VLAN'ов через один порт и сохранить при этом информацию о том, в пределах какого именно VLAN'а передается фрейм.
На коммутаторах sw1 и sw2 порты 21 и 22, соответственно, это тегированные порты.
Для того, чтобы коммутаторы понимали какому VLAN принадлежит пришедший фрейм и использовали соответствующую таблицу коммутации для его обработки, выполняется тегирование фрейма.
Например, если хост E передает фрейм хосту A, то коммутатор sw2 проверяет свою таблицу и видит, что хост A доступен через порт 22. Так как порт настроен как тегированный, то когда фрейм выходит с порта 22 в нём проставляется тег, который указывает какому VLAN'у принадлежит этот фрейм. В данном случае проставляется тег с VLAN'ом 2.
|
Реальная структура фрейма с тегом описана на странице 802.1Q. |
Коммутатор sw1 получает тегированный фрейм через тегированный порт 21. Для того чтобы определить на какой порт его передавать далее sw1 использует таблицу коммутации для VLAN 2 (так как этот VLAN был указан в теге). На коммутаторе sw1 порт 21 должен быть настроен как тегированный для того чтобы коммутатор не отбрасывал тегированные фреймы, а считывал информацию тега. И соответственно чтобы он также помечал фрейм тегом, когда будет передаваться трафик коммутатору sw2.
Остальные порты коммутатора остаются нетегированными. И для хостов операция тегирования, которую выполняют коммутаторы абсолютно прозрачна. Хосты ничего не знают о тегах и получают обычные фреймы.
Аналогичные действия выполняются, например, при передаче фрейма от хоста C хосту G.
[править] Принадлежность VLAN
Порты коммутатора, поддерживающие VLAN'ы, (с некоторыми допущениями) можно разделить на два множества:
- Тегированные порты (или транковые порты, trunk-порты в терминологии Cisco).
- Нетегированные порты (или порты доступа, access-порты в терминологии Cisco);
Тегированные порты нужны для того, чтобы через один порт была возможность передавать данные принадлежащие к различным VLAN и, соответственно, получать трафик нескольких VLAN на один порт. Информация о принадлежности трафика к конкретному VLAN, как было сказано выше, указывается в специальном теге. Без тега коммутатор не сможет различать трафик различных VLAN.
Если порт нетегированный и принадлежит к какому-либо VLAN, то трафик для этого VLAN передается без тега. На Cisco нетегированный порт (access-порт) может быть только в одном VLAN, на некоторых других свитчах (например, ZyXEL, D-Link и Planet) реализация иная.
Если порт тегирован для нескольких VLAN, то в этом случае весь нетегированный трафик будет приниматься специальным родным VLAN (native VLAN). С этим параметром (native, PVID, port VID) возникает много путаницы. Например, свитчи Planet для правильной работы нетегированного порта требуют поместить порт в VLAN, задать режим порта untagged (нетегированный), и прописать номер этого VLAN в PVID этого порта. На коммутаторах HP ProCurve тегированный порт начинает работать как тегированный только если поставить его PVID в "None".
Если порт принадлежит только одному VLAN как нетегированный, то тегированный трафик, приходящий через такой порт, должен удаляться. На деле это поведение обычно настраивается.
Проще всего это понять, если "забыть" всю внутреннюю структуру коммутатора и отталкиваться только от портов. Допустим, есть VLAN с номером 111, есть два порта которые принадлежат к VLAN 111. Они общаются только между собой, с untagged/access-порта выходит нетегированный трафик, с tagged/trunk-порта выходит трафик тегированный в VLAN 111. Все необходимые преобразования прозрачно внутри себя делает коммутатор.
Обычно, по умолчанию все порты коммутатора считаются нетегированными членами VLAN 1. В процессе настройки или работы коммутатора они могут быть перемещены в другие VLAN.
Существуют два подхода к назначению порта в определённый VLAN:
- Статическое назначение — когда принадлежность порта VLAN'у задаётся администратором в процессе настройки;
- Динамическое назначение — когда принадлежность порта VLAN'у определяется в ходе работы коммутатора с помощью процедур, описанных в специальных стандартах, таких, например, как 802.1X. При использовании 802.1X для того чтобы получить доступ к порту коммутатора, пользователь проходит аутентификацию на RADIUS-сервере. По результатам аутентификации порт коммутатора размещается в том или ином VLANe (подробнее: 802.1X и RADIUS).
[править] Настройка VLAN на коммутаторах
В качестве примера выбрана такая топология, на которой легче объяснить различия в настройках VLAN на коммутаторах различных производителей. В соответствующих разделах объясняется как настраивать VLAN'ы, а также приведены примеры конфигурации.
[править] Настройка VLAN на коммутаторах Cisco под управлением IOS
|
На странице VLAN в Cisco/Lab находятся лабораторные, которые можно сделать для того чтобы на практике попробовать настройки, которые описываются в этом разделе. Лабораторные подготовлены в Packet Tracer, но аналогично могут быть выполнены и на реальном оборудовании. |
- Основная страница: VLAN в Cisco
Терминология Cisco:
- access port — порт принадлежащий одному VLAN'у и передающий нетегированный трафик
- trunk port — порт передающий тегированный трафик одного или нескольких VLAN'ов
Коммутаторы Cisco ранее поддерживали два протокола 802.1Q и ISL. ISL — проприетарный протокол использующийся в оборудовании Cisco. ISL полностью инкапсулирует фрейм для передачи информации о принадлежности к VLAN'у.
В современных моделях коммутаторов Cisco ISL не поддерживается.
Создание VLAN'а и задание имени:
sw1(config)# vlan 2 sw1(config-vlan)# name test
[править] Настройка access портов
Назначение портов 1 и 2 коммутатора в VLAN:
sw1(config)# interface range fa0/1 - 2 sw1(config-if)# switchport mode access sw1(config-if)# switchport access vlan 2
Назначение диапазона портов с fa0/4 до fa0/5 в vlan 10:
sw1(config)# interface range fa0/4 - 5 sw1(config-if-range)# switchport mode access sw1(config-if-range)# switchport access vlan 10
Просмотр информации о VLAN'ах:
sw1# show vlan brief VLAN Name Status Ports ---- -------------------------------- --------- ------------------------------- 1 default active Fa0/6, Fa0/7, Fa0/8, Fa0/9, Fa0/10, Fa0/11, Fa0/12, Fa0/13, Fa0/14, Fa0/15, Fa0/16, Fa0/17, Fa0/18, Fa0/19, Fa0/20, Fa0/21, Fa0/22, Fa0/23, Fa0/24 2 test active Fa0/1, Fa0/2 10 VLAN0010 active Fa0/4, Fa0/5 15 VLAN0015 active Fa0/3
[править] Настройка транка (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:
sw1(config)# interface fa0/3 sw1(config-if)# switchport mode access sw1(config-if)# switchport access vlan 15 % Access VLAN does not exist. Creating vlan 15
На коммутаторе sw3 access-портов нет. Поэтому необходимо явно создать все необходимые VLAN:
sw3(config)# vlan 2,10,15
Для автоматического создания VLAN на коммутаторах, может использоваться протокол VTP.
[править] Настройка статического транка
Создание статического транка:
sw1(config)# interface fa0/22 sw1(config-if)# switchport mode trunk
На некоторых моделях коммутаторов (на которых поддерживается ISL), после попытки перевести интерфейс в режим статического транка, может появиться такая ошибка:
sw1(config-if)# switchport mode trunk Command rejected: An interface whose trunk encapsulation is “Auto” can not be configured to “trunk” mode.
Это происходит из-за того, что динамическое определение инкапсуляции (ISL или 802.1Q) работает только с динамическими режимами транка. И для того чтобы настроить статический транк, необходимо инкапсуляцию также настроить статически.
Для таких коммутаторов необходимо явно указать тип инкапсуляции для интерфейса:
sw1(config-if)# switchport trunk encapsulation dot1q
И после этого снова повторить команду настройки статического транка (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:
sw1(config-if)# switchport mode dynamic auto
Перевести интерфейс в режим desirable:
sw1(config-if)# switchport mode dynamic desirable
Перевести интерфейс в режим nonegotiate:
sw1(config-if)# switchport nonegotiate
Проверить текущий режим DTP:
sw# show dtp interface
[править] Разрешенные VLAN'ы
По умолчанию в транке разрешены все VLAN. Можно ограничить перечень VLAN, которые могут передаваться через конкретный транк.
Указать перечень разрешенных VLAN для транкового порта fa0/22:
sw1(config)# interface fa0/22 sw1(config-if)# switchport trunk allowed vlan 1-2,10,15
Добавление ещё одного разрешенного VLAN:
sw1(config)# interface fa0/22 sw1(config-if)# switchport trunk allowed vlan add 160
Удаление VLAN из списка разрешенных:
sw1(config)# interface fa0/22 sw1(config-if)# switchport trunk allowed vlan remove 160
[править] Native VLAN
- Основная страница: Native VLAN
В стандарте 802.1Q существует понятие native VLAN. Трафик этого VLAN передается нетегированным. По умолчанию это VLAN 1. Однако можно изменить это и указать другой VLAN как native.
Настройка VLAN 5 как native:
sw1(config-if)# switchport trunk native vlan 5
Теперь весь трафик принадлежащий 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 |
Включение маршрутизации на коммутаторе:
sw3(config)# ip routing
Задание адреса в VLAN. Этот адрес будет маршрутом по умолчанию для компьютеров в VLAN 2:
sw3(config)# interface Vlan2 sw3(config-if)# ip address 10.0.2.1 255.255.255.0 sw3(config-if)# no shutdown
Задание адреса в VLAN 10:
sw3(config)# interface Vlan10 sw3(config-if)# ip address 10.0.10.1 255.255.255.0 sw3(config-if)# no shutdown
[править] Перевод интерфейса в режим 3го уровня
Интерфейс fa0/10 соединен с маршрутизатором. Этот интерфейс можно перевести в режим 3 уровня.
Перевод fa0/10 в режим интерфейса 3 уровня и задание IP-адреса:
sw3(config)#interface FastEthernet 0/10 sw3(config-if)# no switchport sw3(config-if)# ip address 192.168.1.2 255.255.255.0 sw3(config-if)# no shutdown
Коммутатор sw3 использует R1 как шлюз по умолчанию для рассматриваемой сети. Трафик не предназначенный сетям VLAN'ов будет передаваться на R1.
Настройка маршрута по умолчанию:
sw3(config) ip route 0.0.0.0 0.0.0.0 192.168.1.1
[править] Просмотр информации
Просмотр информации о транке:
sw1# show interface fa0/22 trunk Port Mode Encapsulation Status Native vlan Fa0/22 on 802.1q trunking 1 Port Vlans allowed on trunk Fa0/22 1-2,10,15 Port Vlans allowed and active in management domain Fa0/22 1-2,10,15 Port Vlans in spanning tree forwarding state and not pruned Fa0/22 1-2,10,15
Просмотр информации о настройках интерфейса (о транке):
sw1# show interface fa0/22 switchport Name: Fa0/22 Switchport: Enabled Administrative Mode: trunk Operational Mode: trunk Administrative Trunking Encapsulation: dot1q Operational Trunking Encapsulation: dot1q Operational Dot1q Ethertype: 0x8100 Negotiation of Trunking: On Access Mode VLAN: 1 (default) Trunking Native Mode VLAN: 1 (VLAN_1) Administrative Native VLAN tagging: enabled Operational Native VLAN tagging: disabled Voice VLAN: none Administrative private-vlan host-association: none Administrative private-vlan mapping: none Operational private-vlan: none Trunking VLANs Enabled: ALL Pruning VLANs Enabled: 2-1001 Capture Mode Disabled Capture VLANs Allowed: ALL
Просмотр информации о настройках интерфейса (об access-интерфейсе):
sw1# show interface fa0/3 switchport Name: Fa0/3 Switchport: Enabled Administrative Mode: static access Operational Mode: static access Administrative Trunking Encapsulation: negotiate Operational Trunking Encapsulation: native Operational Dot1q Ethertype: 0x8100 Negotiation of Trunking: Off Access Mode VLAN: 15 (VLAN0015) Trunking Native Mode VLAN: 1 (default) Administrative Native VLAN tagging: enabled Operational Native VLAN tagging: disabled Voice VLAN: none Administrative private-vlan host-association: none Administrative private-vlan mapping: none Operational private-vlan: none Trunking VLANs Enabled: ALL Pruning VLANs Enabled: 2-1001 Capture Mode Disabled Capture VLANs Allowed: ALL
Просмотр информации о VLAN'ах:
sw1# show vlan brief VLAN Name Status Ports ---- -------------------------------- --------- ------------------------------- 1 default active Fa0/6, Fa0/7, Fa0/8, Fa0/9, Fa0/10, Fa0/11, Fa0/12, Fa0/13, Fa0/14, Fa0/15, Fa0/16, Fa0/17, Fa0/18, Fa0/19, Fa0/20, Fa0/21, Fa0/22, Fa0/23, Fa0/24 2 test active Fa0/1, Fa0/2 10 VLAN0010 active Fa0/4, Fa0/5 15 VLAN0015 active Fa0/3
[править] Диапазоны 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.
Конфигурация sw1:
! interface FastEthernet0/1 switchport mode access switchport access vlan 2 ! interface FastEthernet0/2 switchport mode access switchport access vlan 2 ! interface FastEthernet0/3 switchport mode access switchport access vlan 15 ! interface FastEthernet0/4 switchport mode access switchport access vlan 10 ! interface FastEthernet0/5 switchport mode access switchport access vlan 10 ! interface FastEthernet0/22 switchport trunk encapsulation dot1q switchport mode trunk switchport trunk allowed vlan 1,2,10,15 !
Конфигурация sw2:
! interface FastEthernet0/1 switchport mode access switchport access vlan 10 ! interface FastEthernet0/2 switchport mode access switchport access vlan 2 ! interface FastEthernet0/3 switchport mode access switchport access vlan 2 ! interface FastEthernet0/22 switchport trunk encapsulation dot1q switchport mode trunk switchport trunk allowed vlan 1,2,10 !
Конфигурация sw3:
! vlan 2,10,15 ! interface FastEthernet0/1 switchport mode trunk switchport trunk allowed vlan 1,2,10,15 ! interface FastEthernet0/2 switchport mode trunk switchport trunk allowed vlan 1,2,10 !
[править] Пример конфигураций с настройкой маршрутизации между VLAN
В этом разделе приведены конфигурационные файлы коммутаторов для изображенной схемы. На коммутаторе sw3 настроена маршрутизация между VLAN, поэтому в данной схеме хосты могут общаться как в пределах одного VLAN, так и между различными VLAN.
Например, хосты на коммутаторе sw1 в VLAN 2 могут взаимодействовать между собой и с хостами в VLAN 2 на коммутаторе sw2. Кроме того, они могут взаимодействовать с хостами в других VLAN на коммутаторах sw1 и sw2.
Настройки коммутаторов sw1 и sw2 остались точно такими же, как и в предыдущем разделе. Добавились дополнительные настройки только на коммутаторе sw3.
Конфигурация sw1:
! interface FastEthernet0/1 switchport mode access switchport access vlan 2 ! interface FastEthernet0/2 switchport mode access switchport access vlan 2 ! interface FastEthernet0/3 switchport mode access switchport access vlan 15 ! interface FastEthernet0/4 switchport mode access switchport access vlan 10 ! interface FastEthernet0/5 switchport mode access switchport access vlan 10 ! interface FastEthernet0/22 switchport trunk encapsulation dot1q switchport mode trunk switchport trunk allowed vlan 1,2,10,15 !
Конфигурация sw2:
! interface FastEthernet0/1 switchport mode access switchport access vlan 10 ! interface FastEthernet0/2 switchport mode access switchport access vlan 2 ! interface FastEthernet0/3 switchport mode access switchport access vlan 2 ! interface FastEthernet0/22 switchport trunk encapsulation dot1q switchport mode trunk switchport trunk allowed vlan 1,2,10 !
Конфигурация sw3:
! ip routing ! vlan 2,10,15 ! interface FastEthernet0/1 switchport mode trunk switchport trunk allowed vlan 1,2,10,15 ! interface FastEthernet0/2 switchport mode trunk switchport trunk allowed vlan 1,2,10 ! ! interface FastEthernet0/10 no switchport ip address 192.168.1.2 255.255.255.0 ! ! interface Vlan2 ip address 10.0.2.1 255.255.255.0 ! interface Vlan10 ip address 10.0.10.1 255.255.255.0 ! interface Vlan15 ip address 10.0.15.1 255.255.255.0 ! ! ip route 0.0.0.0 0.0.0.0 192.168.1.1 !