Класичний мережевий міст у Proxmox VE чудово працює, поки мереж небагато і налаштовує їх один адміністратор вручну на кожному вузлі. Щойно клієнтів чи проєктів стає десятки, ручна синхронізація конфігурації на всіх нодах перетворюється на джерело помилок. SDN переносить опис мережі до кластерної бази конфігурації і роздає її на всі вузли автоматично.
Навіщо потрібен SDN, якщо вже є мережеві мости
Software-Defined Networking у Proxmox VE додає рівень абстракції поверх фізичних інтерфейсів: адміністратор описує зони та віртуальні мережі один раз у вебінтерфейсі кластера, а Proxmox сам генерує конфігурацію для кожного вузла і застосовує її через ifreload. Це зручно для хостинг-провайдера, який видає клієнтам ізольовані VLAN без заходу на кожен гіпервізор по SSH.
Які типи зон доступні у Proxmox VE
| Зона | Ізоляція | Коли застосовувати |
|---|---|---|
| Simple | немає, спільний L3 сегмент | тестові стенди, одна NAT-мережа |
| VLAN | тегування 802.1Q | поділ фізичної мережі між орендарями |
| QinQ | подвійний VLAN-тег | провайдер із сотнями ізольованих клієнтів |
| VXLAN | інкапсуляція L2 поверх L3 | мережа без спільного комутатора між вузлами |
Для більшості сценаріїв хостингу віртуальних машин вистачить зони VLAN — вона простіша в діагностиці, ніж VXLAN, і не потребує підтримки multicast на комутаторах.
Як створити зону та VNet
Зона і віртуальні мережі налаштовуються у розділі Datacenter → SDN. Порядок дій:
- Створіть зону типу VLAN, вкажіть фізичний міст-аплінк, наприклад
vmbr0. - Додайте VNet з довільною назвою і номером VLAN tag, наприклад 120.
- Застосуйте зміни кнопкою Apply — конфігурація розійдеться на всі вузли кластера.
- Прив'яжіть VNet до мережевого інтерфейсу потрібної віртуальної машини замість звичайного моста.
Після застосування конфігурація з'являється у файлі /etc/pve/sdn/vnets.cfg і в інтерфейсах ip link на кожному вузлі як окремий VLAN-інтерфейс поверх аплінка.
Налаштування VLAN-транка на фізичному комутаторі
З боку комутатора порт, до якого підключено вузол Proxmox VE, має бути переведений у режим trunk із дозволеними VLAN ID, використаними в зоні SDN. Якщо комутатор пропускає лише access-порт, VNet із тегом просто не отримає трафіку — це найпоширеніша причина «мережа не працює» після налаштування SDN.
ip link show vmbr0.120
bridge vlan show
Команда bridge vlan show підтверджує, що потрібний VLAN ID справді піднято на інтерфейсі моста конкретного вузла.
Як перевірити зв'язність між віртуальними машинами
Після підключення двох VM до однієї VNet перевірте зв'язність звичайним пінгом і подивіться таблицю ARP на кожній стороні:
ping -c 4 10.20.0.2
ip neigh show
Якщо пінг не проходить, а інтерфейси підняті, перевірте збіг VLAN ID у зоні SDN і на порту комутатора, а також правила файрволу Proxmox VE на рівні вузла і віртуальної машини — він може блокувати трафік між мережами за замовчуванням.
SDN і кластер: що важливо на кількох вузлах
Конфігурація SDN зберігається у спільній базі /etc/pve і однакова для всіх вузлів кластера Proxmox VE, проте фізичний аплінк-інтерфейс на кожному вузлі потрібно назвати однаково — інакше застосування зони завершиться помилкою на вузлах з іншою назвою моста. Перед перенесенням VM між вузлами перевірте, що VNet присутня і активна на обох.
Чек-лист впровадження SDN
- Зону і VNet створено, конфігурацію застосовано без помилок на всіх вузлах.
- Порт комутатора переведено в режим trunk із потрібними VLAN ID.
- Зв'язність між VM в одній VNet підтверджена пінгом і ARP-таблицею.
- Правила файрволу не блокують трафік усередині нової мережі без явної потреби.