From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-0.1 required=5.0 tests=BAYES_40, DNS_FROM_OPENWHOIS, RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=no version=3.2.5 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=date:from:to:subject:message-id:in-reply-to:references:x-mailer :mime-version:content-type:content-transfer-encoding; bh=Qxp6427kN5iIOwQUlM1vCLwzzhtiQBzfiylKpIc7TWY=; b=p6isDUtZkHBZQ7lMZ2n+IZCFG7whiF8u43vB4ch2w97R9FGco7eWCL+NMRzx0s6wzx gQ9R3Ys/nvd6bYIhd0m4JlpxarpNypztxJTsOweSC1dTOhyvaDNYj04IYjBe20XEkYi+ qULYOs20kSS/h3Vw1aKApUb6ABgaxsIeE/r0Y= Date: Tue, 13 Sep 2011 16:15:53 +0400 From: Egor Vyscrebentsov To: community@lists.altlinux.org Message-Id: <20110913161553.7e7cfc00.evyscr@gmail.com> In-Reply-To: References: X-Mailer: Sylpheed 3.1.0 (GTK+ 2.24.5; i586-alt-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit Subject: Re: [Comm] LXC, etcnet X-BeenThere: community@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Community general discussions List-Id: ALT Linux Community general discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Sep 2011 12:11:19 -0000 Archived-At: List-Archive: List-Post: On Mon, 12 Sep 2011 23:52:40 +0400 Алексей Синицын wrote: > Очевидно нужно ещё один интерфейс который будет смотреть в > контейнеры, например veth0. Но, по меньшей мере, я не знаю какой у > него должен быть тип. С типом eth он конечно не поднялся, с типом bri > поднялся но я не уверен что это правильно. Конфигурацию для него я > скопировал с опустевшего eth0, у которого вся она является одним > файлом options с двумя строчками: тип интерфейса и BOOTPROTO. Вы путаетесь. Ничего этого не надо. Подробнее - ниже. > И, соответственно, у breth0 сейчас указано HOST=eth0, то есть не > указан второй интерфейс, куда делать туннель, очевидно за отсутствием > такового. При указании вторым интерфейсом veth0 он не может быть > использован когда тот не поднят (с типом eth), либо не может делать > туннель сам на себя при указании типа bri. Для этого придумываются всякие скрипты в которых выполняется включение свежесозданного интерфейса в бридж (на которые скрипты указывает, например, субопция script параметра -net tap для qemu/kvm, либо параметр EXTERNAL_SCRIPT в vznet.conf для openvz с соответствующим указанием bridge=... в параметре NETIF конфига контейнера.) В LXC, как Вам показали ниже, используется параметр конфигурации lxc.network.link Этого достаточно. > > На хосте, чтобы получить желаемый эффект, нужно проделать некоторые > > дополнительные телодвижения. > > Создается бридж (br0) из двух интерфейсов - хостовый eth0 и veth0. Тот > > ip, который стоял у вас на eth0, нужно перенести на интерфейс бриджа > > (br0). На eth0 и veth0 никаких ip не ставим. > > Итого три интерфейса: eth0, venet0 и br0, из которых: > > eth0: Физический, адреса не имеет. > venet0: Виртуальный(?), смотрит в контейнеры, адреса не имеет. > Ниоткуда сам не берётся. > br0: Объединяет первые два. Имеет адрес, через него же получает сеть сам хост. venet - не veth. Не надо его в бридж. Никогда. Интерфейс veth$CTID.$NUM на хостноде смотрит _только_ в контейнер $CTID и создаётся при поднятии этого контейнера. Рекомендую http://wiki.openvz.org/Differences_between_venet_and_veth Мне кажется, должно помочь понять, где Вы сейчас заблуждаетесь. Созданного же моста с единственным включенным по умолчанию eth0 достаточно. > 10 сентября 2011 г. 20:01 пользователь Yury Bushmelev написал: > > На всякий случай привожу свой кусок конфига lxc-контейнера, касающийся сети. > > > > lxc.network.type = veth > > lxc.network.veth.pair = veth0 > > lxc.network.flags = up > > lxc.network.link = br0 > > lxc.network.hwaddr = DE:AD:BE:EF:C0:00 Этих настроек Вам должно хватить для автоматического добавления свежесозданного интерфейса в бридж br0. Не забывайте указывать разные veth.pair и hwaddr для разных контейнеров. veth.pair вообще является необязательным, в этом случае lxc сам назначит ему имя, под которым интерфейс виден на стороне хостноды. Это всё, в принципе, написано в man lxc.conf на второй странице. -- WBR, Egor Vyscrebentsov