LINUX.ORG.RU
ФорумAdmin

Какой вариант сети выбрать для виртуалок под KVM в Интернете?


0

2

Есть Интернет-хост с CentOS. На нем проинсталлирован KVM, но еще не настроен.
Нужно поднять несколько Windws-виртуалок, на которые:
- можно заходить с Интернета по RDP и пользоваться установленными приложениями;
- в свою очередь, с них можно было серфить Интернет и пользоваться почтой и т.д.
Т.е. своего рода «мобильный офис».

Для настройки KVM попытался воспользоваться хабровской шпаргалкой - http://habrahabr.ru/post/168791/
Однако смущает то, что в этой шпаргалке сделан акцент на использование моста (а не какого-то другого соединения).
Поискал еще статьи, например http://rus-linux.net/MyLDP/vm/ustanovka-kvm-v-centOS.html - тоже используетс мост.

Почему здесь используется именно мост - есть какие-то примущества или это случайный выбор?

КМК, для виртуалок, которые выставлены в Интернет, лучше использовать, например, NAT, и тогда у виртуалок оставалась бы возможность выходить в Интернет, и в тоже время за NATом они лучше защищены от внешних вторжений.

Просветите, пожалуйста!

★★★★★

Как тогда с натом на них заходить по рдп?

sanets
()

Виртуалки могут только через мост ходить в сеть, либо сетевушку пробрасывай... но это изврат.

Если будет nat то его надо еще настроить. Нужные порты пробросить и тп. Решай сам.

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

Если будет nat то его надо еще настроить. Нужные порты пробросить и тп. Решай сам.

Так чтобы решить, я и уточняю - есть ли какие-либо преимущества у NAT перед мостом в данной конкретной ситуации?
Потому что если их нет, то конечно, мне проще будет использовать мост, тем более что и шпаргалка подходящая нашлась :)

chukcha ★★★★★
() автор топика

а у тебя сколько белых IP? Весьма вероятно что один для хоста, т.о. по-любому будет НАТ с пробросом портов

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

Кстати, да - хороший вопрос! :) Пока один белый.
И хотелось бы обойтись этим одним адресом независимо от числа виртуалок.
Иначе, если 20 виртуалок, то надо 20 белых адресов? Это совсем не комильфо :(

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

Конечно нат. Емнип, либвирт сам поднимает dnsmasq, при настроенной iptables виртуалки будут ходить в инет. Чтобы ходить на них по РДП - пробрасывай порты. Гугли libvirt dnsmasq virsh net-edit, что-нибудь да выпадет.

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

Тем что тебе понадобится dhcp который выдаст тебе адрес в той же сети в которой находится хост. В случае интернета - по внешнему адресу на каждую вм. Ну и ещё тем, что в этом случае гостевые винды выставят в паблик все свои интимные дырки :).

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

Да, вроде всё так, и я с тобой соглашусь, пожалуй.
С KVM еще не работал, но вот с VirtualBox приходилось, и считал, что сетевая концепция (ну и терминология) у них одинакова.

Но странное дело - когда в VirtualBox использовал мост, то виртуалки получали от хоста по DHCP совершенно иные адреса, т.е. не входящие в адресное пространство хоста (если я ничего не путаю), и это сбивает с толку...
Чтобы это значило - мост в VirtualBox устроен как-то иначе?

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

Но странное дело - когда в VirtualBox использовал мост, то виртуалки получали от хоста по DHCP совершенно иные адреса, т.е. не входящие в адресное пространство хоста (если я ничего не путаю)

Скорее всего путаешь.

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

Сеть в конфиге вм:

    <interface type='network'>
      <mac address='52:54:00:31:12:01'/>
      <source network='default'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>

Конфиг сети default. Машины с известными маками получают фиксированные адреса, прочие - в диапазоне 112.100 - 112.200

<network>
  <name>default</name>
  <uuid>d06664ad-fcc2-4241-818c-07a8b1bab697</uuid>
  <forward mode='nat'/>
  <bridge name='virbr0' stp='on' delay='0' />
  <mac address='52:54:00:42:37:A1'/>
  <ip address='192.168.112.250' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.112.100' end='192.168.112.200' />
      <host mac='52:54:00:31:12:01' name='guest01' ip='192.168.112.1' />
      <host mac='52:54:00:31:12:02' name='guest02' ip='192.168.112.2' />
      <host mac='52:54:00:31:12:03' name='guest03' ip='192.168.112.3' />
      <host mac='52:54:00:31:12:04' name='guest04' ip='192.168.112.4' />
      <host mac='52:54:00:31:12:05' name='guest05' ip='192.168.112.5    </dhcp>
  </ip>
</network>

Собственно, всё.

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

Если будет nat то его надо еще настроить. Нужные порты пробросить и тп. Решай сам.

Да плёвое дело-то. К виртуалкам подключаемся через SPICE, и больше не видим никаких джипегов и радуг от нестыковки DPI. Для организации сети ставим vde, dnsmasq, iptables. Gentoo home router guide всегда ваш в гугле. Соединяем tap0 с картой в мост, пускаем слушать на него dnsmasq. Тут главное TUN/TAP не забыть собрать, и группу на сокет vde выставить kvm.

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

Но странное дело - когда в VirtualBox использовал мост, то виртуалки получали от хоста по DHCP совершенно иные адреса, т.е. не входящие в адресное пространство хоста (если я ничего не путаю), и это сбивает с толку...

Из подсети 10.0.x.x? Виртуальные машины как правило имеют внутри свой DHCP сервер, поэтому реальный (хотя может быть и виртуальный, короче тот, который _нам надо_) надо проводить отдельно. Собственно, в man qemu всё необходимое есть и можно найти, даю наводку: vde.

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

реальный (хотя может быть и виртуальный

Сетевой интерфейс, разумеется.

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

Ок, а если таки мост, то чем это грозит?

Мост грозит тем что виртуалки будут видеть друг друга на прямую. Возможно это лишнее, тогда надо каждую виртуалку держать в отдельном сегменте (192.168.1.0/30, 192.168.1.4/30, ...) и пробрасывать с реальной сетевухи соответственно порты.

sdio ★★★★★
()
Последнее исправление: sdio (всего исправлений: 2)
Ответ на: комментарий от sdio

Опс! Кажется, с KVM я сильно вляпался :(
Говоря о «мобильном офисе», я не сказал, что в нем будет крутится еще и 1С (просто не придал этому значения).

А сегодня добрые люди подсказали, что крутить 1С на виртуалках под KVM - просто гиблое дело, потому что именно базы данных 1С будут работать с дикими тормозами - заминки по запросам достигали до 1 минуты!

Они сами очень долго сражались с этой непонятной проблемой, но так ничего хорошего с KVM не получилось.
Альтернативное решение в виде ESXi решило эту проблему мгновенно и бесповоротно.
И вот теперь я думу думаю, что бы предпринять...

chukcha ★★★★★
() автор топика

а у «интернет хоста» есть несколько публичных айпи?

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

А сегодня добрые люди подсказали, что крутить 1С на виртуалках под KVM - просто гиблое дело, потому что именно базы данных 1С будут работать с дикими тормозами - заминки по запросам достигали до 1 минуты!

1С в глаза не видел, но если речь об SQL то я их достаточно гонял под KVM, и все работало немногим хуже чем на железе

Они сами очень долго сражались с этой непонятной проблемой, но так ничего хорошего с KVM не получилось.

как именно?

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

как именно?

Перебрали все файловые системы для Windows, дойдя даже до FAT16, выносили ее на отдельный ж.д. и т.п. - ничего не помогало.

Причем, все приложения, начиная с Офиса, работали превосходно, тормозила только 1С при выгрузках, отчетах и т.п., где видимо, интенсивно использовались дисковые операции.

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

просто реально нигде эту поделку не видать - есть мосты, есть NAT, и для более сложных настроек есть ovs.

dyasny ★★★★★
()

У меня сделано так. Мост на локальную сеть, а через nat взаимодействие с сетевушкой, у которой белый ip. Речь про домашний сервер с kvm и входом интернета.

В итоге, виртуалка выглядит, как ещё один компьютер в моей домашней сети 192.168.73.*. Доступ к виртуалке из internet'а через проброс портов.

На этом же мосту висит vpn. Таким образом и виртуалки, и ноутбук, подключённый к vpn, и домашние компьютеры, планшеты, смартфоны - всё в единой локальной сети, что довольно удобно при необходимости взаимодействия между компьютерами.

Jurik_Phys ★★★★★
()
Последнее исправление: Jurik_Phys (всего исправлений: 1)
Ответ на: комментарий от chukcha

а как были настроены диски виртуалок? есть bz?

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

есть мосты, есть NAT

А я вот например не знаю, как без виртуального свича подсоединить виртуалки к нату. Их собственному, имею ввиду. Пускать их в общий по-моему не комильфо.

для более сложных настроек есть ovs.

Ну да, у нас забивание гвоздей микроскопом — национальный спорт.

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

А я вот например не знаю, как без виртуального свича подсоединить виртуалки к нату. Их собственному, имею ввиду. Пускать их в общий по-моему не комильфо.

либвиртовский NAT вполне справляется

Ну да, у нас забивание гвоздей микроскопом — национальный спорт.

GRE и vxlan это эже не гвозди микроскопом. А для простых вещей есть обычные решения - vlans, bonding и к ним bridge. Я на самом деле не вижу юз-кейса для VDE, и это не только я - не зря его не используют ни в одном популярном решении

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

Чёт вы тут шибко умное нагородили :)
Неужто для такой хрестоматийной задачи нужно еще копья ломать?
Дали бы лучше нормальное хавту ;)

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

либвиртовский NAT вполне справляется

Ага. И маму в дом.

А для простых вещей есть обычные решения vlans, bonding и к ним bridge

Для простых вещей есть vde и qemu. А вланы и бондинг в моё понимание «простого сетапа» как-то не очень вписываются.

не зря его не используют ни в одном популярном решении

Интерпрайзный маркетолог, иди мимо в какие-нибудь госконторы корпоративным клиентам свои популярные решения втюхивать. // Не, я не спорю, что в каких-нибудь крупных компаниях типа корпорации добра весь убантовый цирк надо чем-то под гребёнку, но мы где? Мы на ЛОРе. Тут мы пьём чай, кидаемся говном и админим локалхост.

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

Они сами очень долго сражались с этой непонятной проблемой, но так ничего хорошего с KVM не получилось.

А virtio заводится? У меня редхатовский драйвер, бывало не вставал. Тут я не знаю, правда, что делать.

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

дык ведь уже дали - обычный либвиртовский NAT и все. Я бы вообще все сделал еще проще - дешевый раутер с dd-wrt и за ним сервер с бриджем.

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

Ага. И маму в дом.

чего?

Для простых вещей есть vde и qemu. А вланы и бондинг в моё понимание «простого сетапа» как-то не очень вписываются.

чем vde лучше простого bridge, который идет штатно в любом дистре и ставится и настраивается без бубна? я посмотрел специально - заявленных фичеров два: виланы и STP. И то и другое делается обычными линуксовыми средствами, без дополнительных шаманств

Интерпрайзный маркетолог, иди мимо в какие-нибудь госконторы корпоративным клиентам свои популярные решения втюхивать.

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

Не, я не спорю, что в каких-нибудь крупных компаниях типа корпорации добра весь убантовый цирк надо чем-то под гребёнку, но мы где? Мы на ЛОРе. Тут мы пьём чай, кидаемся говном и админим локалхост

ты уверен что пьешь именно чай?

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

чего?

«Простоквашино», киддо, ты смотрел его?

чем vde лучше простого bridge

Ровно тем же, чем виртуальный эзернет от моста — пакеты срут в него, а не в локалку хоста.

который идет штатно в любом дистре и ставится и настраивается без бубна?

А vde и идёт штатно и настраивается всего пятью строчками в конфиге http://pastie.org/pastes/9657289/text

я посмотрел специально - заявленных фичеров два: виланы и STP. И то и другое делается обычными линуксовыми средствами

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

когда штатный линукс все это уже умеет без дополнительных костылей.

И давно это libvirt включили в репозиторий на кернел.орг?

ты уверен что пьешь именно чай?

Я не пью чай.

deterenkelt
()

Рекомендую бонд+бридж+транк. Максимальная гибкость и возможности. Суй разные вланы в свои виртуалки и горя не знай. На блюдечке Если пропускной способности окажется мало, и свитч поддерживает LACP, то смени тип бонда.

за NATом они лучше защищены от внешних вторжений

Почитал бы как работает нат, а потом говорил бы. Реализаций ната штук 5 (наверное все же больше), и все по-разному работают. Проковыряешь дырку, а к тебе трафик может вернуться с любых айпишников на твой порт. Нежданчик? Если у тебя что-то за натом, то это не значит, что к тебе не доберутся.

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

тормозила только 1С при выгрузках, отчетах и т.п., где видимо, интенсивно использовались дисковые операции

настроить режим работы диска с драйвером virtio так и не осилили.

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

А сегодня добрые люди подсказали, что крутить 1С на виртуалках под KVM - просто гиблое дело, потому что именно базы данных 1С будут работать с дикими тормозами - заминки по запросам достигали до 1 минуты!

«Добрые люди» тебя обманули, 1c в windows под KVM летает.

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

Я бы вообще все сделал еще проще - дешевый раутер с dd-wrt и за ним сервер с бриджем.

Шутишь? Арендованный дедик за тыщи километров в другой стране, я его никогда не увижу.

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

«Простоквашино», киддо, ты смотрел его?

смотрел когда был киддо, киддо

Ровно тем же, чем виртуальный эзернет от моста — пакеты срут в него, а не в локалку хоста.

если не выделять мосту айпи, то вообще никакой связи. а так - вполне стандартный L2

А vde и идёт штатно и настраивается всего пятью строчками в конфиге http://pastie.org/pastes/9657289/text

мост настраивается обычными конфигами дистра, как любой другой интерфейс

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

виртуальный свич ничем не отличается от моста с воткнутыми tap-ами

И давно это libvirt включили в репозиторий на кернел.орг?

каким образом либвирт относится к разговору?

Я не пью чай.

оно и видно

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

Шутишь? Арендованный дедик за тыщи километров в другой стране, я его никогда не увижу.

ну тогда конечно, обычный либвиртовский nat

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

если бы добрые люди читали как работает kvm то не говорили бы так, но едИнственное это квм больше эффектен на линукс гостях

мост это вообще прекрасно если у тебя две карточки а так смотри tun tap

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

«Добрые люди» были искренни, и как и вы, давали добрые советы.
Только я забыл вам сказать, что все испытания они проводили с 1C старой версии 7 (у которой многофайловая БД) - может в этом причина жутких тормозов?

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

Тогда ничче не понимаю ;( Уже собрался ESXi ставить, но потом приостановился, не зная теперь, в какую сторону податься. Прямо как перед камнем - «Прямо пойдешь -...,..» :)

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 1)
Ответ на: комментарий от dyasny

«Простоквашино», киддо, ты смотрел его?

смотрел когда был киддо, киддо

Какая же у тебя убогая фантазия.

если не выделять мосту айпи, то вообще никакой связи.

Кхе-кхм. «Virtual Distributed Ethernet is a set of programs to provide virtual software defined Ethernet Network Interface Controllers across multiple devices, typically computers, which are either virtual or physical.» — http://en.wikipedia.org/wiki/Virtual_Distributed_Ethernet
Для слепых, глухих, немых и прочих убогих: контроллер — это как бы не только L2, а мост с назначенным IP — это не свитч. А теперь вопрос на пирожок за сообразительность — а почему?

мост настраивается обычными конфигами дистра, как любой другой интерфейс

Замечательный факт. Только без brctl ты мост не создашь, так же как на голых TUN/TAP в ядре — виртуальный эзернет. А VDE-интерфейсы, кстати, поддерживаются внутри самой KVM. Так что делает одну вещь более штатной, чем другая?

виртуальный свич ничем не отличается от моста с воткнутыми tap-ами

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

каким образом либвирт относится к разговору?

Ты же сам и завёл про неё разговор, разве нет?

оно и видно

У, а цвет моих трусов тебе тоже видно? Нарисуешь мне картину маслом — дам 50 рублей.

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

Только чтоб освещение дневное, типа на берегу моря и поворот в три четверти.

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

Уже собрался ESXi ставить

По моим наблюдениям продукты vmware уступают по скорости KVM. Но если есть одобренное vmware железо, то можно попробовать, по крайней мере будет кому вынести мозг.

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

Тебе уже два человека сказали про virtio.

ТС не использует virtio? Тогда этот тред ни о чём.

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

Какая же у тебя убогая фантазия.

точно, я ведь не говорю фразами из мультиков

Кхе-кхм. «Virtual Distributed Ethernet is a set of programs to provide virtual software defined Ethernet Network Interface Controllers across multiple devices, typically computers, which are either virtual or physical.» — http://en.wikipedia.org/wiki/Virtual_Distributed_Ethernet

сам то понял что там написано?

Для слепых, глухих, немых и прочих убогих: контроллер — это как бы не только L2, а мост с назначенным IP — это не свитч. А теперь вопрос на пирожок за сообразительность — а почему?

дада, почему? чем мост отличается от vde свича, a tap от «виртуального интерфейса»?

Замечательный факт. Только без brctl ты мост не создашь, так же как на голых TUN/TAP в ядре — виртуальный эзернет. А VDE-интерфейсы, кстати, поддерживаются внутри самой KVM. Так что делает одну вещь более штатной, чем другая?

ты серьезно считаешь bridge-utils нештатной утилитой? давай возьмем обычный центос, даже с подключенной epel, чтоб тебе обидно не было, и сделаем yum install vde.

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

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

http://www.cyberciti.biz/faq/rhel-linux-kvm-virtualization-bridged-networking...

Ты же сам и завёл про неё разговор, разве нет?

это просто библиотека для управления, с ней удобнее. но разговор я завел о том что vde нигде не используется

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