Псевдоним IP для виртуальной машины

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

У меня есть напрокат сервер с одним сетевым адаптером и двумя реальными IP-адресами. Первый IP-адрес, 69.xxx.xxx.xxx, является фактическим IP-адресом сервера. Второй IP, 209.xxx.xxx.xxx, является псевдонимом IP. Интерфейс определяется следующим образом:

# loopback interface

auto lo
iface lo inet loopback

# ethernet interface

auto eth0
iface eth0 inet static
  address 69.xxx.xxx.xxx
  network 69.xxx.xxx.0
  netmask 255.255.255.0
  broadcast 69.xxx.xxx.255
  gateway 69.xxx.xxx.1

# virtual interfaces

auto eth0:0
iface eth0:0 inet static
name Ethernet alias LAN card
address 209.xxx.xxx.xxx
netmask 255.255.255.255

Адрес 69.xxx.xxx.xxx имеет веб-сервер и ряд работающих служб. Адрес 209.xxx.xxx.xxx является недавно приобретенным адресом. Это "пингует", как определено выше. У меня нет предыдущего опыта работы с псевдонимами IP, но, насколько я понимаю, адрес НЕ связан с сетью вообще. Нет широковещательной рассылки или шлюза, связанных с адресом.

Я пытаюсь установить продукт, который работает на виртуальной машине, размещенной на том же сервере. Я хочу, чтобы виртуальная машина была адресована по адресу 209.xxx.xxx.xxx. Предварительно созданная виртуальная машина на основе VMWare получает свой IP через DHCP. И хост, и виртуальная машина являются сервером Ubuntu 10.04. Я бы предпочел изменить виртуальную машину на использование статического IP-адреса 209.xxx.xxx.xxx, но не знаю, как его настроить, поскольку нет реальной сети / широковещательной передачи / шлюза. Когда я пытаюсь настроить dhcp3-сервер на хосте, он не запускается и выдает сообщение об ошибке: «Нет объявления подсети для eth0: 0 (0.0.0.0). ** Игнорирование запросов на eth0: 0». как будто интерфейс eth0: 0 не работает. Eth0: 0, однако, вверх.

Хост: Ubuntu 10.04 LTS версия сервера VM: VMWare Server 2.02, Guest Ubuntu 10.04 LTS версия сервера

Кто-нибудь знает, как настроить вышеописанный сценарий? Возможно ли это даже с помощью псевдонима IP?

1
задан 7 November 2012 в 01:21

2 ответа

Обычно вы делаете eth0 интерфейсом моста, определяете виртуальный интерфейс в VMWare для использования этого моста, а затем просто настраиваете статический IP-адрес 209.xyz в гостевой системе как обычно (то есть вам даже не нужно создавать псевдоним запись для 209.xyz на хосте).

Таким образом, ваш /etc/network/interfaces на хосте изменится на что-то вроде:

auto br0
iface br0 inet static
  address 69.xxx.xxx.xxx
  network 69.xxx.xxx.0
  netmask 255.255.255.0
  broadcast 69.xxx.xxx.255
  gateway 69.xxx.xxx.1
  bridge_ports eth0
  bridge_fd 2

Я не уверен точно, как вы настраиваете VMWare для использования br0, хотя (я использую KVM с libvirt сам), но я Я уверен, что это должно быть возможно.

0
ответ дан 7 November 2012 в 01:21

Из быстрого поиска в Интернете выясняется, что у VMPlayer есть проблемы с настройкой виртуального устройства в Ubuntu. KVM, по-видимому, может запускать образы VMWare. В любом случае, первая проблема, которую нужно решить, это настроить гостя на использование фиксированного адреса. После того, как вы узнали IP-адреса, все остальное можно сделать довольно просто.

Одним из решений было бы решить проблему с вашим новым статическим адресом, а затем использовать таблицы IP для передачи трафика DNAT на виртуальную машину. Такой инструмент, как Shorewall (доступный в виде пакета Ubuntu) сделает это просто. Документация Shorewall очень хорошо охватывает NAT.

Кроме того, вы можете переместить адрес на виртуальную машину по своему желанию. Замените 192.0.2.10 ниже на IP-адрес вашего виртуального сервера. Я бы добавил адрес в один из блоков частных адресов (10.0.0.0/8, 172.16.0.0/12 или 192.168.0.0/16). Я ожидаю, что ваш контейнер виртуального сервера будет использовать один из них по умолчанию. Если он устанавливает DHCP-сервер, вы можете добавить статический адрес в этой сети вне диапазона DHCP-адресов.

Переместите определение eth0:0 на виртуальный сервер. (Я считаю, что вам следует удалить строку name, которая может вызывать проблемы. В любом случае это не нужно.)

Направить трафик для 209.xxx.xxx.xxx на виртуальную машину с помощью команды:

ip route add 209.xxx.xxx.xxx via 192.0.2.10

Эту команду необходимо будет выполнить после создания сетевого устройства, используемого для виртуальной машины. Если вы можете создать сеть в своем файле /etc/network/interfaces, вы можете добавить ее как команду post-up.

Второй способ перемещения адреса состоял бы в том, чтобы настроить его как адрес «точка-точка» на виртуальной машине. Вы должны быть в состоянии использовать eth0:0 вместо eth0 в следующем. На виртуальном клиенте блок /etc/network/interfaces будет выглядеть следующим образом:

auto eth0
iface eth0 inet static
    address 209.xxx.xxx.xxx.xxx
    pointopoint 69.xxx.xxx.xxx
    netmask 255.255.255.255

Сеть точка-точка должна работать как маршрут по умолчанию, если у вас нет альтернативного маршрута по умолчанию. Я не проверял это. Однако, если у вас есть маршрут по умолчанию, он должен правильно обрабатывать трафик.

Вам понадобится маршрут «точка-точка». Команда, подобная этому маршруту, работает, если ваше сетевое устройство для виртуальной сети - br0. Используйте правильное устройство для вашего сервера.

ip route 209.xxx.xxx.xxx dev br0

Уилл Дэниелс прав в отношении использования устройства моста для сети виртуальных машин. Ваше устройство eth0 не нуждается в части моста. В моем случае я не могу подключить свое устройство eth0 к мосту, так как у меня несколько мостов. Я документирую мою Руководство по работе в сети для KVM . Если ваше устройство eth0 не подключено к мосту, вам необходимо включить переадресацию IP. (ShoreWall делает это для меня.) Вы должны иметь возможность безопасно создавать и удалять мостовые устройства, которые не подключены к вашему сетевому интерфейсу.

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

0
ответ дан 7 November 2012 в 01:21

Другие вопросы по тегам:

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