LINUX.ORG.RU
решено ФорумAdmin

Openvz + VLAN


0

2

Добрый всем вечер. Имеется проблема с openvz.

Дано: Хост-машина HN под управлением Debian6.0, сеть 10.0.11.0/24, интерфейс eth0. На этот интерфейс eth0 подается VLAN10 - сеть 10.0.10.0/24. Подключается в хост системе командой «vconfig add eth0 10» - все работает, пакеты проходят.
Задача: пробросить VLAN10 в openvz-контейнер CT1.

Пробовал делать по этому руководству:
http://wiki.openvz.org/VLAN
Руковоство не помогает, тк сам синтаксис приведенных в нем команд неправелен.
Выполняем в хост-системе эти команды:
1) host # vconfig add eth0 10
2) host # vzctl set 1 --netif_add eth0.10 --save
В госте, согласно руководству делаем так:
3) ve # vconfig add eth0 10
Но это не работает, тк в контейнер уже проброшен интерфейс eth0.10, командой 1)

Получилось настроить VLAN в госте одним костыльным методом через Venet - подключаем vlan напрямую в хост-систему, затем создаем в госте venet-интерфейс и присваиваем ему IP из диапазона vlan-сетки. Все работает, но сама концепция безопасности контейнеров нарушается, тк в хосте есть выход в vlan, что убого.

Пробовал и через Veth - подключил сетку 10.0.11.0/24 в госте, потом подключил vlan стандартным образом как на хост системе через vconfig add - не работает.

Попробовал еще способ проброса сетевой карты непосребственно в контейнер, но оно работает непредсказуемо и скорее всего используется только для _реальной_ сетевой карты из хост-системы, а не vlan.
http://wiki.openvz.org/Using_real_network_device

Прошу совета как все все-таки правильно пробросить vlan в контейнер. Спасибо


я делаю проще, через L3 свитчинг:

1.на HN поднимаю вланы(стандартно) + вешаю на каждый влан IP
2.потом просто вешаю гостю нужный ip из нужного влана через --ipadd
3.прописываю правильный роутинг через ip rule,ip route
4.профит

dreamer ★★★★★
()
Ответ на: комментарий от dreamer

да, до этого я догадался как раз. но мне такой подход не нравится тем, что на HN будет доступ во все сети - как-то небезопасно. и настраивать дополнительные сущности в виде фаервола как-то не особо хочется. нааверняка можно этот самый VLAN пробросить прямо в гостя.

awesome
() автор топика

В ve надо просто сконфигурировать eth0.10, как обычный интерфейс.

AS ★★★★★
()

топик не читал
/etc/vz/vz.conf

# Controls which interfaces to send ARP requests and modify APR tables on.
NEIGHBOUR_DEVS=all

Shtsh ★★★★
()

У тебя слишком сложно. Делается все в три шага: 1. Создаем на хост машине нужные vlan-interface в /etc/network/interfaces 2. Для каждого vlan-iface создаем бридж, все там же 3. Прописываем VZ контейнеру, точнее его интерфейсу, членствование в нужном бридже.

Вот так выглядит конфиг сети в контейнере

NETIF="ifname=eth0,bridge=br302,mac=00:XX:XX:XX:XX:XX,host_ifname=veth302.0,host_mac=00:XX:XX:XX:XX:XX"

Jetty ★★★★★
()
Ответ на: комментарий от Jetty

поля mac можно упустить при настройке, он сам их пропишет

Jetty ★★★★★
()

Вот так примерно будет выглядеть команда

vzctl set 302 --netif_add eth0,,veth302.0,,br302 --save

Jetty ★★★★★
()
Ответ на: комментарий от Jetty

спасибо! все работает как надо. даже с настройками sysctl по умолчанию все работает. NEIGHBOUR_DEVS=all - также править не пришлось. оставил detect

awesome
() автор топика
Ответ на: комментарий от awesome

А просто настроить интерфейс с именем, похожим на vlan, не попробовал ? У меня оно так и работает... Без всяких бриджей.

AS ★★★★★
()
Ответ на: комментарий от AS

пробовал по всякому, но не запахало. с бриджами работает. есть контакты для связи? IM в виде джаббера, скайпа, аськи предпочтительны

awesome
() автор топика
Ответ на: комментарий от awesome

> есть контакты для связи ?

Не то, чтобы я как-то особенно шифруюсь, но в открытую стараюсь не выкладывать на форумах.

AS ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.