Как правильно настроить связанный мост на Centos 6 для гостей KVM?
В настоящее время я играю с настройкой двух KVM-хостов, каждый из которых будет принимать несколько гостей. У меня есть два HP DL380: s по 4 ника каждый. Я хотел бы использовать два сетевых адаптера (eth0, eth1) в связке с активным резервным копированием (mode = 1) по причинам аварийного переключения, выходящим в Интернет. Затем я хотел бы, чтобы два других сетевых устройства (eth2, eth3) также были в связке с активным резервным копированием, обращенные к административной / задней сети.
Помимо связи, мне нужен мост, который гости KVM будут использовать для доступа к передней или задней сети.
В interwebz я нашел много разных способов это настроить. Некоторые просто упоминают соединение, некоторые просто мосты, а некоторые пытаются объединить его. Ни один из найденных мною не сказал, что произойдет, если я буду использовать переднюю и заднюю сеть со многими хостами.
Некоторые из моих проблем / вопросов.
Вот красивая картинка, как выглядит окружение (по крайней мере, его часть).
Вот мои соответствующие файлы конфигурации.
/ и т.д. / sysconfig / сеть
NETWORKING=yes
HOSTNAME=host1
GATEWAYDEV=br0
NETWORKING_IPV6=no
/ и т.д. / sysconfig / сетевые сценарии / ifcfg-eth0 - ifcfg-eth3
DEVICE="ethX"
NM_CONTROLLED="no"
ONBOOT=yes
HWADDR=xx:xx:xx:xx:xx:xx
SLAVE=yes
MASTER=bondX
HOTPLUG=no
BOOTPROTO=none
/ и т.д. / sysconfig / сетевые скрипты / ifcfg-bond0 - ifcfg-bond1
DEVICE=bondX
BONDING_OPTS="miimon=100 mode=1"
ONPARENT=yes
BOOTPROTO=none
BRIDGE=brX
/ и т. д. / sysconfig / сетевые сценарии / ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
DELAY=0
BOOTPROTO=none
/ и т. д. / sysconfig / сетевые сценарии / ifcfg-br1
DEVICE=br1
TYPE=Bridge
ONBOOT=yes
DELAY=0
BOOTPROTO=static
IPADDR=10.0.1.100
NETMASK=255.255.255.0
Обновление 1
* Обновление 2 *
Не уверен насчет CentOS 6, но в Fedora модуль связывания не добавлен в ядро Linux по умолчанию, поэтому вам нужно создать файл /etc/modprobe.d/bonding.conf с содержанием
alias bond0 bonding
Перезагрузитесь, и вы должны увидеть, что модуль связывания загружается во время загрузки.
Поскольку у вас есть два связанных интерфейса, вам, возможно, придется добавить еще одну строку псевдонима для bond1. Однако я никогда этого не пробовал.
Предложите вам запустить один, а затем позаботиться о настройке второго.
Другая проблема, которую вы подняли по поводу моста, другие моменты, на которые следует обратить внимание, эти конфигурации работают с сеть демон, но я не верю, что они работают с Сетевой менеджер. Вы используете сеть или демон NetworkManager?
И, наконец, существуют разные способы настройки netfilter для обработки мостовых интерфейсов. По крайней мере, в Fedora 12+ по умолчанию netfilter на мостах отключен. Однако вы можете изменить это, отредактировав /etc/sysctl.conf и установка
net.bridge.bridge-nf-call-iptables=1
Сделайте то же самое для arp и ipv6, и в этом файле вам также необходимо установить
net.ipv4.ip_forward=1
Очистите цепочку FORWARD и замените правилом iptables
iptables -A FORWARD -m physdev --physdev-is-bridged -j ACCEPT