pve-trunks-plugin/README.md

82 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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