Pull to refresh

Comments 29

virtio частенько тормозят. Лучше просто не указывать эту опцию, если есть libvirtd. Он должен сам подбирать модель сетевой карты, в зависимости от опций вроде --accelerate -v и так далее (через virt-install, само собой).

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

Вопрос только в разнице в производительности перед, например debian.pro/55 (1 brX на подсеть).

Ну и в догонку — как в вашей схеме одной виртуалке дать IP из обеих подсетей?
Что-то как у вас всё сложно :) У меня у dom0 два интерфейса, первый, который дал hetzner при регистрации и один из подсети, которую я купил. Виртуалки сидят в подсети, а на dom0 просто настроен роутинг и iptables, чтобы не тырили ipшники виртуалки.
У меня на хосте еще есть приватная сеть, и специфические полиси: кто с кем может общаться. Кроме того, коллега d1m вроде как подтвердил возможность виртуалкой захватить лишний ip, если все они толпой сидят в одном бридже. iptables на роутинг в одном br никак повлиять не может, насчет ebtables не уверен.
У меня полисей нет, каждый может обращаться куда угодно.

iptables жестко привязывает ip к интерфейсу xen, так что ничего отправить с чужого во внешний мир не получится. Можно, конечно, срать в arp внутри сети, но для меня это не критично. С помощью ebtables можно и это прирезать, но я не стал заморачиваться.
Спасибо, попробую virtio подебажить.

Дать одной виртуалке пару ip по идее не проблемно, добавить -host маршрут на нужный бридж, а на виртуалке нацепить алиас на eth0.
Не уловил мысль, позже попробую еще раз перечитать.

Вообще я использую www.tunnelbroker.net/, поднимаю тунель на машине виртуализацию и делаю мост, всем остальным раздаю ipv6 адреса, там же создаю мосты для внутренних и внешних ipv4.
и да
>Ну и последний этап – непосредственно настроить VM. Для libvirt/KVM описываем сеть через >мост:

Можно при установке через libvrt, указать использовать bridge, и не надо лезть в конфиг kvm.
># NAT для приватных IP-адресов от DHCP
Вопрос зачем? Зачем использовать NAT?
Потому что на этом этапе не всегда можно вкатать правильно рабочий публичный адрес, а так – можно пустить любую несконфигурированную VM наружу.
Да, но для этого NAT не нужен.
поясните пожалуйста на примере, я не совсем улавливаю как можно иначе дать машинке из 172.30.0.0/16 доступ в сеть.
перечитал несколько раз, что написали — непонял почему
>Поскольку в задачу входит ограничение трафика между VM, их нельзя засунуть в один мост.

Что бы сделал я:

1) поднял мост br0 и повесил реальный ip, к нему же я подключал другие kvm машины, если у провайдера нету что то вроде port-security. Хотя всегда можно договорится, ну или есть другие методы обхода.

2) мост br1 куда бы повесил приватную сеть, и сделать один SNAT. Зачем лишней раз грузить машину?

Дальше поднимаю IPV6 тунель через www.tunnelbroker.net, делим на два(три../) сегмента, один отдаем для br0, второй для br1.
1) да, но как тогда разграничивать KVM<->KVM траффик?
2) так у меня и есть, здеть не описано, потому что приватная подсеть делается очевидными методами

NAT (и DHCP) здесь только по одной единственной причине: что бы забутать любую KVM без сконфигурированной сети. Всё.
1) Чтовы понимаете под словом разграничить? Может тут нужен VLAN?

Те вы без NAT и DHCP не можете забутать систему O_o?
есть VNC для KVM, самый удобный способ установить libvrt и через Virtual Machine Manage настроить машину.

Если делать для массового применения, можно вообще bootp сбацать.
1) например запретить KVM1 и KVM2 ходить на KVM3:22, а KVM4 – разрешить

В принципе, если поставить некорректную маску, в которую попадет и гейтвей – то забутать можно. Ну или если инсталлер требует настроить сеть вручную. Или если это гента. Но в той же убунте сходу настроить сеть правильно не выйдет (ставлю через virt-install + vnc).
ну тогда лучше посмотреть в сторону xgu.ru/wiki/VLAN

Эм, вы знаете, я как то не встречал проблем с сетью не в gentoo, не в ubuntu.
в описанной выше конфигурации гейт не попадает в маску сети. В убунтовом инсталлере так сеть настроить нельзя (в генте инсталлера нет, она тремя командами ставится).
ну я бы пересмотрел наверно схему, хотя вам виднее.

У меня gentoo ставится 1 командой ;;)
На самом деле, 90% схемы – это перевод вики по ссылке. Но я не знаю немецкого, а гугл транслейт перевел ужасающе, так что я адаптировал на русский целиком, для полезности :)

VLAN'ы гляну, но меня эта схема, в принципе устроила.

С ipv6 – сейчас дописываю как прикрутить подсеть от того же HE (ибо хетзнер отдает неделимую /64).

PS: HE вроде в европе не дает пока /48 (хотя я только в двух локациях проверил)
HE двет /64 и /48, покрайне мере в РФ.

Дальше, что значит неделимую? Берите и сами делите как вам будет удобно, другое дело что считать это в голове не совсем удобно =) Нужен калькулятор.

На тему как настроить
Универсальный под разные платформы скриптами:
habrahabr.ru/blogs/sysadm/85777/

для ubuntu habrahabr.ru/blogs/sysadm/82397/
Я щас наверно глупость скажу.

На работе поделил все на /117.

Подсчитал одну сеть (начало — конец — бродкасты)
Втарая сеть то же /117 — Смотрим где кончался первый сегмент и продолжаем, итд итп.

Все замечательно ходит через разные интерфейсы.
давайте завтра пообщаемся в комментах к второй части статьи про ipv6, я там опишу и возникшую проблему, и мой вариант решения :)
Прямо-таки героический поступок. Помнится имел опыт работы с KVM на Хецнере, жуткие тормоза.
Мы просто роутингом сделали на хецнере. Ну то есть основная машина в КВМы роутит пакеты. У каждой по 1 IP. Внешне выглядит как все IP-адреса на 1м маке висят.
Вопрос: как сделать живую миграцию виртуальных машин? Предположим, у нас два сервера и все виртуалки с приватными адресами — с реальными это вообще нереально для хетзнера, судя по всему. Как-то надо обеспечить доступ к виртуалкам с обоих серверов.
с реальными – все отлично, см. статью выше :) я лично миграцией никогда не занимался, но, по идее, можно сделать tap-туннель между нодами, и засунуть его в тот же бридж, что и мигрируемая виртуалка.
с реальными не может быть всё отлично, как мне представляется, так как реальные адреса между физическими серверами не переносятся либо стоят по 5 евро и переносятся руками. Над TAP подумать можно, хотя не будет ли большой потери производительности процессора и сети?
извиняюсь, про перенос самого IP-адреса не подумал. С производительностью ничего сказать не могу – как я уже писал, миграцию мне проверить не на чем. Потенциально (в худшем случае), это будет просто проксирование трафика между нодами, т.е. его удвоение.
Sign up to leave a comment.

Articles