Работаем с vlan’ами

Обновлена 15.01.2010

Первым делом объясню, зачем нужны вланы. Допустим, есть у вас одна сеть. Появилась вторая. Что делать? Докупать ещё один свич и ещё один сетевой интерфейс в ваш роутер? А если сети не одна, а сразу несколько? И в каждой по 1-5 компов? На помощь приходит понятие vlan. В одном физическом устройстве может содержаться несколько логических. Например, возмём Cisco Catalyst 2950 на 24 порта. В нём теоретически можно создать 256 (для более точного определения — смотрите таблицу ниже) vlan’ов. Есть ещё такое понятие, как trunk. Иногда можно встретиться термин «тегированный».

Switch Model

Number of Supported VLANs
Catalyst 2950-12 64
Catalyst 2950-24 64
Catalyst 2950C-24 250
Catalyst 2950G-12-EI 250
Catalyst 2950G-24-EI 250
Catalyst 2950G-48-EI 250
Catalyst 2950G-24-EI-DC 250
Catalyst 2950T-24 250

Транковый порт означает, что через этот порт могут передаваться несколько vlan’ов. Зачем это нужно? Например, у вас есть несколько свичей и нужно передать с одного свича пару вланов на другой. Порты, которыми соеденены будут свичи — должны быть в транке. И вообще, если порт передаёт больше одного влана — он всегда должен быть в trunk’e. Если запомнить это золотое правило, то проблем можно избежать в дальнейшем.

Важно заметить, что перед тем, как перевести порт в нужный влан, он должен существовать. Если перевести порт в несуществующий влан, результаты непредсказуемые. Например, на форумеciscolab.ru, один из пользователей рассказал о том, что если добавить в транк несуществующий влан, то свич уходит в даун. Вланы создаются через базу данных vlan’ов (вводится в конфигурационном режиме):

cisco#vlan database
cisco(vlan)#vlan №ВЛАНА

Там же можно и удалять вланы. Так же стоит запомнить, что новосозданные вланы появляются после того, как вы выйдете из vlan database с помощью команды exit:

cisco(vlan)#exit
APPLY completed.
Exiting....

Перевод порта в определённый влан осуществляется следующей командой (эта команда вводится в конфигурационном режиме, в настройках определённого порта):

cisco(config-if)switchport access vlan №ВЛАНА

Обычно перед этой командой выполняют ещё такую:

cisco(config-if)switchport mode access

Это даёт понять, что мы точно хотим использовать этот порт как обычный, а не как транковый. Эта команда не отображается в конфигурации свичей более ранних версий, таких как Cisco Catalyst 2900XL, но не вызывает ошибки, если её ввести.
Теперь рассмотрим вариант с транками.

Для переключения порта в режим транка используем следующую команду:

cisco(config-if)switchport mode trunk

Дальше нужно перечислить те вланы, которые мы хотим пропускать через этот транковый порт:

cisco(config-if)switchport trunk allowed vlan 101-107,110

Если в дальнейшем нужно будет пробросить ещё несколько вланов, то тут нужно быть внимательным, ибо для этого нужно будет после слова vlan в строке добавить ключевое слово add, иначе все существующие вланы на этом порту затрутся и останутся только вновь прописанные:

cisco(config-if)switchport trunk allowed vlan add 201,230

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

Но что делать если у вас свичи находятся в разных концах города и связь между ними предоставляется через канал связи провайдера. Напомню, что здесь имеется ввиду не интернет соединение, а именно ТРАНСПОРТ от одного источника к другому. Для этих целей применяется инкапсуляция. Обычно применяют dot1q. Вланы, так сказать, инкапсулируются вланы и передаются как одно целое. Что бы включить инкапсуляцию на транковом порту выполняем следующее:

cisco(config-if)switchport trunk encapsulation dot1q

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

Напомню, что есть 2 вида соединения — оптика и канал (транспорт). Главное отличие в том, что оптика — это прямой участок между без какого-либо промежуточного оборудования, а транспорт — может проходить через оборудование не одного провайдера. Поэтому, если вам нужно пробросить вланы через оптику — вы просто прописываете их на обеих концах и всё. А если через транспорт — то их нужно прописать на каждом из оборудования провайдера (другими словами пробросить вланы на каждом из оборудовании).

Примечание.

Если вы пытаетесь перевести порт во vlan, который не существует, то последствия нельзя прудсмотреть. Например, у меня на Catalyst 2950 выдало такое:

epsilon-sw(config-if)#switchport access vlan 613
% Access VLAN does not exist. Creating vlan 613

Но! читал в инете, что у одного чела на 2960 циска ушла в даун. Будьте осторожны!

Работаем с vlan’ами: 8 комментариев

  1. Ольга

    Не совсем понятна фраза
    «нужно было пробросить вланы ещё и у провайдера».
    Это что, пров должен знать о моих вланах?

    1. skeletor Автор записи

      Напомню, что есть 2 вида соединения — оптика и канал (транспорт). Главное отличие в том, что оптика — это прямой участок между без какого-либо промежуточного оборудования, а транспорт — может проходить через оборудование не одного провайдера. Поэтому, если вам нужно пробросить вланы через оптику — вы просто прописываете их на обеих концах и всё. А если через транспорт — то их нужно прописать на каждом из оборудования провайдера (другими словами пробросить вланы на каждом из оборудовании).

      1. Ольга

        Так пров на это никогда не пойдет. На фиг ему наши заморочки?
        У меня две удаленные конторы и связь через транспорт прова (не интернет). Все проплачено, все работает.
        Но как только я организовала виланы пров сказал, что пропускать их не будет — платите еще денег.
        Как это понять и что делать?

        1. skeletor Автор записи

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

          1. Ольга

            Насчет причин — я думаю, что всю череду свих коммутаторов ему нет смысла настраивать
            на мои виланы. Или я ошибаюсь?

            Есть какие то способы пробросить мои виланы без дополнительной платы?
            Например GRE или Q-in-Q помогут мне?

          2. skeletor Автор записи

            Ошибаетесь, это такая же услуга, как и коллокейшин или выделенный канал — и всё равно приходится настраивать что-то на своём оборудовании.
            Забудьте про GRE. Не всё оборудование умеет Q-in-Q (если умеет — то используйте Q-in-Q). В моём случае провайдер не имел такого оборудования.

  2. Admin_Taraz

    «Например, возмём Cisco Catalyst 2950 на 24 порта. В нём теоретически можно создать 256 vlan’ов.» Но активно всего лишь 64 vlan’ов.

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

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