Содержание

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents


Info
titleДанная статья применима к:
  • ОС ОН Орёл 2.12
  • ОС СН Смоленск 1.6
    • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)

    • Astra Linux Special Edition РУСБ.10015-16 исп. 1

    • Astra Linux Common Edition 2.12


    Технология VLAN

    http://xgu.ru/wiki/VLAN

    VLAN (Virtual Local Area Network) — топологическая («виртуальная») локальная сеть, широковещательный домен, который разделен и изолирован в компьютерной сети на канальном уровне (уровень 2 OSI) и представляет собой группу узлов сети (хостов), имеющих возможность взаимодействовать между собой напрямую на канальном уровне, хотя физически при этом они могут быть подключены к разным сетевым коммутаторам. И наоборот, узлы сети, находящиеся в разных VLAN'ах, невидимы друг для друга на канальном уровне, даже если они подключены к одному коммутатору, и связь между этими хостами возможна только на сетевом и более высоких уровнях.

    Гибкое разделение устройств на группы

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

    Уменьшение количества широковещательного трафика в сети

    Каждый VLAN — это отдельный широковещательный домен. Например, коммутатор — это устройство 2 уровня модели OSI. Все порты на коммутаторе с лишь одним VLAN находятся в одном широковещательном домене. Создание дополнительных VLAN на коммутаторе означает деление коммутатора на несколько широковещательных доменов. Если один и тот же VLAN настроен на разных коммутаторах, то порты этих коммутаторов будут образовывать один широковещательный домен.

    Увеличение безопасности и управляемости сети

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

    Тегирование трафика VLAN

    Если используется один коммутатор, то информация о том какой VLAN какому порту соответствуют хранится в таблице коммутации.

    Если используется более одного коммутатора, то после получения данных на порт коммутатора коммутатор помечает пришедший трафик, тегируя кадры (frame). Пометка информирует к какому VLAN'у принадлежит трафик. Наиболее распространённый способ ставить такую пометку описан в стандарте IEEE 802.1Q. Такая метка называется тегом, тег содержит номер VLAN'а.

    Порт, который передаёт трафик только одного VLAN имеет тип access. Нескольких VLAN'ов тип trunk.

    Настройка VLAN в операционной системе состоит из нескольких шагов:

    • Создать производный интерфейс VLAN'а;
    • Привязать его к какому-либо базовому сетевому интерфейсу;
    • Назначить IP-адрес для производного интерфейса;
    • Задать дополнительные параметры производного интерфейса, если необходимо;
    • Если система используется для маршрутизации трафика, разрешить прохождение трафика между интерфейсами (форвардинг) и описать правила фильтрации трафика.

    Рекомендации по настройке ОС Astra Linux

    При использовании Astra Linux в качестве серверной ОС рекомендуется всю настройку сети и VLAN в частности проводить с помощью сервиса networking. Перед использованием networking необходимо отключить NetworkManager, для чего выполнить команду:

    Command

    sudo systemctl --now mask NetworkManager

    Предварительные требования

    Необходима поддержка 802.1Q ядром Linux.

    Command

    sudo modprobe 8021q

    Необходимо, чтобы в системе был установлен пакет vlan.

    Command

    sudo apt install vlan

    Настройка

    Настройка VLAN с помощью средств iproute2

    В последних версиях пакета iproute появились средства, позволяющие управлять VLAN-интерфейсами.

    Добавление VLAN-интерфейса:

    Command

    sudo ip link add link DEVNAME name VLANNAME type vlan id VLAN-ID reorder_hdr on|off loose_binding on|off gvrp on|off ingress-qos-map FROM:TO egress-qos-map FROM:TO

    При включенной опции reorder-header (по умолчанию включена) кадры, проходящие через интерфейс VLAN, не содержат тегов. При отключенной опции, в кадрах сохраняется тег. Это нужно учесть, если вы, например, используете фильтры tc (traffic control) типа u32 с указанием смещений.

    Опция loose-binding отвечает за синхронизацию состояния VLAN-интерфейса с базовым интерфейсом. По-умолчанию, отключена, и при переключении базового интерфейса в состояние down состояние VLAN-интерфейса так же меняется на down. При включении, состояние VLAN-интерфейса не зависит от состояния базового интерфейса.

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

    Опции ingress-qos-map и egress-qos-map задают трансляцию между полем приоритета заголовка 802.1q и приоритетом структуры skb (данное поле используется в системе управления трафиком). Следует учитывать, что поле приоритета VLAN-заголовка имеет размер 3 бита и может принимать значения от 0 до 7. Размер же поля приоритета структуры skb составляет 32 бита.

    Для просмотра информации о VLAN-интерфейсе в команде ip link show необходимо задать ключ -d[etails].

    Code Block
    languagebash
    $ip -details link show dev VLANNAME
     19: VLANNAME@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
       link/ether 00:aa:92:08:18:a6 brd ff:ff:ff:ff:ff:ff
       vlan id 1 <REORDER_HDR> 
         egress-qos-map { 0:7 1:7 2:7 3:7 4:7 5:7 6:7 7:7 }

    Для изменения параметров VLAN-интерфейса используется команда ip link set, с обязательным указанием type vlan.

    Command

    sudo ip link set dev VLANNAME type vlan OPTION VALUE

    Удаление VLAN-интерфейса

    Command

    sudo ip link del VLANNAME

    Дополнительная информация содержится в справочной странице man ip link.

    Настройка с помощью networking

    Code Block
    languagebash
    auto <InterfaceName>                                    # необязательно
    iface <InterfaceName> inet manual                       # необязательно
    
    auto <InterfaceName>.<VLAN ID>
    iface <InterfaceName>.<VLAN ID> inet static
    vlan-raw-device <InterfaceName>                         # или vlan_raw_device
        address ....
    	netmask ....

    Настройки интерфейсовVLAN'ов в Astra Linux точно так же, как и для сетевых интерфейсов, указываются в файле /etc/network/interfaces.

    Для того, чтобы информация о созданных VLAN'ах сохранилась после перезагрузки, необходимо добавить её в файл /etc/network/interfaces.

    Например:

    Code Block
    languagebash
    auto vlan1400 
    iface vlan1400 inet static 
    	address 192.168.1.1 
    	netmask 255.255.255.0 
    	vlan_raw_device eth0
    Или, если требуется использовать названия интерфейсов вида eth0.1400, а не vlan1400:
    Code Block
    languagebash
    auto eth0.1400 
    iface eth0.1400 inet static 
    	address 192.168.1.1 
    	netmask 255.255.255.0 
    	vlan_raw_device eth0

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

    Номер 1400 в данном случае указывает на то, какой VLAN ID должен использоваться.