Создание виртуальной сети для гостей KVM, охватывающих несколько хост-машин

У меня есть 5 реальных машин под управлением Ubuntu 14.04, все они находятся вместе в сети. Они все имеют статические IP-адреса. Каждая из этих машин имеет 1 - 4 виртуальных машины через KVM/QEMU под управлением Ubuntu 14.04. Мне разрешают использовать DHCP для получения нестатического адреса для всех виртуальных машин в физической сети. Но для моих распределенных программных средств, мне нужны все виртуальные машины, чтобы иметь статические IP-адреса в виртуальной сети (поскольку я не могу добраться больше в физической сети). Эта виртуальная сеть должна однако охватить всех гостей на всех виртуальных машинах. Кроме того, одна из виртуальных машин должна также иметь статический адрес в физической сети.

Мне удалось создать виртуальную сеть в единственном хосте ко всем виртуальным машинам, таким образом, они могут иметь статического дюйм/с там, но если я сделаю это на хост, то это не будет работать. Я также создал мостовой интерфейс для статического IP в физической сети на одной из виртуальных машин.

Это - моя желаемая схема:

123.45.144.0/28 (physical network)
192.168.0.0/16 (virtual network for all the vms)

123.45.147.3 (host)
    192.168.122.101, 123.45.147.49 (vm)
    192.168.122.102 (vm)
    192.168.122.103 (vm)
    192.168.122.104 (vm)

123.45.147.4 (host)
    192.168.122.105 (vm)

123.45.147.5 (host)
    192.168.122.106 (vm)

123.45.147.6 (host)
    192.168.122.107 (vm)
    192.168.122.108 (vm)

123.45.147.7 (host)
    192.168.122.109 (vm)
    192.168.122.110 (vm)

Вот выводы ifconfig:

Один из хостов:

eth0      Link encap:Ethernet  HWaddr 5c:f9:dd:75:07:72  
          inet addr:123.45.147.3  Bcast:123.45.151.255  Mask:255.255.248.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

virbr0    Link encap:Ethernet  HWaddr 52:54:00:bd:2b:39  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

Виртуальная машина, которая имеет и мостовой интерфейс (eth1) и интерфейс для виртуальной сети (eth0)

eth0      Link encap:Ethernet  HWaddr 52:54:00:59:2d:c8  
          inet addr:192.168.122.101  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth1      Link encap:Ethernet  HWaddr 52:54:00:4d:d0:59  
          inet addr:123.45.147.49  Bcast:123.45.151.255  Mask:255.255.248.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

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

2
задан 27 June 2015 в 13:58
2 ответа

Если у вас есть отдельный интерфейс ethX в системе с подключением к физической сети, создайте второй мост на этом интерфейсе. Затем вы можете настроить физический адрес на этом виртуальном мосту.

Статический адрес можно настроить на виртуальной машине. Это упрощает поддержание стабильного адресного пространства.

0
ответ дан 3 December 2019 в 14:41

Когда вы создаете виртуальную сеть на каждом хосте, обратите внимание, что ifconfig показывает "virbr0" как имеющий адрес "192.168.122.1". Попробуйте отредактировать файл конфигурации виртуальной сети на каждом хосте после создания виртуальной сети так, чтобы «virbr0» содержал другой IP-адрес (например, 192.168.122.2 на хосте 2, 192.168.122.3 на хосте 3, 192.168.122.4 на хосте 4, 192.168. 122,5 на хосте 5).

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

Возможно, вам придется включить пересылку пакетов, чтобы эта работа работала

sudo sysctl net.ipv4.ip_forward = 1

0
ответ дан 28 March 2020 в 22:50

Теги

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