Несколько IP-адресов на виртуальной машине Xen с мостовым соединением

Несколько IP-адресов на виртуальной машине Xen с мостовым соединением

Хотя я и новичок в XEN (работает под Ubuntu 14.04), у меня не было никаких серьезных проблем до сих пор. Я настроил свою сеть с помощью моста, и это хорошо работало на многих разных машинах до сих пор. Обычно я могу найти ответы где-то, но на этот раз я не смог найти их и ищу помощь.

У меня есть клиентская VM (DomU), которую я пытаюсь настроить с большим количеством IP-адресов, и это доставляет мне много хлопот. Вот настройка:

Хост-машина имеет две сетевые карты, одна используется для частного (10.10.10.x) xenbr0, а другая просто подключена как мост для публичного IPS (например, xyz*) xenbr1:

Ниже представлен мой /etc/networking/interfacesфайл с хоста:

iface eth0 inet manual
auto xenbr0
iface xenbr0 inet static
    bridge_ports eth0
    address 10.10.10.112
    netmask 255.255.255.0
    network 10.10.10.0
    broadcast 10.10.10.255
    gateway 10.10.10.1

auto eth1
iface eth1 inet manual
auto xenbr1
iface xenbr1 inet manual
       bridge_ports eth1
       bridge_maxwait 1

В клиентской виртуальной машине также используются два сетевых адаптера /etc/networking/interfaces:

auto eth0
iface eth0 inet  static
    address x.y.z.170
    netmask 255.255.255.240
    broadcast x.y.z.175
    gateway x.y.z.161

auto eth1
iface eth1 inet static
    address 10.10.10.155
    netmask 255.255.255.0
    broadcast 10.10.10.255
auto eth0:1                    
iface eth0:1 inet static       
        address x.y.z.162      
        netmask 255.255.255.240
        broadcast x.y.z.175    
auto eth0:2                    
iface eth0:2 inet static       
        address x.y.z.163      
        netmask 255.255.255.240
        broadcast x.y.z.175    
auto eth0:3                    
iface eth0:3 inet static       
        address x.y.z.164      
        netmask 255.255.255.240
        broadcast x.y.z.175    
etc…. up to 8 alaises.    

В моем конфигурационном файле xen есть: vif = [ 'bridge=xenbr0', 'bridge=xenbr1' ]

Я планирую удалить локальные IP-адреса из виртуальной машины, как только все будет настроено и заработает.

Я использую псевдонимы, так как пытаюсь перенести это с машины на голое железо на машину виртуальной машины. В конце концов, чрезмерное использование IPS будет решено, но по разным причинам я пока не могу этого сделать. В любом случае, когда я загружаю виртуальную машину, только несколько IP-адресов пингуются, если я не делаю arping -U -I eth1 x.y.z.162и т. д. для каждого IP-адреса. Тогда, по крайней мере, все отвечает, но маршрутизация работает некорректно. Я могу использовать ssh и просматривать IP-адреса через http, но виртуальные сайты работают неправильно (т. е. он отправляет меня только на один и игнорирует другие), а перезапуск bind и некоторых других служб не отвечает правильно. Как будто маршрутизация настроена неправильно, и хотя IP-адреса отвечают, на самом деле отвечает не запрошенный IP, а другой IP.
Однако это происходит только на НЕКОТОРЫХ дополнительных IPS. Когда я перезагружаюсь, маршрутизация, исправленная командой arp, теряется. Затем Bind и несколько других служб на виртуальной машине не работают. Я выполняю команду arp, и все снова работает.
Я думаю, что arping — это просто пластырь, но не решение настоящей проблемы. Поскольку та же самая система работает на машине без ОС, я почти уверен, что проблема в настройках моей сети XEN, а не в настройках коммутатора или ОС, которую я пытаюсь перенести.

Чтобы еще больше локализовать проблему, я настроил чистую гостевую систему Ubuntu 14.04 с несколькими IP-адресами, используя более современную (и не устаревшую настройку IP-алиасинга) настройку, показанную ниже в /etc/networking/interfacesфайле VMs:

 auto eth0
allow-hotplug eth0
iface eth0 inet static
      address x.y.z.110
      netmask 255.255.255.240
      broadcast x.y.z.175
      gateway x.y.z.161
iface eth0 inet static
      address x.y.z 162
      netmask 255.255.255.240
      broadcast x.y.z.175
iface eth0 inet static
      address x.y.z 163
      netmask 255.255.255.240
      broadcast x.y.z.175
   and on with the other IPS

Все с тем же результатом. Что я упускаю? Любая помощь будет оценена.

решение1

Я выяснил, в чем моя проблема, и публикую ее здесь на случай, если кто-то столкнется с похожей проблемой.

В своей конфигурации Xen я не прописал MAC-адрес. IE у меня было:

vif = [ 'bridge=xenbr0', 'bridge=xenbr1' ]

Когда мне было нужно что-то вроде:

vif = [ 'bridge=xenbr0', 'mac=00:11:5e:5n:2c:1c,bridge=xenbr1' ]

Маршрутизация для MAC-адреса не истекла сразу, поэтому запуск этой команды ARP для каждого IP-адреса исправил маршрутизацию: arping -U -I eth1 x.y.z.162

Я предполагаю, что каждый раз, когда загружалась виртуальная машина, у нее был новый MAC-адрес, и только некоторые таблицы маршрутизации обновлялись при загрузке виртуальной машины.

Теперь, когда MAC-адрес не меняется, все хорошо.

решение2

Попробуйте поменять конфигурации интерфейсов в DomU. Согласно вашей конфигурации Dom0, вы должны использовать eth0 для частных и eth1 для публичных IP-адресов в вашем DomU.

Связанный контент