Я собираюсь заказать мощный сервер для виртуализации. Я планирую запустить debian с KVM + QEMU для виртуализации и аппаратным RAID6 для хранения виртуальных машин. Я также хотел бы иметь возможность использовать один и тот же IP-адрес для маршрутизации к разным виртуальным машинам, в зависимости от таких вещей, как домен или порт, поскольку мой провайдер совместного размещения берет дополнительную плату за каждый дополнительный IP-адрес, который мне нужен.
Каковы лучшие практики для этого? Или у вас есть общие советы и рекомендации по настройке такого рода? Я предполагаю, что мне нужен какой-то брандмауэр для выполнения маршрутизации, но должен ли я создать мостовое устройство, подключенное к физическому интерфейсу, для подключения виртуальных машин, или мне следует придерживаться виртуального моста, который создается автоматически?
Любая помощь приветствуется!
Прошу прощения, если этот вопрос слишком общий, но я не знал, где еще его разместить.
Держите свои гостевые сетевые интерфейсы с частными IP-адресами во внутреннем мосту, настройте iptables
на хосте к NAT порт на его внешнем интерфейсе, к IP и порту внутреннего моста.
Например, предположим, что IP-адрес вашего хоста 1.2.3.4
. Установите мост (назовем его virbr0
) и дайте хосту IP в этом мосту, например 192.168.0.1/24
. Когда вы создаете нового виртуального гостя, подключите его сетевой интерфейс к virbr0
и дайте гостевой ОС IP-адрес в 192.168.0.0/24
. На хосте создайте NAT, который направляет что-то вроде 1.2.3.4:10022
к 192.168.0.10:22
. Чтобы использовать ssh для этого гостя извне, вы отправляете ssh на внешний порт хоста.
Вам также понадобится правило исходящего NAT, чтобы гости использовали 192.168.0.1
в качестве шлюза по умолчанию, и хост принимает любые запросы от гостей и преобразует их через внешний интерфейс.
Входящий NAT (называемый DNAT) покрывается по адресу:
Исходящий NAT (называемый MASQUERADE) покрывается по адресу:
Если вы планируете использовать libvirt для управления kvm, прочтите Red Hat Руководство администратора виртуализации (RHEL 6) или Руководство по развертыванию и администрированию виртуализации (RHEL 7). Будет полезно даже в Debian.
Я полагаю, что отказ от моста и использование сети только для хоста с маршрутизацией упрощает понимание конфигурации.
Если гости являются системами Linux, я рекомендую настроить их с помощью последовательной консоли (доступ к которой можно получить с помощью virsh console $domain
).