3.1 KiB
PVE Trunks Plugin
Добавляет поле Trunks в редактор сетевого интерфейса QEMU VM в веб-интерфейсе Proxmox VE.
Proxmox уже умеет парсить и сохранять параметр trunks, но в UI нет поля для него — приходится редактировать конфиг VM вручную. Этот плагин это исправляет.
Установка
# Скопировать на хост Proxmox
scp -r pve-trunks-plugin/ root@<PVE_HOST>:/tmp/
# Установить
ssh root@<PVE_HOST> "bash /tmp/pve-trunks-plugin/install.sh"
После установки перезагрузить веб-интерфейс: Ctrl+Shift+R.
Удаление
ssh root@<PVE_HOST> "bash /tmp/pve-trunks-plugin/uninstall.sh"
Использование
- VM → Hardware → Network Device → Edit
- Поставить галку Advanced
- Заполнить поле Trunks
Формат
| Значение | Описание |
|---|---|
100;200;300 |
Пропустить VLAN 100, 200, 300 тегированными |
100-200 |
Диапазон VLAN от 100 до 200 |
100;200-300;400 |
Комбинация отдельных VLAN и диапазонов |
Примеры
| VLAN Tag | Trunks | Результат |
|---|---|---|
| 100 | 200;300 |
Native VLAN 100 (untagged), VLAN 200 и 300 тегированные |
| (пусто) | 100;200;300 |
Без native VLAN, все три VLAN тегированные |
| (пусто) | (пусто) | Access-порт, без тегирования |
Пропустить все VLAN (полный транк)
Вариант 1 — указать диапазон:
2-4094
Пропустит все используемые VLAN (1 обычно native/default).
Вариант 2 — оставить оба поля пустыми:
Если VLAN Tag и Trunks пустые, а бридж vlan-aware, VM получает весь трафик без изменений. Тегирование делает гостевая ОС:
# Внутри VM
ip link add link eth0 name eth0.100 type vlan id 100
ip link add link eth0 name eth0.200 type vlan id 200
Важно: На хосте Proxmox у бриджа должен быть
bridge-vlan-aware yesв/etc/network/interfacesдля работы VLAN/trunk.
Совместимость
Проверено на Proxmox VE 9.1. Должно работать на PVE 8.x+ (любая версия с поддержкой trunks в парсере).
Как работает
Плагин использует ExtJS override на PVE.qemu.NetworkInputPanel и добавляет поле Trunks в секцию Advanced. Оригинальные файлы Proxmox не модифицируются — загружается только новый JS-файл через index template.
Файлы
pve-trunks-plugin.js— ExtJS override плагинinstall.sh— установщикuninstall.sh— удаление