Как создать сеть только для хоста и Интернета внутри хоста Debian и гостя Windows Server с помощью KVM / QEMU?

У меня есть физический / выделенный сервер, на котором работает Debian 9 (Stretch). На сервере достаточно ресурсы для поддержки собственной нагрузки и нагрузки некоторых виртуальных машин (в этом вопросе: Windows Server 2016 Standard edition).

Чтобы упростить этот вопрос, я буду использовать хост Debian для ссылки на физический / выделенный сервер, на котором работает Debian 9 (Stretch) и виртуальная машина Windows для обозначения (в настоящее время не реализованной) виртуальной машины Windows Server 2016 Standard edition, которая работает на хосте Debian .

Хост Debian использует KVM / QEMU / virsh для обеспечения возможности виртуализации и ее конфигурации. На хосте Debian в настоящее время не настроены никакие виртуальные машины (или сети). На хосте Debian есть только одна физическая сетевая карта (NIC), которая сопоставлена ​​с сетевым интерфейсом eth0 . Сам хост Debian предоставляет различные услуги, которые также должен предоставлять хост Debian, когда на нем размещаются дополнительные виртуальные машины.

Хост Debian должен (объем этого вопроса) размещать одну виртуальную машину Windows. Хост Debian и его службы должны иметь доступ к виртуальной машине Windows через частную сеть / адрес IPv4. Виртуальная машина Windows должна иметь доступ к хосту Debian через ту же сеть IPv4 (частный IPv4-адрес хоста Debian).Виртуальная машина Windows не должна быть доступной через общедоступную сеть / адрес IPv4 или IPv6. Виртуальная машина Windows должна иметь доступ к Интернету (исходящие соединения). Виртуальной машине Windows не не должна быть назначена общедоступная сеть / адрес IPv4 или IPv6. Прокси-сервер на хосте Debian должен проксировать определенные входящие соединения на частный IPv4-адрес виртуальной машины Windows.

Хост Debian должен также (актуально для этого вопроса) иметь возможность размещать дополнительные виртуальные машины (другие экземпляры Debian). Все виртуальные машины на хосте Debian должны быть изолированы друг от друга. Это означает, что хост Debian может подключаться ко всем виртуальным машинам, все виртуальные машины могут подключаться к хосту Debian и Интернету, но виртуальные машины не могут подключаться друг к другу (напрямую).

Я нашел некоторые концепции организации сети виртуальных машин. Однако мне не удалось найти решение, соответствующее моим потребностям. Самая близкая (но не совпадающая) концепция, которую я смог найти, была: Мостовая сеть . Таким образом, виртуальная машина Windows будет подключена «к Интернету». Это нежелательно. Другие концепции (NAT, только хост) либо не разрешают Хост -> Гость , либо Гость -> Интернет доступ.

Мой вопрос: запланирован ли мой проект сети возможно с одним виртуальным сетевым адаптером? Как реализовать такой дизайн сети с помощью KVM / QEMU на хосте Debian и виртуальной машине Windows?

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

0
задан 12 April 2019 в 16:54
1 ответ

Стандартный «частный» сетевой стек, поставляемый с KVM (dnsmasq), позволяет вам это делать, по умолчанию это частная подсеть 192.168.122.0/24. Весь ваш трафик виртуальной машины выводится с хоста через NAT и выглядит снаружи, как если бы это был общедоступный IP-адрес вашего хоста (как маршрутизатор). Если вы используете virt-manager, вы можете просто перейти к сведениям о хосте и подготовить дополнительные частные сети, а затем присоединить сетевой интерфейс новой виртуальной машины к подсети, которую вы для него определили.

1
ответ дан 4 December 2019 в 15:43

Теги

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