LINUX.ORG.RU
ФорумAdmin

KVM Настройка сети

 , , ,


0

1

Имеется KVM и в нем 2 виртуалки. Все настроено в режиме NAT, со скриптом проброса портов туда куда нужно. В целом все устраивает но даже на минимальный поток эту схему не поставить. В том смысле что подняв еще один сервис на новой виртуалке нужно прописать новое правило для проброса портов в срипт. Это адово неудобно тем что службу KVM обязательно нужно перезапусить и тут остальные виртуалки получают короткий но полный дисконнект.

Поэтому вопрос. Как организовать такой тип сети чтобы все пакеты идущие на хост ретранслировались на все виртуалки. Такой тип виртуальной сети мне встречался на ESXI, никак не пойму как это организвать в KVM. Сразу оговорюсь что технической возможности получить дополнительные IP у провайдера нет и он режет все что исходит от хоста не по его MAC. Так то бридж и все дела.

Где то отдаленно понимаю что наверное нужно настроить routed network но что куда и как конкретно не очень. Новичок в KVM. Всем спасибо за помощь.

Как организовать такой тип сети чтобы все пакеты идущие на хост ретранслировались на все виртуалки.

Чего?

targitaj ★★★★★ ()

В том смысле что подняв еще один сервис на новой виртуалке нужно прописать новое правило для проброса портов в срипт. Это адово неудобно тем что службу KVM обязательно нужно перезапусить и тут остальные виртуалки получают короткий но полный дисконнект.

Чего-то не понял про какой скрипт речь и почему надо перезапускать службу

anc ★★★★★ ()

какой ужас. подними мост и забудь про все эти проблемы, он будет работать как раз как vswitch.

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

Виртуалки за NATом поэтому использую qemu hook script который прописывает правила iptables,да он срабатывает только при перезапуске службы KVM.

Я же сразу сказал что новичок, не исключаю что забиваю гвоздь микроскопом. Я не нашел другого способа как модно работать при наличии одного IP. Пожалуйста ткните носом в мануал как поднять такой бридж

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

Если правильно распарсил, то все уже написали. Виртуалки в бридж, на хоcте рулите iptables для проброса портов куда надо.

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

KVM создает дефолтный бридж с NAT. То есть из внутренней сети я без проблем могу выйти в интернет. Задача другая, нужно чтобы по внешнему IP адресу были доступны порты всех виртуалок. На данный момент я это и так реализую с помощью iptable. И пояснил выше что это мучительно неудобно (через скрипт). Голый autosave для iptables с KVM работает криво.

Поэтому прошу помощи организовать такой тип бриджа чтобы все виртуалки были доступны из внешней сети как и хост по всем портам как будто это одна цельная машина с моим фиксированным IP. Далее я уже на самих виртуалках решу какие мне порты открыть/закрыть. Тобишь полный тотальный проброс всех входящих соединений. Надеюсь понятно изложил.

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

Сразу оговорюсь что технической возможности получить дополнительные IP у провайдера нет
чтобы все виртуалки были доступны из внешней сети как и хост по всем портам как будто это одна цельная машина с моим фиксированным IP

Как сделаете не забудьте поделиться с сообществом. А то мужики-то не в курсе.

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

Уточните... Я много хочу? Это невозможно на KVM? Или все возможно и на столько элементарно что я не понял вашей иронии

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

Это не имеет отношения конкретно к kvm. Зеркалировать трафик можно, вопрос что из этого получиться. Рекомендую задуматься над этим вопросом.

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

Я работал в таком режиме на VMWARE все было чудно. Подскажите как на KVM такое реализовать либо более человечный способ работы с правилами проброса портов без hook scripts... Может есть вменяемый софт с юзерфрендли гуи интерфейсом, где это удобно можно задать и главное без остановки служб

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

Тебе нужен бридж на хосте + прописываешь правила форвардинга портов в iptables/firewalld. Рестартить KVM это просто дикость какая-то.

anonymous ()
Ответ на: комментарий от Air777

Задача другая, нужно чтобы по внешнему IP адресу были доступны порты всех виртуалок.

чтобы все виртуалки были доступны из внешней сети как и хост по всем портам как будто это одна цельная машина с моим фиксированным IP

Давай представим (в альтернативной вселенной), что ты добился поставленной задачи.

На твой фиксированный ip приходит запрос на 22 порт (ssh). К какой системе ты подключишься, при условии, что на всех трех системах работает sshd?

Варианты ответа: 1. Хост 2. Гость 1 3. Гость 2 4. Ко всем трем сразу (Матрица) 5. Что тут, б-ть, происходит?

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

Думаю в том порядке в котором обрабатывается весь трафик, начиная с хоста. Был бы такой механизм уверен я бы справился с проставлением приоритетов. Еще раз повторюсь на VMWARE это работало и никак не мешало. Если порт закрыт на хосте он обслуживается виртуалками.

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

Мне кажется, что ты говоришь про port mirroring.

Но для твоих задач тебе уже верно посоветовали использовать port forwarding.

whoami-neo ()
Ответ на: комментарий от dhameoelin

да, не обратил внимание. надо иногда до конца дочитывать

dyasny ★★★★★ ()

более интересная идея - поднимаем все виртуалки как сейчас, за NATом, в общей внутренней сети. Поднимаем дополнительную машину чисто как раутер (ну и файрволл, можно с pfsense или что там сейчас модно), с двумя v-nic, один в default куда направлены все порты, второй в частную сеть. Порты все кидаем на машину с раутером.

На раутере настраиваем и всячески развлекаемся с port forwarding на остальные машины.

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

Нормальный хостер дает BMC обычно. Плюс, на раутер направляем все порты кроме тех которые оставляем хосту. Идея в том что за счет небольшой добавки к сложности получаем бОльшую гибкость в настройках, и libvirt hook только для машины с раутером, остальным не нужно.

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

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

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