У нас есть небольшой блок статических IP-адресов (например, 203.0.113.0/29). В настоящее время мы используем только 203.0.113.2 для почтового сервера.
Мы хотели бы добавить несколько других общедоступных серверов и, если возможно, хотели бы иметь их как виртуальные машины под хостом KVM, который сам будет иметь общедоступный IP-адрес 203.0.113.1. Кроме того, узел KVM должен был бы служить Интернет-шлюзом и DHCP-сервером для нескольких виртуальных машин Windows, которые мы также хотели бы запустить (у которых были бы частные IP-адреса).
Вот схема того, на что я надеюсь:
Я никогда раньше не настраивал KVM. Я прочитал ряд статей о сетях KVM, включая мосты, DHCP и т. Д., Но я не понял, возможна ли эта комбинация и как я буду это делать?
Как я могу настроить KVM-хост, чтобы это работало? Спасибо всем, кто может помочь.
Возможно я неправильно понял ваши требования. Если виртуальные машины - единственные живые существа, стоящие за хостом KVM, конечно, нужен только один ник. virsh (клиент mgmt на основе cli) включен при установке libvirt вместе с другими инструментами virt-xxx. Таким образом, вы можете управлять всем через SSH с помощью этих инструментов или подключаться к virt-manager удаленно. Не думаю, что Ваша установка вообще очень необычна. стандартные инструкции. Виртуальные машины Windows будут иметь ник, подключенный к NAT по умолчанию, чтобы они могли общаться друг с другом и с хостом KVM. Остальные виртуальные машины будут подключены к интерфейсу br0. Таким образом, сетевая карта с выходом в Интернет будет подключена к br0, на котором настроен внешний IP-адрес. Как это будет сделано, зависит от вашего дистрибутива, но есть руководства для Ubuntu, Centos и т. Д. https://www.thegeekstuff.com/2014/10/linux-kvm-create-guest-vm или https://www.server-world.info/en/note?os=CentOS_7&p=kvm для centos, например, или для Ubuntu: https://www.server-world.info/en/note?os=Ubuntu_18.04&p=kvm&f=1
Я бы подумал о запуске DHCP на виртуальной машине под KVM, просто чтобы снизить вектор атаки из Интернета на хост KVM. Гораздо проще настроить брандмауэр, если он не предоставляет никаких других услуг, кроме KVM. Конечно, вам понадобятся два сетевых адаптера на хосте. Вы не говорите, зачем вам нужно открывать KVM-хост в Интернете с помощью 203.0.113.1, но я бы убедился, что iptables / firewalld настроен на удаление чего-либо с этого IP-адреса. Остальные серверы с общедоступным IP-адресом также должны будут использовать свой собственный демон межсетевого экрана.