Маршрутизация и коммутации

Виртуальные локальные сети

Показывать лекцию целиком

7.1. Общие сведения о виртуальных локальных сетях

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

), является одним из основных методов защиты информации и повышения производительности сетей пакетной коммутации на коммутаторах.

(рис 7.1) Виртуальные локальные сети VLAN

Обычно VLAN группируются по функциональным особенностям работы, независимо от физического местоположения пользователей. Обмен данными происходит только между устройствами, находящимися в одной сети VLAN. Рабочая станция в виртуальной сети, например, РС1 в сети vlan10 (рис 7.1), ограничена общением с узлом РС0 в той же самой vlan10. Каждой VLAN назначают свой IP-адрес сети (подсети).

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

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

(рис 7.2) Маршрутизация между VLAN

На практике используются несколько типов виртуальных локальных сетей:

  • VLAN для передачи данных;
  • VLAN для передачи голосового трафика;
  • VLAN для трафика управления.
  • По умолчанию все порты коммутатора приписаны к первой виртуальной локальной сети VLAN1 и предназначены для передачи данных. Ниже приведена распечатка команды show vlan brief, коммутатора Catalyst 2960, которая показывает, что после начальной загрузки коммутатора все его порты приписаны к сети по умолчаниюVLAN1. Первая сеть является активной. Других активных виртуальных сетей нет, за исключением 1002 - 1005, зарезервированных для сетей устаревших технологий token-ring и fddi.

    Switch>show vlan brief
    
    VLAN Name              Status   Ports
    ---- ----------------- --------- -----------------------------
    1    default               active   Fa0/1, Fa0/2, Fa0/3, Fa0/4
                                        Fa0/5, 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
                                        Gig1/1, Gig1/2
    1002 fddi-default         active    
    1003 token-ring-default   active    
    1004 fddinet-default      active    
    1005 trnet-default        active    
    Switch>
      

    Для управления виртуальными локальными сетями используется виртуальный интерфейс SVI одной из VLAN. Этому интерфейсу назначается IP-адрес с маской, а также шлюз по умолчанию (default gateway). Через этот интерфейс можно управлять коммутатором, в том числе удаленно по протоколам Telnet и SSH. Интерфейс SVI по умолчанию является интерфейсом первой сети VLAN1. Сеть VLAN1 получила название сеть по умолчанию (default VLAN). Эту сеть нельзя переименовать или удалить. Поскольку данная информация известна всем, то хакеры пытаются атаковать, в первую очередь, именно эту сеть. Поэтому на практике администраторы изменяют идентификатор управляющей сети, например, на сеть с номером VLAN 101, т.е. сетью управления может быть любая сеть VLAN, сконфигурированная для функций управления.

    Каждой виртуальной сети при конфигурировании должен быть назначен IP-адрес сети (подсети) с соответствующей маской, для того чтобы узлы виртуальных сетей могли свободно общаться между собой внутри VLAN. Передача трафика между виртуальными локальными сетями возможна только при наличии маршрутизации. Например, VLAN10 (рис 7.1) может иметь адрес 192.168.10.0/24, VLAN20 - адрес 192.168.20.0/24, VLAN30 - адрес 192.168.30.0/24. Каждому узлу необходимо задать IP-адрес из диапазона адресов соответствующей виртуальной сети, например, узел РС0 - адрес 192.168.10.11, узел РС1 - адрес 192.168.10.12, узел РС2 - адрес 192.168.20.11, узел РС3 - адрес 192.168.20.12, узел РС4 - адрес 192.168.30.11, узел РС5 - адрес 192.168.30.12.

    Идентификаторы виртуальных сетей (VLAN10, VLAN20, VLAN30 и т.д.) могут назначаться из нормального диапазона 1 - 1005, в котором номера 1002 - 1005 зарезервированы для виртуальных сетей технологий Token Ring и FDDI. Существует также расширенный диапазон идентификаторов 1006 - 4094. Однако для облегчения управления рекомендуется, чтобы сетей VLAN было не более 255 и сети не расширялись вне Уровня 2 коммутатора.

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

    Для передачи трафика разных VLAN между устройствами создают представлен транковый канал между коммутаторами Sw-A и Sw-B.

    (рис 7.3) Виртуальные локальные сети на двух коммутаторах

    Функционирование виртуальных локальных сетей определяется протоколом 802.1Q. Согласно этому протоколу порты коммутатора подразделяются на:

  • порты доступа (access port), которые передают нетегированный трафик одной сети VLAN;
  • транковые порты (trunk port), передающие тегированный трафик нескольких сетей VLAN.
  • Итак, соединения "точка - точка" между коммутаторами S1 и S3, между S2 и S3, между S3 и маршрутизатором R являются транковыми. Поскольку по магистральному транковому соединению передаются данные разных сетей VLAN, то кадр должен помечаться уникальным идентификатором - тегом виртуальной сети. Кадры, передаваемые внутри VLAN на одном коммутаторе, не тегируются.

    Узел Х не входит ни в одну VLAN, но его сообщения могут быть переданы через коммутатор S2 по транковым соединениям в маршрутизатор R и далее. Узлы одной VLAN, подключенные к разным коммутаторам могут обмениваться информацией через транковые соединения без использования маршрутизаторов.

    (рис 7.4) Транковые соединения виртуальных локальных сетей

    Протоколом 802.1Q предусмотрена собственная сеть nativeVLAN, которая назначается транковому порту, но трафик которой передается нетегированным. Когда нетегированные кадры поступают на транковый порт, коммутатор считает их кадрами сети native VLAN. Трафик, поступающий от узлов не входящих в состав виртуальных локальных сетей, причисляется к сети native VLAN. По умолчанию сетью native VLAN является VLAN 1. Трафик сети native VLAN 1 передается через транковый порт нетегированным.

    Когда на транковый порт поступает тегированный кадр, у которого идентификатор тега совпадает с номером native VLAN, то порт отбрасывает такой кадр. Тегированные кадры в сети native VLAN поддерживают IP-телефоны, серверы, маршрутизаторы и коммутаторы не фирм Cisco. При получении нетегированных кадров транковый порт пересылает их в сеть native VLAN. Если к сети native VLAN не присоединены никакие устройств, то кадр будет отброшен.

    Для native VLAN следует выделять отдельную сеть отличную от VLAN1. В вышеприведенной распечатке команды show vlan brief сеть VLAN1 является единственной активной сетью, совпадающей с native VLAN. Такая конфигурация снижает безопасность сети. Обычно в качестве native VLAN назначают сеть с другим номером, например VLAN 15, при этом весь нетегированный трафик будет передаваться в сеть VLAN 15.

    Роль сети native VLAN рассмотрена на примере сети рис 7.5, где компьютер Узел 1 через концентратор Hub подключен к транковому каналу между коммутаторами Sw-A и Sw-B. Сетью native VLAN является сеть по умолчанию Vlan 1. Узел 1 передает в транковый канал нетегированный трафик, который коммутаторы отправляют в сеть Vlan 1, узлы которой подключены как к коммутатору Sw-A, так и к Sw-B. Тегированный трафик транкового канала компьютером Узел 1 отбрасывается.

    (рис 7.5) Сеть native1VLAN

    Сеть рис 7.5 плохо спроектирована, поскольку в транковом канале установлен концентратор, через который возможен доступ к транковому соединению, что снижает безопасность сети.

    Стандарт ). Двенадцать двоичных разрядов тега (VLAN ID) используются для адресации (идентификации) VLAN, что позволяет маркировать (тегировать) до 4096 виртуальных сетей, это охватывает нормальный (1 - 1005) и расширенный (1006 - 4094) диапазоны идентификаторов VLAN.

    (рис 7.6) Формат тега виртуальной сети

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

    Три бита тега (Приорит.) позволяют задавать 8 уровней приоритета передаваемых сообщений, т.е. позволяют обеспечивать качество (QoS) передаваемых данных. Наивысший приоритет уровня 7 имеют кадры управления сетью, уровень 6 - кадры передачи голосового трафика, 5 - передача видео. Остальные уровни обеспечивают передачу данных с разным приоритетом. Единичное значение поля CFI показывает, это что виртуальная сеть технологии Token Ring. Поле Тип длиной 2 байта идентифицирует протокол, для случая Ethernet значение поля типа 0х8100.

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

    При создании сетей VLAN нормального диапазона конфигурация коммутатора под именем файла данных vlan.dat хранится во флеш-памяти. Поскольку флеш-память является энергонезависимой, то копирование текущей конфигурации (copy run start) не обязательно, но желательно. Когда из флеш-памяти удаляется файл данных vlan.dat и производится перезагрузка коммутатора, то стирается вся информация о сетях VLAN.

    В технологии VoIP для подключения телефона обычно используются две VLAN: одна для голосового трафика, а вторая - для обмена данными. Оба вида трафика передаются в коммутатор по транковому соединению (рис 7.7).

    (рис 7.7) Подключение телефона в технологии VoIP

    7.2. Конфигурирование виртуальных локальных сетей

    Конфигурационный файл коммутатора в виде базы данных vlan.dat хранится во флэш-памяти. Чтобы удалить старую конфигурацию и создать новую, необходимо удалить начальную конфигурацию, удалить файл vlan.dat и перезагрузить коммутатор.

    Каждая VLAN должна иметь уникальный адрес Уровня 3, т.е. выделенный ей адрес подсети. Это позволяет маршрутизаторам переключать пакеты между виртуальными локальными сетями.

    Статическое конфигурирование виртуальных сетей сводится к назначению портов коммутатора на каждую виртуальную локальную сеть VLAN, что может непосредственно конфигурироваться на коммутаторе через использование командной строки CLI. Таким образом, при статическом конфигурировании каждый порт приписывается к какой-то виртуальной локальной сети. Статически сконфигурированные порты поддерживают назначенную конфигурацию до тех пор, пока не будут изменены вручную. Пользователи подключены к портам коммутатора на уровне доступа (access layer). Маркировка (Frame tagging) используется, чтобы обмениваться данными, передаваемыми между коммутаторами.

    По умолчанию управляющей сетью является первая сеть VLAN 1, однако ей может быть назначен другой номер, причем, сеть VLAN 1 является Ethernet сетью, и ей принадлежит IP-адрес коммутатора.

    Ниже рассмотрено конфигурирование коммутатора на примере виртуальной локальной сети (рис 7.8). Примеры конфигурирования даны для коммутатора серии Catalyst 2960.

    (рис 7.8) Виртуальные локальные сети

    Исходное состояние виртуальных сетей и интерфейсов коммутатора показано в распечатке команды show vlan brief, из которой следует, что все 24 интерфейса FastEthernet и два интерфейса GigabitEthernet приписаны к сети по умолчанию VLAN 1.

    Switch>show vlan brief
    
    VLAN Name              Status   Ports
    ---- ----------------- --------- -----------------------------
    1    default               active   Fa0/1, Fa0/2, Fa0/3, Fa0/4
                                        Fa0/5, 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
                                        Gig1/1, Gig1/2
    1002 fddi-default         active    
    1003 token-ring-default   active    
    1004 fddinet-default      active    
    1005 trnet-default        active
      

    Создание виртуальных сетей производится в режиме глобального конфигурирования. Ниже приведены примеры конфигурирования трех виртуальных локальных сетей (рис 7.8) vlan 10, vlan 20, vlan 30:

    Switch>enable
    Switch#conf t
    Switch(config)#hostname Sw-A
    
    Sw-A(config)#vlan 10
    Sw-A(config-vlan)#vlan 20
    Sw-A(config-vlan)#vlan 30
      

    После создания виртуальных сетей vlan 10, vlan 20, vlan 30 они становятся активными, но порты остаются приписанными к VLAN 1, что можно видеть по команде show vlan brief:

    Sw-A#sh vlan brief
    
    VLAN Name                  Status              Ports
    ---- -------------------   -------- -------------------------------
    1    default               active   Fa0/1, Fa0/2, Fa0/3, Fa0/4
                                        Fa0/5, 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
    Gig1/1, Gig1/2
    10   VLAN0010              active    
    20   VLAN0020              active    
    30   VLAN0030              active    
    ...
      

    При желании можно также сформировать имя VLAN, например, по команде:

    Sw-A(config)#vlan 30
    Sw-A(config-vlan)#name VIRT30
      

    Указанные операции не являются обязательными, они служат только для удобства чтения распечаток. При отмене имени (no name) виртуальная локальная сеть будет идентифицироваться стандартно.

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

    Sw-A(config)#int f0/1
    Sw-A(config-if)#switchport mode access
    Sw-A(config-if)#switchport access vlan 10
    Sw-A(config-if)#int f0/2
    Sw-A(config-if)#switchport mode access
    Sw-A(config-if)#switchport access vlan 10
    Sw-A(config-if)#int f0/3
    Sw-A(config-if)#switchport mode access
    Sw-A(config-if)#switchport access vlan 20
    Sw-A(config-if)#int f0/4
    Sw-A(config-if)#switchport mode access
    Sw-A(config-if)#switchport access vlan 20
    Sw-A(config-if)#int f0/5
    Sw-A(config-if)#switchport mode access
    Sw-A(config-if)#switchport access vlan 30
    Sw-A(config-if)#int f0/6
    Sw-A(config-if)#switchport mode access
    Sw-A(config-if)#switchport access vlan 30
      

    Если при конфигурировании нескольких портов режим не изменяется, то команда switchport mode access может использоваться один раз для первого конфигурируемого интерфейса.

    Если интерфейс коммутатора приписывается к несуществующей VLAN, то эта сеть создается автоматически. При этом операционная система формирует сообщение, что сеть не существует и затем, что сеть создается, например:

    Sw-A(config)#int f0/7
    Sw-A(config-if)#switchport access vlan 40
    % Access VLAN does not exist. Creating vlan 40
    Sw-A(config-if)#
      

    Верификацию полученной конфигурации можно произвести с помощью команд show vlan или show vlan brief, например:

    Sw-А#sh vlan brief
    
    VLAN Name                             Status    Ports
    ---- -------------------------------- --------- -------------------------------
    1    default           active    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, Gig1/1, Gig1/2
    10   VLAN0010          active    Fa0/1, Fa0/2
    20   VLAN0020          active    Fa0/3, Fa0/4
    30   VLAN0030          active    Fa0/5, Fa0/6
    40   VLAN0040          active    Fa0/7
    ...
      

    Кроме того, конфигурацию конкретной виртуальной сети, например VLAN2, можно также просмотреть с помощью команд show vlan id 2 или по имени show vlan name VLAN2, если оно задано.

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

    Sw-A #copy running-config startup-config
      

    Он может быть также скопирован на сервер TFTP с помощью команды copy running-config tftp.

    Параметры конфигурации можно посмотреть с помощью команд show running-config или show vlan. Команда show interfaces switchport отображает наиболее полную информацию обо всех портах коммутатора. Информацию о конкретном порте, например f0/1, можно получить по команде show interfaces f0/1 switchport, в том числе о сети доступа и голосовой сети:

    Sw-A>show interface f0/1 switchport
    Name: Fa0/1
    Switchport: Enabled
    Administrative Mode: static access
    Operational Mode: down
    Administrative Trunking Encapsulation: dot1q
    Operational Trunking Encapsulation: native
    Negotiation of Trunking: Off
    Access Mode VLAN: 10 (VLAN0010)
    Trunking Native Mode VLAN: 1 (default)
    Voice VLAN: none
    Administrative private-vlan host-association: none
    Administrative private-vlan mapping: none
    Administrative private-vlan trunk native VLAN: none
    Administrative private-vlan trunk encapsulation: dot1q
    Administrative private-vlan trunk normal VLANs: none
    Trunking VLANs Enabled: ALL
    ...
      

    Удаление виртуальной сети, например vlan 10, выполняется по команде:

    Sw-A(config)#no vlan 10
      

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

    Для того, чтобы отменить неверное назначение интерфейса на виртуальную сеть, например, ошибочное назначение на интерфейс F0/2 виртуальной сети vlan 20, используется команда:

    Sw-A(config)#int f0/2
    Sw-A(config-if)#no switchport access vlan 20
      

    При этом порт F0/2 возвращается в сеть по умолчанию VLAN 1.

    Порт F0/2 можно приписать к другой виртуальной сети, например, к vlan 10, не удаляя из сети vlan 20:

    Sw-A(config)#int f0/2
    Sw-A(config-if)#switchport mode access
    Sw-A(config-if)#switchport access vlan 10
      

    Таким образом, если порт приписывается к несуществующей сети, то эта сеть создается автоматически и сообщается, что сеть не создана (% Access VLAN does not exist. Creating vlan 50).

    Если удаляется сеть, то приписанные к этой сети порты, становятся неактивными. Однако порты не возвращаются в сеть по умолчанию. При восстановлении сети порты оказываются связанными с этой сетью.

    7.3. Конфигурирование транковых соединений

    При формировании виртуальных локальных сетей на нескольких коммутаторах необходимо создать несколько физических соединений между коммутаторами по числу VLAN (рис 7.9). Большое количество VLAN потребует большое количество портов на каждом из коммутаторов и соединений между ними.

    (рис 7.9) VLAN на двух коммутаторах

    Использование транкового соединения позволяет заменить множество физических соединений одним транковым (рис 7.10).

    (рис 7.10) Транковое соединение двух коммутаторов

    Транковое соединение конфигурируется на портах обоих коммутаторов А и В, при этом используется команда switchport mode trunk. Например, если в качестве транковых используются порты F0/11, то:

    Sw-А(config)#int f0/11
    Sw-А(config-if)#switchport mode trunk
      

    Доступ в транковый канал по умолчанию открыт для всех виртуальных локальных сетей, чем могут воспользоваться хакеры. С целью ограничения VLAN, которым открыт доступ к транковому каналу, используется команда на коммутаторах Sw-A и Sw-B в качестве транковых настроены интерфейсы F0/11, то по умолчанию по транковому соединению может передаваться трафик всех трех сетей vlan 10, vlan 20, vlan 30.

    Если же дополнительно будет введена следующая команда:

    Sw-А(config-if)#switchport trunk allowed vlan 10,30
      

    то по транковому каналу будет передаваться трафик только vlan 10 и vlan30. Не указанным в команде сетям (vlan 20) доступ в магистральный порт (F0/11) будет запрещен.

    Основную информацию о транковом порте F0/11 можно получить по командам show int f0/11 switchport, show int trunk.

    Sw-А>show int f0/11 switchport
    Name: Fa0/11
    Switchport: Enabled
    Administrative Mode: trunk
    Operational Mode: trunk
    Administrative Trunking Encapsulation: dot1q
    Operational Trunking Encapsulation: dot1q
    Negotiation of Trunking: On
    Access Mode VLAN: 1 (default)
    Trunking Native Mode VLAN: 1 (default)
    Voice VLAN: none
    Administrative private-vlan host-association: none
    Administrative private-vlan mapping: none
    Administrative private-vlan trunk native VLAN: none
    Administrative private-vlan trunk encapsulation: dot1q
    Administrative private-vlan trunk normal VLANs: none
    Administrative private-vlan trunk private VLANs: none
    Operational private-vlan: none
    Trunking VLANs Enabled: ALL
    Pruning VLANs Enabled: 2-1001
    Capture Mode Disabled
    Capture VLANs Allowed: ALL
    Protected: false
    Appliance trust: none
    
    Sw-А>show int trunk
    
    Port     Mode         Encapsulation  Status        Native vlan
    Fa0/11   on           802.1q         trunking      1
    
    Port     Vlans allowed on trunk
    Fa0/11   10,30
    
    Port     Vlans allowed and active in management domain
    Fa0/11   10,30
    
    Port     Vlans in spanning tree forwarding state and not pruned
    Fa0/11   10,30
      

    Следует обратить внимание, что сети VLAN20 нет в списке разрешенных сетей транкового канала (Vlans allowed on trunk).

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

    При формировании транкового соединения между коммутатором Cisco и устройством не поддерживающем DTP на интерфейсе выполняют пару команд: switchport mode trunk и switchport nonegotiate, что позволяет создавать транковое соединение, но сообщения DTP при этом не передаются.

    Протокол DTP поддерживает на интерфейсах коммутатора следующие режимы:

  • Switchport mode dynamic auto является режимом по умолчанию на всех интерфейсах Ethernet. При переводе соседнего интерфейса в транковый режим канал становится транковым;
  • Switchport mode access делает интерфейс и весь канал нетранковым, не зависимо от режима соседнего интерфейса;
  • Switchport mode dynamic desirable (рекомендованный режим) использовался по умолчанию на коммутаторах старых версий (например, 2950). Интерфейс переводился в транковый режим, если сосед становился транковым.
  • Switchport mode trunk делает интерфейс постоянным транковым, не зависимо от режима соседнего интерфейса;
  • Switchport nonegotiate позволяет создавать транковое соединение, но сообщения DTP при этом не формируются и не передаются. Режим switchport nonegotiate используется только, когда интерфейс находится в access или trunk режиме. Поскольку сообщения DTP не передаются, то соседний интерфейс настраивается вручную.
  • 7.4. Безопасность сетей VLAN

    В исходном состоянии все порты коммутаторов Cisco приписаны к сети VLAN 1, которая по умолчанию является сетью Ethernet. Для повышения информационной безопасности необходимо все порты пользователей приписать к сетям отличным от VLAN 1, неиспользуемые порты выключить или присоединить к неиспользуемой сети (unused - "черная дыра").

    Для удаленного доступа к коммутатору конфигурируется виртуальный интерфейс SVI, который должен быть приписан к VLAN, номер которой отличается от VLAN1. На коммутаторе необходимо сконфигурировать протокол SSH, который обеспечивает обмен зашифрованными данными.

    Через транковые порты коммутатора передаются сообщения нескольких VLAN. Поэтому хакеры часто проводят атаки доступа через транковые соединения. Сеть native VLAN, которой по умолчанию является VLAN1 и трафик которой передается нетегированным, представляет хорошую возможность для несанкционированного доступа. Поэтому в качестве native обычно назначают сеть с номером отличным от VLAN 1, например:

    Sw_A(config-if)#switchport trunk native vlan 15
      

    Атаки переходов (VLAN hopping) позволяют сети хакера видеть трафик атакуемой сети. При этом хакер может либо подменить коммутатор (switch spoofing), либо использовать двойное тегирование (double tagging), чтобы получить доступ к атакуемой сети.

    Автоматическая настройка магистрального канала по умолчанию предполагает, что порт настроен на динамический автоматический режим (switchport mode dynamic auto), что дает возможность атаки переходов. При спуфинг-атаке хакер создает транковый канал с атакуемым коммутатором, имитируя сообщения 802.1Q и протокола DTP и получая доступ к сетям VLAN, назначенным на интерфейс. Для снижения риска атаки рекомендуется отключать протокол DTP, транковые каналы настраивать вручную только на тех портах, где это необходимо, неиспользуемые порты выключать.

    Принцип атаки с двойным тегированием заключается в том, что хакер формирует кадр, в который вставляет две метки (два тега). Первая (внешняя) метка совпадает с native VLAN транкового порта, поэтому коммутатор считает, что кадр получен на транковый порт. Коммутатор удаляет первую внешнюю метку и не проверяет вторую (внутреннюю) метку. Кадр заново не тегируется, поскольку относится к native VLAN, и пересылается из всех портов native VLAN. Когда кадр попадает в следующий коммутатор, то анализируется вторая метка, в которой указана атакуемая сеть. Данный вид атаки реализуется только в случае, если хакер подключен к сети native VLAN транкового порта. Поэтому сеть native VLAN транковых портов должна отличаться от пользовательских сетей.

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

    При передаче трафика между портами коммутатора, например, между узлами 1 и 2 (рис 7.11), узел 3 при определенных условиях может видеть трафик соседних устройств. Для предотвращения этого создают можно сформировать защищенные порты F0/1 и F0/3, между которыми пересылка данных будет запрещена. Следует отметить, что в этом случае защита похожа на создание списков доступа, но реализуется на уровне 2 модели OSI. При этом создается так называемая граничная частная сеть (Private VLAN - PVLAN).

    (рис 7.11) Передача трафика между портами коммутатора

    Обмен данными между защищенным и незащищенным портами производится в обычном режиме. То есть обмен данными между защищенным и незащищенным портом разрешен, например, между узлами 1 и 2, а также между узлами 2 и 3.

    Защищенные порты конфигурируются вручную. Для создания защищенного порта используется следующая команда:

    Switch(config)#int f0/1
    Switch(config-if)#switchport protected
      

    Для отмены этого режима используется команда no switchport protected. Проверку конфигурации можно провести по команде show int f0/1 switchport.

    7.5. Маршрутизация между виртуальными локальными сетями

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

    В простейшем случае к коммутатору подключается маршрутизатор (рис 7.12). Причем, количество интерфейсов маршрутизатора и количество соединений между коммутатором и маршрутизатором равно числу VLAN. Порты коммутатора должны работать в режиме доступа switchport mode access.

    (рис 7.12) Маршрутизация между VLAN

    В приведенном примере сети (рис 7.12) для соединения с маршрутизатором в схеме дополнительно задействованы три интерфейса коммутатора Sw_А: F0/11, F0/12, F0/13. При этом порт F0/11 приписан к сети vlan 10, порт F0/12 - к vlan20, порт F0/13 - к vlan30. На интерфейсе маршрутизатора F0/1 сконфигурирован адрес 10.1.10.1, на интерфейсе F0/2 - 172.16.20.1, на интерфейсе F0/3 - 192.168.30.1. Интерфейсы F0/1, F0/2, F0/3 являются шлюзами по умолчанию для сетей vlan 10, vlan20, vlan 30.Все виртуальные локальные сети являются прямо подключенными к маршрутизатору, поэтому между ними могут пересылаться пакеты, т.е. реализуется маршрутизация.

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

    При транковом соединении коммутатора и маршрутизатора три физических канала между ними (рис 7.12) заменяются одним транковым каналом (рис 7.13). Такая схема организации маршрутизации получила название "router-on-a stick".

    (рис 7.13) Транковое соединение коммутатора и маршрутизатора

    Для создания транкового соединения на коммутаторе задействован интерфейс F0/10, а на маршрутизаторе - интерфейс F0/0.

    Конфигурирование коммутатора будет следующим:

    Sw_A>ena
    Sw_A#conf t
    Sw_A(config)#vlan 10
    Sw_A(config-vlan)#vlan 20
    Sw_A(config-vlan)#vlan 30
    Sw_A(config-vlan)#int f0/1
    Sw_A(config-if)#switchport mode access
    Sw_A(config-if)#switchport access vlan 10
    Sw_A(config-if)#int f0/4
    Sw_A(config-if)#switchport access vlan 10
    Sw_A(config-if)#int f0/2
    Sw_A(config-if)#switchport access vlan 20
    Sw_A(config-if)#int f0/5
    Sw_A(config-if)#switchport access vlan 20
    Sw_A(config-if)#int f0/3
    Sw_A(config-if)#switchport access vlan 30
    Sw_A(config-if)#int f0/6
    Sw_A(config-if)#switchport access vlan 30
    Sw_A(config-if)#int f0/10
    Sw_A(config-if)#switchport mode trunk
    Sw_A(config-if)#
      

    По команде showing f0/10 switchport можно посмотреть состояние интерфейса:

    Sw_A#show int f0/10 switchport
    Name: Fa0/10
    Switchport: Enabled
    Administrative Mode: trunk
    Operational Mode: down
    Administrative Trunking Encapsulation: dot1q
    Operational Trunking Encapsulation: dot1q
    Negotiation of Trunking: On
    Access Mode VLAN: 1 (default)
    Trunking Native Mode VLAN: 1 (default)
    Voice VLAN: none
     . . .
    Sw_A#
      

    Из распечатки следует, что порт F0/10 находится в режиме Trunk.

    Конфигурирование маршрутизатора сводится к тому, что на его интерфейсе F0/0 формируются субинтерфейсы F0/0.10, F0/0.20, F0/0.30 (по количеству VLAN). На указанных субинтерфейсах задается протокол Dot 1q для виртуальных сетей vlan10, vlan20, vlan30. Последовательность команд необходимо завершить включением интерфейса no shutdown. Отдельные субинтерфейсы не включаются.

    Router>ena
    Router#conft
    Router(config-if)#int f0/0.10
    Router(config-subif)#encapsulation dot1q 10
    Router(config-subif)#ip add 10.1.10.1 255.255.255.0
    Router(config-subif)#int f0/0.20
    Router(config-subif)#encapsulation dot1q 20
    Router(config-subif)#ip add 172.16.20.1 255.255.255.0
    Router(config-subif)#int f0/0.30
    Router(config-subif)#encapsulation dot1q 30
    Router(config-subif)#ip add 192.168.30.1 255.255.255.0
    Router(config-subif)#int f0/0
    Router(config-if)#no shutdown
      

    Результат конфигурирования проверяется по команде show ip route:

    Router#show ip route
    ...
    Gateway of last resort is not set
    
      10.0.0.0/24 is subnetted, 1 subnets
    C 10.1.10.0 is directly connected, FastEthernet0/0.10
      172.16.0.0/24 is subnetted, 1 subnets
    C 172.16.20.0 is directly connected, FastEthernet0/0.20
    C 192.168.30.0/24 is directly connected, FastEthernet0/0.30
    Router#
      

    Из таблицы маршрутизации следует, что сети 10.1.10.0, 172.16.20.0, 192.168.30.0 являются непосредственно присоединенными, причем, каждая сеть присоединена к маршрутизатору через свой субинтерфейс. Поэтому маршрутизатор обеспечивает маршрутизацию между сетями, что проверяется по командам ping, tracert.

    Динамический протокол транкового соединения (DTP) маршрутизатор не поддерживает, поэтому нельзя использовать команды switchport mode dynamic auto и switchport mode dynamic desirable.

    Из недостатков виртуальных локальных сетей с маршрутизацией "router-on-astick" можно отметить плохую масштабируемость при количестве VLAN больше 50. Поскольку на физическом интерфейсе сформировано несколько субинтерфейсов, то будет конкуренция трафика разных сетей VLAN через транковый канал.

    ). При этом на коммутаторе 3-го уровня должна быть включена IP-маршрутизация.

    (рис 7.14) Многоуровневый коммутатор в сетях VLAN

    Многоуровневые коммутаторы характеризуются более высокой скоростью обработки пакетов по сравнению с маршрутизаторами, поэтому широко используются в сетях различного назначения. Однако их стоимость высока по сравнению с решением "router-on-a stick".

    Коммутаторы серии Catalyst 2960 реализуют функции только статической маршрутизации при ограниченном количестве маршрутов. Более производительные коммутаторы Catalyst 3560 и Catalyst 4500 поддерживают как статическую, так и динамическую маршрутизацию. Они используют по умолчанию интерфейсы 2-го уровня. Высокопроизводительные коммутаторы Catalyst6500 поддерживают практически все функции маршрутизаторов, используя по умолчанию интерфейсы 3-го уровня.

    Использование многоуровневых коммутаторов повышает скорость маршрутизации, поскольку трафик 2-го и 3-го уровня обрабатывается внутри коммутатора и нет внешних соединений между коммутатором и маршрутизатором. Следовательно, нет задержек на интерфейсах.

    Перечисленные коммутаторы могут поддерживать следующие интерфейсы 3-го уровня:

  • виртуальный интерфейс коммутатора (SVI) используется для маршрутизации между VLAN;
  • маршрутизируемый порт является интерфейсом 3-го уровня.
  • Виртуальный интерфейс коммутатора (SVI) создает возможность удаленного доступа и управления. Через виртуальные внутренние интерфейсы SVI реализуется маршрутизация между сетями VLAN. На SVI конфигурируется IP-адрес, что дает возможность устанавливать списки доступа и повышать уровень информационной безопасности.

    Маршрутизируемые порты, которые являются аналогом интерфейсов маршрутизатора, обычно устанавливаются между коммутаторами уровня распределения и ядра. Протокол STP на них не работает, и на них нельзя конфигурировать субинтерфейсы. На коммутаторах Catalyst 2960, которые используются, как правило, на уровне доступа, маршрутизируемые порты не поддерживаются.

    Интерфейсы коммутаторов Catalyst 3560 по умолчанию настроены в режим портов 2-го уровня. Поэтому при использовании коммутаторов Catalyst 3560 на уровне распределения или ядра сети интерфейсы конфигурируются вручную администратором как маршрутизируемые порты. Формирование маршрутизируемых портов производится в режиме конфигурирования интерфейсов по команде no switchport.

    Функции коммутатора Catalyst 2960 в качестве устройства 3-го уровня ограничены. Они определяются рядом шаблонов, которыми управляет диспетчер базы данных коммутатора (Switch Database Manager - SDM). Шаблоны включают набор определенных функций:

  • default - шаблон по умолчанию, который не поддерживает статическую машрутизацию;
  • dual-ipv4-and-ipv6 - шаблон по умолчанию для адресации IPv6;
  • lanbase-routing - шаблон, поддерживающий статическую маршрутизацию между сетями. Количество маршрутов ограничено;
  • qos - шаблон обеспечения качества.
  • При исходной конфигурации на коммутаторе настроен шаблон по умолчанию. Для реализации статической маршрутизации необходимо изменить шаблон по следующей команде:

    Switch(config)#sdm prefer lanbase-routing
      

    Для ввода нового шаблона в действие необходимо перезагрузить коммутатор. Выполнение команды перезагрузки возможно из режима глобального конфигурирования (вместо привилегированного) при использовании команды do:

    Switch(config)#do reload
      

    Текущий шаблон можно посмотреть по команде:

    Switch#show sdm prefer
      

    Маршрутизация на коммутаторе включается по команде:

    Switch(config)#ip routing
      

    После этого можно сконфигурировать статический маршрут или маршрут по умолчанию.

    Краткие итоги

  • Виртуальная локальная сеть VLAN состоит из узлов, объединенных широковещательным доменом, образованным приписанными к виртуальной сети портами коммутатора.
  • Виртуальные локальные сети логически сегментируют всю сеть на широковещательные домены так, чтобы пакеты пересылались только между портами, которые приписаны к одной VLAN.
  • Трафик между VLAN обеспечивается маршрутизацией, т.е. общение между узлами разных виртуальных сетей происходит только через маршрутизатор или коммутатор третьего уровня.
  • На практике используются несколько типов виртуальных локальных сетей: VLAN для передачи данных; VLAN для трафика управления; VLAN для передачи голосового трафика.
  • По умолчанию все порты коммутатора приписаны к первой виртуальной локальной сети VLAN1 и предназначены для передачи данных.
  • Для управления виртуальными локальными сетями, в том числе удаленного доступа, используется виртуальный интерфейс SVI одной из VLAN (по умолчанию VLAN 1). Этому интерфейсу назначается IP-адрес с маской, а также шлюз по умолчанию. Администраторы обычно изменяют номер управляющей сети для повышения безопасности.
  • Каждой виртуальной сети при конфигурировании должен быть назначен IP-адрес сети или подсети с соответствующей маской и шлюзом.
  • Функционирование виртуальных локальных сетей определяется протоколом 802.1Q.
  • При построении сети на нескольких коммутаторах в заголовок кадра добавляется уникальный идентификатор - тег (tag) виртуальной сети, который определяет членство VLAN каждого пакета.
  • Маркировка (тегирование) используется для обмена данными сетей VLAN между коммутаторами.
  • Тег размером в 2 байта вводится в кадр между полем адреса источника и полем Тип/Длина. 12 бит тега (VLAN ID) используются для идентификации VLAN, что позволяет маркировать (тегировать) до 4096 виртуальных сетей, это охватывает нормальный (1 - 1005) и расширенный (1006 - 4094) диапазоны идентификаторов VLAN.
  • Совокупность физических каналов между двумя устройствами может быть заменена одним агрегированным логическим каналом, получившим название транк (Trunk).
  • Транк - это магистральный канал, передающий кадры нескольких виртуальных локальных сетей.
  • Транковые порты передают тегированный трафик нескольких сетей VLAN, порты доступа передают нетегированный трафик одной сети VLAN.
  • Протоколом 802.1Q предусмотрена собственная сеть native VLAN, которая назначена транковому порту, но трафик которой передается нетегированным.
  • При создании сетей VLAN нормального диапазона конфигурация коммутатора под именем файла данных vlan.dat хранится во флеш-памяти.
  • Состояние виртуальных сетей и интерфейсов коммутатораотображается в распечатке команд show vlan, show vlan brief.
  • При конфигурировании создают виртуальные локальные сети VLAN (например, Switch(config)#vlan 10) и назначают порты коммутатора на каждую VLAN (например, Switch(config-if)#switchport mode access, Switch(config-if)#switchport access vlan 10).
  • Для создания транковых портов используют команду switchport mode trunk.
  • Согласование магистральных транковых каналов реализует динамический транковый протокол DTP, который является протоколом Cisco и не поддерживает оборудование других производителей. Для немагистральных каналов протокол DTP рекомендуется отключать.
  • Атаки переходов позволяют хакеру видеть трафик атакуемой сети. При этом хакер может либо подменить коммутатор (switch spoofing), либо использовать двойное тегирование (double tagging).
  • Защищенные порты запрещают обмен данными между интерфейсами при любой пересылке. При этом создается граничная частная сеть PVLAN.
  • Для обеспечения маршрутизации между VLAN при использовании транковых соединениях на интерфейсе маршрутизатора формируются несколько субинтерфейсов (по количеству виртуальных локальных сетей).
  • Многоуровневые коммутаторы характеризуются более высокой скоростью обработки пакетов по сравнению с маршрутизаторами, поэтому широко используются в сетях различного назначения. Однако их стоимость высока.
  • Многоуровневые коммутаторы дополнительно поддерживают маршрутизируемый порт, который является интерфейсом 3-го уровня OSI.
  • Вопросы

  • Для чего создаются виртуальные локальные сети? Их достоинства?
  • Как связываются между собой VLAN?
  • Как обеспечивается общение между узлами разных виртуальных сетей?
  • Какие типы сетей используются на практике?
  • Как обеспечивается управление виртуальными локальными сетями?
  • Можно ли построить VLAN на нескольких коммутаторах? Как это сделать?
  • Для чего служит идентификатор кадра (tag)? Где он размещается?
  • Между какими устройствами создаются магистральные транковые каналы?
  • Что такое транк? Как он создается на коммутаторе и маршрутизаторе?
  • Какие команды используются для назначения VLAN на интерфейсы?
  • Что будет, если назначить порт на не существующую VLAN?
  • Что будет, если ввести команду no switchport access vlan10, на интерфейсе ранее назначенном на сеть VLAN 10?
  • Как переназначить порт на другую VLAN?
  • Что будет с портами, назначенными на VLAN, при удалении сети?
  • Какие команды используются для создания транковых соединений?
  • Какая команда позволяет ограничить трафик через транковое соединение для некоторых VLAN?
  • Какие команды используются для верификации VLAN?
  • Какая информация отображается по команде show interface <тип, номер> switchport?
  • Какие функции выполняет протокол DTP? В каких случаях он используется, и в каких не используется?
  • Для чего на интерфейсе конфигурируют команду switchport nonegotiate?
  • Какие два типа атак переходов используют хакеры? Как с ними бороться?
  • Что дает конфигурирование защищенного порта PVLAN?
  • Для чего выключают неиспользуемые порты?
  • Какие схемы используют для маршрутизации трафика между VLAN?
  • Для чего используются субинтерфейсы маршрутизаторов?
  • Каков формат команды конфигурирования маршрутизатора в схеме router-on-a-stick?
  • В чем достоинства и недостатки схемы router-on-a-stick?
  • Что такое коммутатор уровня 3? В чем его достоинства и недостатки?
  • Какие типы портов используются в коммутаторах уровня 3?
  • Что такое шаблоны, которыми управляет диспетчер базы данных коммутатора SDM?
  • Упражнения

  • Сформируйте в Packet Tracer схему сети
  • Сконфигурируйте коммутаторы и маршрутизатор, чтобы обеспечить межсетевое взаимодействие VLAN.
  • Проведите отладку и проверку сети.
  • Вернуться к учебному плану