Ниже представлены примеры настройки VLAN через стандартные средства дистрибутивов Linux.RHEL, CentOS, Fedora
Для начала необходимо описать базовый сетевой интерфейс, на котором мы будем поднимать VLAN.
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 # здесь нужно указать реальное имя интерфейса
BOOTPROTO=static
HWADDR=00:07:E9:A7:13:48 # здесь нужно указать реальный MAC
ONBOOT=no
TYPE=Ethernet
IPADDR=0.0.0.0
NETMASK=255.255.255.0
Дла наших целей важны только два параметра: DEVICE и HWADDR.
Остальное роли не играет. Можно даже заполнить "от балды".
Далее, создаем подинтерфейсы для VLAN. Именование подинтерфейсов может быть двух видов: "vlanX" и "eth0.X".
В первом случае, мы имеем описательное имя, которое не привязано к имени родительского интерфейса.
Соответственно, перемещение VLAN на другой физический интерфейс не требует значительных изменений
в конфигурацию системы (не нужно править правила пакетного фильтра и тд и тп).
С другой стороны, при использовании имен вида «eth0.X» мы имеем более удобное (по моему мнению) имя интерфейса,
по которому видно на каком родительском интерфейсе поднят VLAN, чем немного упрощается администрирование системы.
Плюс, поскольку имя подинтерфейса базируется на имени физического, то мы имеем различные пространства имен для VLAN-ов.
Я имею ввиду ситуацию, когда на разных интерфейсах приходят VLAN-ы с одинаковыми номерами.
Использование "vlanX" в данном случае будет несколько затруднительно.
Минусом будет то, что некоторые утилиты некорректно работают с именами интерфейсов с точкой в имени (например sysctl).
Конфигурирование интерфейсов типа "vlanX"
/etc/sysconfig/network-scripts/ifcfg-vlan10
VLAN=yes
VLAN_NAME_TYPE=VLAN_PLUS_VID_NO_PAD
DEVICE=vlan10
PHYSDEV=eth0
BOOTPROTO=static
ONBOOT=yes
TYPE=Ethernet
IPADDR=10.10.10.2
NETMASK=255.255.255.252
Здесь:
PHYSDEV — физический интерфейс, на котором работает VLAN.
VLAN_NAME_TYPE — указываем тип наименование устройства. В данном случае номер VLAN будет
браться с имени устройства. Возможные варианты:
VLAN_PLUS_VID —vlan0010
VLAN_PLUS_VID_NO_PAD — vlan10
DEV_PLUS_VID — eth0.0010
DEV_PLUS_VID_NO_PAD — eth0.10
Конфигурирование интерфейсов типа "eth0.X"
/etc/sysconfig/network-scripts/ifcfg-eth0.10
VLAN=yes
DEVICE=eth0.10
BOOTPROTO=static
ONBOOT=yes
TYPE=Ethernet
IPADDR=10.10.10.2
NETMASK=255.255.255.252
Все то же самое, но без PHYSDEV и VLAN_NAME_TYPE.
Хочеться добавить, что смешать в одной системе "vlanX" и "eth0.X" штатными средствами вряд ли получится,
т.к. тип именования (VLAN_NAME_TYPE) при инициализации интерфейсов задается по первому поднимаемому интерфейсу.
Примеры для Debian, Ubuntu.
Устанавливаем поддержку vlan:
sudo apt-get install vlan
В /etc/network/interfaces добавляем:
# Какие интерфейсы поднимать автоматически
auto vlan4
auto vlan5
auto vlan101
# VLAN 4
iface vlan4 inet static
address 192.168.0.8
netmask 255.255.255.192
network 192.168.0.0
broadcast 192.168.0.63
mtu 1500
vlan_raw_device eth0
# VLAN 5
iface vlan5 inet static
address 10.0.111.8
netmask 255.255.255.0
network 10.0.111.0
broadcast 10.0.111.255
mtu 1500
vlan_raw_device eth0
# VLAN 101
iface vlan101 inet static
address 172.12.101.8
netmask 255.255.255.0
network 172.12.101.0
broadcast 172.12.101.255
gateway 172.12.101.1
mtu 1500
vlan_raw_device eth0
URL: http://blog.ronix.net.ua/2009/02/vlan-rhelcentosfedora-core.... http://www.mysidenotes.com/?p=6
Обсуждается: http://www.opennet.me/tips/info/1954.shtml