1

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

#IP addresses are examples, actual server has public IPs
auto eth0
iface eth0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    gateway 192.168.1.1
    network 192.168.1.0

auto eth0:0
iface eth0:0 inet static
    address 192.168.1.11
    netmask 255.255.255.0

auto eth0:1
iface eth0:1 inet static
    address 192.168.1.12
    netmask 255.255.255.0

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

1 ответ1

1

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

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

Вы создаете мост в файле /etc /networks /interfaces, как показано ниже:

auto lo br0 eth0

iface lo inet loopback

iface br0 inet static
        bridge_ports eth0
        address 192.168.1.10
        netmask 255.255.255.0
        gateway 192.168.1.1

Это создаст новый мост при запуске сетевого стека (например, при загрузке), добавит к нему ваш интерфейс и предоставит мосту IP-адрес хоста. Здесь вы можете увидеть мост:

$ brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.60a4ecf28d84       no              eth0

Вы можете обращаться с интерфейсом br0 так же, как с интерфейсом eth0, который он содержит.

Затем в гостевых конфигурационных файлах у вас есть строка вроде:

vif = ['bridge=br0, mac=00:16:3E:12:16:19']

Это говорит: «дайте этой виртуальной машине виртуальный интерфейс и добавьте его к мосту br0, и дайте ему следующий mac».

Обратите внимание, что установка MAC-адреса здесь не требуется, но я предпочитаю, чтобы я мог использовать DHCP для назначения статического IP-адреса гостям - таким образом, мне не нужно жестко кодировать любые IP-адреса, кроме хоста ( и DHCP-сервер, который в моем случае является самой виртуальной машиной).

Затем в гостевой системе вы просто настраиваете его так же, как на любой другой машине с Linux:

auto eth0
iface eth0 inet static
    address 192.168.1.11
    netmask 255.255.255.0
    gateway 192.168.1.1

Обратите внимание, что это в конфигурации сети гостевой машины.

Когда вы включите виртуальную машину, вы увидите, что мост теперь имеет два интерфейса:

$ brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.60a4ecf28d84       no              eth0
                                                        vif1.0

Этот vif1.0 является виртуальным интерфейсом гостя. Теперь гость сможет пропинговать шлюз и общаться так же, как если бы он был напрямую подключен к вашей сети с помощью небольшого количества кабеля.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .