Содержание

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »


Данная статья применима к:

  • ОС ОН Орёл 2.12
  • ОС СН Смоленск 1.6

Технология 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, для чего выполнить команду:

sudo systemctl --now mask NetworkManager

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

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

sudo modprobe 8021q
Необходимо, чтобы в системе был установлен пакет vlan.
sudo apt install vlan

Настройка

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

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

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

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].

$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.

sudo ip link set dev VLANNAME type vlan OPTION VALUE
Удаление VLAN-интерфейса
sudo ip link del VLANNAME

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

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

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.

Например:

auto vlan1400 
iface vlan1400 inet static 
	address 192.168.1.1 
	netmask 255.255.255.0 
	vlan_raw_device eth0
Или, если требуется использовать названия интерфейсов вида eth0.1400, а не vlan1400:
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 должен использоваться.



  • No labels