Vlan в linux

безжалостный копипаст:

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

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

Добавление влан-интерфейса
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 кадры, проходящие через интерфейс-влан, не содержат тегов. По умолчанию включена. При отключенной опции, в кадрах сохраняется тег. Это нужно учесть, если вы, например, используете фильтры tc типа u32 с указанием смещений.

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

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

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

Для просмотра информации о влан-интерфейсе в команде ip link show необходимо задать ключ -d[details].
$ip -details link show dev mgmt
19: mgmt@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 }

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

Удаление влан-интерфейса
ip link del VLANNAME

Аппаратная поддержка 802.1q

Многие сетевые контроллеры производства intel и broadcom имеют аппаратную поддержку 802.1q, которая снижает загрузку ЦПУ. При снятии дампа трафика с нижележащего интерфейса при аппаратной акселерации в дампе не будет упоминаний о тэгах 802.1q, информация о них хранится непосредственно в структурах, ассоциированных с пакетом.

Для управления аппаратной обработкой вланов сетевым адаптером используется утилита ethtool:
ethtool -k|–show-offload DEVNAME
ethtool -K|–offload DEVNAME [txvlan on|off] [rxvlan on|off]
Настройка VLAN при загрузке в Debian GNU/Linux

Для работы описанного ниже способа необходимо чтобы в системе был установлен пакет vlan

Для того чтобы информация о созданных VLAN’ах сохранилась после перезагрузки, необходимо добавить её в файл /etc/network/interfaces. Например:
auto vlan1400
iface vlan1400 inet static
address 192.168.1.1
netmask 255.255.255.0
vlan_raw_device eth0

Настройка VLAN при загрузке в Gentoo 

Ниже приведен пример части файла /etc/conf.d/net, отвечающей за настройку VLAN. В данном примере настраивается 2 vlan-интерфейса на интерфейсе eth0, создание и удаление данных интерфейсах происходит в скрипте /etc/init.d/net.eth0:
config_eth0=”null”
vlans_eth0=”1 2″

vlan1_name=”vlan1″
config_vlan1=”10.0.0.1/24″

vlan2_name=”vlan2″
config_vlan2=”192.168.1.1/24″

Обсуждение закрыто.