# PVE Trunks Plugin Добавляет поле **Trunks** в редактор сетевого интерфейса QEMU VM в веб-интерфейсе Proxmox VE. Proxmox уже умеет парсить и сохранять параметр `trunks`, но в UI нет поля для него — приходится редактировать конфиг VM вручную. Этот плагин это исправляет. ## Установка ```bash # Скопировать на хост Proxmox scp -r pve-trunks-plugin/ root@:/tmp/ # Установить ssh root@ "bash /tmp/pve-trunks-plugin/install.sh" ``` После установки перезагрузить веб-интерфейс: **Ctrl+Shift+R**. ## Удаление ```bash ssh root@ "bash /tmp/pve-trunks-plugin/uninstall.sh" ``` ## Использование 1. VM → Hardware → Network Device → Edit 2. Поставить галку **Advanced** 3. Заполнить поле **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 получает весь трафик без изменений. Тегирование делает гостевая ОС: ```bash # Внутри 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` — удаление