Пост

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

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

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

📌 Установка

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

1
2
apt update
apt install libpve-network-perl

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

1
source /etc/network/interfaces.d/*

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

1
2
apt install dnsmasq
systemctl disable --now dnsmasq

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

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

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

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

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

simple_sdn

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

simple_sdn

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

simple_sdn

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

simple_sdn

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

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

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