Найти в Дзене
DeSoft.ru

Настраиваем Simple SDN для изоляции виртуальных хостов в Proxmox

В Proxmox версии 8.1 была добавлена поддержка SDN (Software Defined Networks) или программно-определяемые сети. SDN работает на программном уровне и обеспечивает централизованный контроль и управление сетью, что привносит гибкость в принятии решений при построении и обслуживании виртуальной инфраструктуры. Лишнего сетевого оборудования в наличии не осталось, да и сетевая карта на тестовом сервере только одна, так что решил опробовать SDN для изоляции нескольких групп виртуальных машин и контейнеров друг от друга в рамках всего одной ноды. 🔹 Ставим сетевой пакет для поддержки SDN (по умолчанию установлен на версиях 8.1 и выше) apt update
apt install libpve-network-perl Проверяем наличие следующей записи в конце конфигурационного файла /etc/network/interfaces source /etc/network/interfaces.d/* 🔹 Для поддержки DHCP в SDN Proxmox использует dnsmasq. Устанавливаем и отключаем сервис по умолчанию. apt install dnsmasq
systemctl disable --now dnsmasq 🔹 Перезагружаемся. Проверяем наличие раз
Оглавление

В Proxmox версии 8.1 была добавлена поддержка SDN (Software Defined Networks) или программно-определяемые сети. SDN работает на программном уровне и обеспечивает централизованный контроль и управление сетью, что привносит гибкость в принятии решений при построении и обслуживании виртуальной инфраструктуры.

Лишнего сетевого оборудования в наличии не осталось, да и сетевая карта на тестовом сервере только одна, так что решил опробовать SDN для изоляции нескольких групп виртуальных машин и контейнеров друг от друга в рамках всего одной ноды.

📌 Установка

🔹 Ставим сетевой пакет для поддержки SDN (по умолчанию установлен на версиях 8.1 и выше)

apt update
apt install libpve-network-perl

Проверяем наличие следующей записи в конце конфигурационного файла /etc/network/interfaces

source /etc/network/interfaces.d/*

🔹 Для поддержки DHCP в SDN Proxmox использует dnsmasq. Устанавливаем и отключаем сервис по умолчанию.

apt install dnsmasq
systemctl disable --now dnsmasq

🔹 Перезагружаемся. Проверяем наличие раздела SDN в параметрах дата-центра proxmox.

📌 Создание виртуальной сети

Для рассматриваемого случая мне достаточно было настроить самый простой вариант сети на базе изолированного моста.

🔹 Идем в раздел SDN - Zones и добавляем новую зону типа Simple.

  • В advanced не забываем проставить галочку automatic DHCP, если ожидаем работу DHCP-сервера в заданной сетевой зоне.
-2

🔹 В разделе SDN - VNets добавляем новую сеть в созданную ранее зону.

  • Тут же станет доступной опция создания подсети в соседнем окне. Задаем адрес сети и шлюз (в моем случае 192.168.50.1/24 и 192.168.50.1).
  • Для того, чтобы хосты подсети имели доступ в интернет, включаем SNAT (Source-NAT).
  • На вкладке DHCP Ranges можно настроить диапазон назначаемых адресов.
-3

🔹 В разделе SDN применяем все внесенные изменения (Apply). Новая зона появится в списке SDN сетей, а для подключения к виртуальной сети в списке устройств станет доступен новый мост с именем этой сети.

-4

📚 Дополнительные материалы по теме

P. S. В качестве альтернативы для такой простой задачи можно было использовать логическую сегментацию с помощью VLAN. Достаточно добавить vlan теги в параметрах своего роутера, включить vlan aware и указать теги vlan в параметрах сетевого оборудования виртуалок, что позволит быстро и просто разграничить доступ.

Больше полезной информации в моем Telegram-канале.