Действительно ли возможно иметь несколько виртуальных машин с тем же (гость) IP на том же хосте?

Решение, реализовывая блокировки:

function putlines () {
   read line || return $?
   while ! ln -s $$ lock >/dev/null 2>&1
   do
      sleep 0.05
   done
   echo "$line" 
}

function getlines () {
     while read lline
     do 
          echo "$lline"
          rm lock
     done
}

# your paralelized jobs  
(  
   job1 | putlines & 
   job2 | putlines & 
   job3 | putlines & 
   wait
) | getlines| final_processing

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

2
31.03.2015, 16:53
2 ответа

Простой ответ: нет. То, что вы пытаетесь сделать, с точки зрения сети, идентично попытке иметь несколько физических хостов с одним IP. Это не сработает.

1
27.01.2020, 22:00

Вы могли бы настроить NAT с каждой гостевой сетью в своей частной сети. Во-первых, вам нужно перестать соединять все их сетевые интерфейсы вместе (в конце концов, если все они подключены к одному коммутатору, они вряд ли находятся в своих собственных частных сетях).

Затем нужно настроить правила NAT, и возможно это сработает. Но, вероятно, нет - исходящий путь должен работать, но обратный путь - это проблема. Механизм NAT получает ответный пакет, возвращает его обратно к источнику 192.168.0.2 (или какому-либо другому). Затем он передает его на маршрутизацию... которая отправляет его куда? Все гости имеют один и тот же IP-адрес, все их интерфейсы имеют один и тот же адрес/маску подсети.

Поэтому нам нужно исправить маршрутизацию. К счастью, это можно сделать с помощью маршрутизации политик.

Если вы добавите -t mangle правила для каждого гостя (основанные на порте источника, например, vnet0 или любом другом), вы сможете пометить соединения. Затем вы можете направить ответ обратно (используя ip rule) на основе этой пометки.

Это много конфигурации, но как только вы заставите ее работать, она будет доступна для сценариев. Возможно, это сработает. Я не тестировал его. Разумно это или нет, ну... лично я бы попытался заставить DHCP работать правильно. Подумайте, что подумает следующий человек, которому придется его администрировать (а это вполне можете быть вы через несколько месяцев, когда вы забудете, как это работает)

.
3
27.01.2020, 22:00

Теги

Похожие вопросы