LINUX.ORG.RU
ФорумAdmin

Как лучше отдавать трафик виртуалкам?

 , ,


0

1

В прошлом треде [Как взломать компьютер без адреса в сети?] мне указали на ошибки, что затея вобщем-то фейловая. Хотя изначально, вот прям в самом-самом начале, я планировал что будет виртуалка получать IP и сидеть в интернете, а другие виртуалки по соседству будут пускать различные сервисы, ну а хост-система вообще никак в этом деле не участвовать, тобишь даже локального доступа из какой-то виртуалки на хост быть не должно. Тогда хост выполняет роль «танка». Да.

В общем ладно. Вернёмся к тому с чего начали. Пусть хост сидит в интернете и сам тогда раздаёт интернет виртуалкам.

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

               ----------
              | Интернет |
               ----------
                   |
                   |
                --------
               |  ПеКа  | 192.168.0.1
                --------
                   |
                   | 192.168.0.0/24 br0
       ____________|_______________
      |            |               |
  ----------     ----------     ---------
 |          |   |          |   |         |
 |   ПеКа   |   |   ПеКа   |   |   KVM   |
 |          |   |          |   |         |
  ----------     ----------     ---------
                                    |
  192.168.0.2    192.168.0.3    192.168.0.4
                                    |
                                ----------
                               |          |
                               |    VM    |
                               |          |
                                ----------
                                192.168.0.5 tap0 master br0

Первый вариант

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 192.168.0.5:80

Когда мы тупо форвардим всё как есть со своего порта на порт нужного хоста. Работает на уровне ядра и всё круто.

Второй

iptables -t nat -A PREROUTING -p tcp --dport 1:65535 -j REDIRECT --to-ports 80

Форвардить весь трафик на 80 порт нашего же хоста, а у нас будет крутиться nginx который в зависимости от... будет сам форвардить сырой трафик далее к нужным виртуалкам. Работает на уровне пользователя, чуть помедленее, но например, на этом уровне можно настроить обработку SSL-сертификатов, чтобы это делал nginx, а далее к виртуалкам уже пропускал чистый трафик... Из этого метода можно извлечь свои плюшки, nginx может балансировать трафик и кучу всякого такого.

Третий

Ваш вариант, предложите как лучше форвардить трафик на виртуалки. Спасибо.

★★★★★

pfsense в виртуалку поставь, и с него раздавай.
И на хост, и на виртуалки, и на пк.

anonymous
()

Сначала полез отвечать, потом посмотрел ник автора...

dhameoelin ★★★★★
()

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

тогда зачем вы присвоили ип адрес br0 ?

лучше тогда сделать влан для виртуалок и прокинуть его до роутера.

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

слишком увлёкся настройкой и хотелось поскорее заставить это работать, хоть как.

linux bridge ерунда какая-то, он просто так отваливается. я вообще думал что это должно работать как обычный свич с кучей портов, но видимо не просто так оно называется «мостом о двух концах».

[32676.420905] device tap2 left promiscuous mode
[32676.420915] br0: port 3(tap2) entered disabled state

echo 1 > /sys/class/net/br0/bridge/stp_state никак не помогает. br0 фризится и всё, виртуалка на пинги перестаёт отвечать. а хост из виртуалки видно.

видимо придётся всерьёз обратить внимание на openvswitch, который требует кучу зависимостей а-ля python, либо каким-то другими путями ещё связывать между собой эти виртуалки. :| или тупо hostfwd использовать, не знаю ещё.

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

бл999999999999999999999999ть!

да, спасибо, вы правы.

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

да, спасибо бро, я тестирую. теперь тестирую. а то не мог понять ^^^ почему сеть не работает.

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