Смотрим текущее состояние
{code}
brctl show
{code}
Избегайте конфликта ip адресов на бриджах и интерфейсах, посмотреть их можно с помощью команды
{code}
ip -4 a
{code}
Суть в том, чтобы в одном бридже было не больше одного интерфейса (неважно vlan или обычный ethernet)
h1. /etc/sysconfig/network-scripts/ifcfg-br2 (пример конфига bridge)
{code}
DEVICE=br2
TYPE=Bridge
BOOTPROTO=static
ONBOOT=yes
IPADDR=169.255.255.100
NETMASK=255.255.255.255
NM_CONTROLLED=no
ARP=no
{code}
h1. /etc/sysconfig/network-scripts/ifcfg-eth5 (пример интерфейса в нём)
{code}
DEVICE=eth5
BOOTPROTO=static
BRIDGE=br2
IPADDR=169.255.255.39
NETMASK=255.255.255.255
ARP=no
TYPE=Ethernet
ONBOOT=yes
{code}
В настройках интерфейса имя бриджа, в котором он должен находиться указывается с помощью строки BRIDGE=br2
При большом числе бриджей/интерфейсов, вы, скорее всего, будете копировать файл конфига - не забудьте менять DEVICE= в копиях.
Применение настроек:
{code}
service network restart
{code}
Иногда этого не достаточно, в таком случае либо руками достаньте все интерфейсы из бриджей:
{code}
brctl delif <имя бриджа> <имя интерфейса>
{code}
и повторите рестарт сети (или чтобы не заморачиваться полностью перезагрузите сервер.
При изменении настроек уже имеющихся и давно настроенных интерфейсов поменяйте значение NETMASK на 255.255.255.255 и добавьте строчку
{code}
ARP=no
{code}
Также, *если вланов очень много*, можно воспользоваться скриптом /usr/local/Reductor/bin/setup_network_many_vlan_util.sh. Использование:
{code}
tags="vlan1 vlan2 vlan3 .. vlanN" /usr/local/Reductor/bin/setup_network_many_vlan_util.sh <номер начального бриджа> <название интрефейса, на котором нужно создать влан-интерфейсы>
{code}
Пример использования:
{code}
tags="100 200 300" /usr/local/Reductor/bin/setup_network_many_vlan_util.sh 0 eth0
{code}
Будут созданы влан-интерфейсы для принятия зеркала eth0.100, eth0.200, eth0.300, созданы бриджи br0, br1, br2 и соответственно по порядку каждый интерфейс будет принадлежать отдельному бриджу.
После этих манипуляций нужно будет рестартануть сеть
{code}
service network restart
{code}
{code}
brctl show
{code}
Избегайте конфликта ip адресов на бриджах и интерфейсах, посмотреть их можно с помощью команды
{code}
ip -4 a
{code}
Суть в том, чтобы в одном бридже было не больше одного интерфейса (неважно vlan или обычный ethernet)
h1. /etc/sysconfig/network-scripts/ifcfg-br2 (пример конфига bridge)
{code}
DEVICE=br2
TYPE=Bridge
BOOTPROTO=static
ONBOOT=yes
IPADDR=169.255.255.100
NETMASK=255.255.255.255
NM_CONTROLLED=no
ARP=no
{code}
h1. /etc/sysconfig/network-scripts/ifcfg-eth5 (пример интерфейса в нём)
{code}
DEVICE=eth5
BOOTPROTO=static
BRIDGE=br2
IPADDR=169.255.255.39
NETMASK=255.255.255.255
ARP=no
TYPE=Ethernet
ONBOOT=yes
{code}
В настройках интерфейса имя бриджа, в котором он должен находиться указывается с помощью строки BRIDGE=br2
При большом числе бриджей/интерфейсов, вы, скорее всего, будете копировать файл конфига - не забудьте менять DEVICE= в копиях.
Применение настроек:
{code}
service network restart
{code}
Иногда этого не достаточно, в таком случае либо руками достаньте все интерфейсы из бриджей:
{code}
brctl delif <имя бриджа> <имя интерфейса>
{code}
и повторите рестарт сети (или чтобы не заморачиваться полностью перезагрузите сервер.
При изменении настроек уже имеющихся и давно настроенных интерфейсов поменяйте значение NETMASK на 255.255.255.255 и добавьте строчку
{code}
ARP=no
{code}
Также, *если вланов очень много*, можно воспользоваться скриптом /usr/local/Reductor/bin/setup_network_many_vlan_util.sh. Использование:
{code}
tags="vlan1 vlan2 vlan3 .. vlanN" /usr/local/Reductor/bin/setup_network_many_vlan_util.sh <номер начального бриджа> <название интрефейса, на котором нужно создать влан-интерфейсы>
{code}
Пример использования:
{code}
tags="100 200 300" /usr/local/Reductor/bin/setup_network_many_vlan_util.sh 0 eth0
{code}
Будут созданы влан-интерфейсы для принятия зеркала eth0.100, eth0.200, eth0.300, созданы бриджи br0, br1, br2 и соответственно по порядку каждый интерфейс будет принадлежать отдельному бриджу.
После этих манипуляций нужно будет рестартануть сеть
{code}
service network restart
{code}