Я хочу выполнить миграцию сервера BSD с физического на виртуальный, сохранив IP-адрес. Целевой виртуальный хост - Linux / KVM.
Текущая установка: у меня был сервер BSD с отказавшим оборудованием. Я только что заменил его новым сервером, а его HardWare слишком новое, чтобы BSD могла использовать его напрямую.
Итак, у меня Linux на новом сервере, и я хочу переместить BSD в виртуализацию с помощью KVM.
У меня есть полный дамп жесткого диска старого сервера.
Проблема в том, что у меня только единственный реальный IP-адрес, и я должен использовать этот IP-адрес как в гостевой, так и в хост-системе.
Я хочу использовать гостевой IP-адрес, потому что это почтовый сервер, и я хочу, чтобы мой реальный IP-адрес использовался в заголовках почты.
Использование IP на хосте связано с тем, что у меня нет другого IP.
TCP-сервисы машин:
Порты 22,25,53,110 будут просто перенаправлены от хоста к гостю с помощью iptables. Если возможно, я бы также перенаправил гостевой DNS-сервер в realIP.
Как мне настроить сеть KVM и libvirt для достижения одинакового использования IP в гостевой и на хосте?
Ух ... это НЕ рекомендуемый способ делать что-то, но то, что должно работать, будет:
Это запутанно и некрасиво, но, вероятно, сработает. Таким образом, реальный IP-адрес может отображаться, например, в заголовках писем, и гость будет думать, что это владелец настоящего IP-адреса.
Для этого:
Это единственное, что я могу придумать для достижения того, чего вы хотите, у вас не может быть двух физических или виртуальных машин с одним и тем же IP-адресом.
Вам нужен хост на IP-адресе только для целей управления?
Вы можете рассмотреть что-то вроде этой установки:
В зависимости от вашей платформы виртуализации это может потребовать разного объема работы. Я сделал что-то похожее на это для брандмауэра хоста ESXi, доступного к общедоступному IP-адресу, когда у меня не было доступа к аппаратному брандмауэру (размещая виртуальную машину на общедоступном IP-адресе, хост ESXi доступен только через сеть vswitch).
ОЧЕНЬ ВАЖНО. При такой настройке вам потребуется подключиться через виртуальную машину BSD, чтобы выполнять удаленное обслуживание самого хоста. Если у хоста возникли проблемы и вы потеряли соединение, вам потребуется доступ KVM для решения. Тоже не очень хорошее решение.
[РЕДАКТИРОВАТЬ] Я только что понял, что snap опубликовал этот же ответ надо мной - упс, я не прочитал все сообщения, прежде чем ответить ... Я добавлю +1 к его сообщению.
Вместо того, чтобы настраивать хост с реальным IP и гостем с частным IP, вы можете сделать наоборот: настроить гостя с реальным IP (потому что он запускает службы) и настроить частную сеть между хостом и гостем. Хосту не обязательно иметь (реальный) IP-адрес, привязанный к интерфейсу моста, который соединяет реальный сетевой интерфейс с гостем. Для доступа к хосту вам нужно сначала пройти через гостя.
Преимущество этого решения в том, что вам не нужен NAT, и, таким образом, ваш гость может без проблем запускать любые протоколы и без настройки правил NAT на хосте. Другое дело, что ваш хост будет более безопасным, потому что он не будет доступен напрямую из Интернета.
Обратной стороной является то, что если ваш гость не работает, вы не можете использовать его для подключения к хосту для устранения проблемы. Это может быть проблемой, если у вас нет другого способа получить доступ к машине, например, у хостинг-провайдера. Использование IP-KVM для доступа к хосту в чрезвычайных ситуациях может быть решением для удаленного доступа в этом случае.