The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Маршрутизация нескольких виртуальных машин, !*! AJesus, 28-Ноя-13, 00:56  [смотреть все]
Добрый вечер специалистам, нужна помощь

Есть физический сервер с 1 сетевой картой и 3 приходящими белыми IP адресами, обозначим их так: 192.168.1.2, 192.168.1.3, 192.168.2.2
Соответственно шлюз у 192.168.1.2, 192.168.1.3 = 192.168.1.1
а у 192.168.2.2 = 192.168.2.1

IP 192.168.1.2 это основной ИП адрес физического сервера
IP 192.168.1.2 это ИП виртуальной машины №1
IP 192.168.2.2 это ИП виртуальной машины №2

все операционные системы ubuntu server 10.04 LTS
Виртуализация KVM qemu

Как уже только не пытался последнее куда ломал голову

auto eth1
iface eth1 inet manual

auto eth1:1
iface eth1:1 inet manual

auto br1
iface br1 inet static
        address 192.168.1.2
        netmask 255.255.255.0
        network 192.168.1.0
        gateway 192.168.1.1
        dns-nameservers 8.8.8.8
        bridge_ports eth1
        bridge_fd 9
        bridge_hello 2
        bridge_stp on

auto br2
iface br2 inet manual
        bridge_ports eth1:1
        bridge_fd 9
        bridge_hello 2
        bridge_stp on

Не хочет поднимать интерфейс eth1:1
Причем тоже не совсем понимаю как в данном случае заставить разделять пакеты.
На сколько я понимаю надо идти в сторону маршрутизации относительно подсетей в нужный гейтвей, но опыта и смекалки не хватает.

  • Маршрутизация нескольких виртуальных машин, !*! PavelR, 06:04 , 28-Ноя-13 (1)
    Забываем про бриджи, читаем "линукс и два провайдера".
  • Маршрутизация нескольких виртуальных машин, !*! 1, 08:46 , 28-Ноя-13 (3)
    > Не хочет поднимать интерфейс eth1:1

    и не должен, попробуй замени:

    auto eth1
    iface eth1 inet manual
      up ifconfig $IFACE up

    auto eth1:1
    iface eth1:1 inet manual
      up ifconfig $IFACE up

    manual не поднимает интерфейс, поднимаешь его ручками.

    br2 тебе не нужен совсем (и по идее eth1:1) потому что
    > Причем тоже не совсем понимаю как в данном случае заставить разделять пакеты.

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

    если у тебя 1 шнурок, а не два, то они сами разрулят по арпу и указанному в каждой машине default gw, если 2 шнурка или vlan'а то да тут уже 2 бриджа...

  • Маршрутизация нескольких виртуальных машин, !*! pavel_simple, 10:34 , 28-Ноя-13 (5)
    >[оверквотинг удален]
    > auto br2
    > iface br2 inet manual
    >         bridge_ports eth1:1
    >         bridge_fd 9
    >         bridge_hello 2
    >         bridge_stp on
    > Не хочет поднимать интерфейс eth1:1
    > Причем тоже не совсем понимаю как в данном случае заставить разделять пакеты.
    > На сколько я понимаю надо идти в сторону маршрутизации относительно подсетей в
    > нужный гейтвей, но опыта и смекалки не хватает.

    для того чтобы получить:
    1. тырнет на хост системе
    2. тырнет через бридж на 2 виртуалках
    нам понадобяться

    2 tap интерфейса со стороны kvm
    2 eth интерфейса со стороны хост системы
    и на выбор либо весить 192.168.1.2 на eth1 либо на bridge

    этого
    ip li ad li eth1 name v0 type macvlan
    ip li ad li eth1 name v1 type macvlan
    ip a a 192.168.1.2/?? dev eth1
    ip li set v0 up
    ip li set v1 up
    brctl addbr br0
    brctl addbr br1
    brctl addif br0 v0
    brctl addif br1 v1
    tunctl -u юзер_из_под_которjго_запущаем_первую_виртуалку
    tunctl -u юзер_из_под_которjго_запущаем_вторую_виртуалку
    ip li set tap0 up
    ip li set tap1 up
    brctl addif br0 tap0
    brctl addif br1 tap1
    kvm запускаем с опцией
    -net tap,ifname=tap0??1,script=/bin/true,downscript=/bin/true
    настраиваем ip внутри виртуалок

    проверяем

    фиксируем простыню в /etc/network/interfaces по человичачи.

    • Маршрутизация нескольких виртуальных машин, !*! AJesus, 15:22 , 28-Ноя-13 (6)
      >[оверквотинг удален]
      > tunctl -u юзер_из_под_которjго_запущаем_вторую_виртуалку
      > ip li set tap0 up
      > ip li set tap1 up
      > brctl addif br0 tap0
      > brctl addif br1 tap1
      > kvm запускаем с опцией
      > -net tap,ifname=tap0??1,script=/bin/true,downscript=/bin/true
      > настраиваем ip внутри виртуалок
      > проверяем
      > фиксируем простыню в /etc/network/interfaces по человичачи.

      Изьянов вроде не вижу, сегодня ночью попробую воткнуть, главное связь до сервера не потерять :), а то дата-центр пока КВМ не подцепил

      • Маршрутизация нескольких виртуальных машин, !*! Дядя_Федор, 17:21 , 29-Ноя-13 (7)
        > Изьянов вроде не вижу, сегодня ночью попробую воткнуть, главное связь до сервера
        > не потерять :), а то дата-центр пока КВМ не подцепил

        Лучше скриптом это проделать. Временно? как бы с возвращением через sleep N "взад". Чтобы потом не было "мучительно больно". :) Проверили - работает, значит все гуд. Не работаем, через N (минут/секунд), после появления связности пытаемся понять, в чем косяк.

        • Маршрутизация нескольких виртуальных машин, !*! KobaLTD., 18:56 , 02-Дек-13 (8)
          >> Изьянов вроде не вижу, сегодня ночью попробую воткнуть, главное связь до сервера
          >> не потерять :), а то дата-центр пока КВМ не подцепил
          >  Лучше скриптом это проделать. Временно? как бы с возвращением через sleep
          > N "взад". Чтобы потом не было "мучительно больно". :) Проверили -
          > работает, значит все гуд. Не работаем, через N (минут/секунд), после появления
          > связности пытаемся понять, в чем косяк.

          Или Я чегото не понимаю или вы не так описали задачу
          есть 1 интерфайт на котором можно юзать 3 реальных ip - какая задача стоит????
          Прокинуть до каждой виртуаки свой реальный ip?
          юзать 1 реальный ip на хосте 2 на виртуалке?
          юзать все 3 ip на хосте, но приэтом каждая виртуалка должна натиться через свой канал?
          Дайте больше информации - чего в итоге надо добаиться

          • Маршрутизация нескольких виртуальных машин, !*! AJesus, 21:46 , 06-Дек-13 (9)
            >[оверквотинг удален]
            >> работает, значит все гуд. Не работаем, через N (минут/секунд), после появления
            >> связности пытаемся понять, в чем косяк.
            > Или Я чегото не понимаю или вы не так описали задачу
            > есть 1 интерфайт на котором можно юзать 3 реальных ip - какая
            > задача стоит????
            > Прокинуть до каждой виртуаки свой реальный ip?
            > юзать 1 реальный ip на хосте 2 на виртуалке?
            > юзать все 3 ip на хосте, но приэтом каждая виртуалка должна натиться
            > через свой канал?
            > Дайте больше информации - чего в итоге надо добаиться

            1 же написал - 1 реальный ИП остается на хостовой машине
            и 2 виртуалки - каждая со своим ИПом


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

            • Маршрутизация нескольких виртуальных машин, !*! AJesus, 23:19 , 06-Дек-13 (10)
              >[оверквотинг удален]
              >> Прокинуть до каждой виртуаки свой реальный ip?
              >> юзать 1 реальный ip на хосте 2 на виртуалке?
              >> юзать все 3 ip на хосте, но приэтом каждая виртуалка должна натиться
              >> через свой канал?
              >> Дайте больше информации - чего в итоге надо добаиться
              > 1 же написал - 1 реальный ИП остается на хостовой машине
              > и 2 виртуалки - каждая со своим ИПом
              > Попробовал предлагаемый вариант, вылезла куча ошибок, умудрился перезагрузиться после
              > чего у провайдера упал КВМ, пробовать еще раз пока боюсь, чтобы
              > подробнее посмотреть что были за ошибки, пока не восстановят КВМ.

              Все тема закрыта
              Маршрутизация не понадобилась

              Сделал следующим образом

              auto eth1
              iface eth1 inet manual

              auto br1
              iface br1 inet static
                      address 192.168.2.2
                      netmask 255.255.255.0
                      network 192.168.2.0
                      gateway 192.168.2.1
                      dns-nameservers 8.8.8.8
                      bridge_ports eth1
                      bridge_fd 9
                      bridge_hello 2
                      bridge_stp on

              А на виртуальных машинах я использовал 192.168.1.2 и 192.168.1.3
              в результате хостовая машина бегает по одному гейту, а обе виртуалки по второму

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




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру