[Sysadmins] бридж и veth
Michael A. Kangin
mak на complife.ru
Чт Ноя 7 03:34:49 MSK 2013
On 04.11.2013 23:59, Валентин Росавицкий wrote:
Реализаций море :)
Я сделал так:
В файле /etc/vz/vznet.conf прописывается вызов EXTERNAL_SCRIPT,
дёргаемый каждый раз при запуске veth-интерфейса контейнера:
EXTERNAL_SCRIPT=/usr/local/bin/vznethelper
Содержимое этого vznethelper:
#! /bin/bash
IFACE_NAME=$3
[ -d "/etc/net/ifaces/$IFACE_NAME" ] && ifup $IFACE_NAME
т.е. если мы видим, что интерфейс описан в etcnet, то просто поднимаем
его. Наверное сюда можно запихнуть более изощрённую логику.
если veth-интерфейс предназначен для включения в бридж, то мы его можем
настроить вот так:
options:
TYPE=eth
ADD_TO_BRIDGE=br0
Хорошая опция такая ADD_TO_BRIDGE, лаконичная. Жаль, не реализована в
etcnet.
Придётся реализовывать самим:
/etc/net/ifup-post-local:
. $SCRIPTDIR/functions
pickup_options
if [ -n "$ADD_TO_BRIDGE" ]; then
ifup $ADD_TO_BRIDGE
/sbin/brctl addif $ADD_TO_BRIDGE $NAME
fi
/etc/net/ifdown-pre-local
. $SCRIPTDIR/functions
pickup_options
if [ -n "$ADD_TO_BRIDGE" ]; then
/sbin/brctl delif $ADD_TO_BRIDGE $NAME
fi
(не забудьте сделать эти файлы исполняемыми)
> Настроил на openvz впске veth интерфейс и его в бридж запихали. А как
> теперь сделать что б после рестарта этой впски ее интерфейс сам
> добавлялся в бридж?
>
> breth1 8000.782bcb22b2bf no veth3107.0
> vlan2307
>
> После vzctl restart veth3107.0 пропадает с бриджа.
>
Подробная информация о списке рассылки Sysadmins