Привет, столкнулся с очень стойкой проблемой подключения SPICE-консоли к моей виртуальной машине (MX Linux) на Proxmox VE 8.4.1. Подключение через скачанный из веб-интерфейса .vv файл постоянно не удаётся, хотя служба spiceproxy работает. Однако, прямое SPICE-подключение после ручного редактирования .vv файла, чтобы обойти прокси, работает отлично.
Моя конфигурация:
* Proxmox VE Version: pve-manager/8.4.1/2a5fa54a8503f96d (running kernel: 6.8.12-11-pve)
* VM ID: 103 (MX Linux)
* Конфигурация VM (cat /etc/pve/qemu-server/103.conf):
```
agent: 1
# args: -spice port=5903,addr=0.0.0.0 <- Эта строка была недавно удалена.
boot: order=scsi0;ide2;net0
cores: 2
cpu: host
ide2: none,media=cdrom
memory: 4096
meta: creation-qemu=9.2.0,ctime=1749361604
name: MxLinux
net0: virtio=BC:24:11:84:2B:EC,bridge=vmbr0,firewall=1
numa: 0
ostype: l26
scsi0: local-lvm:vm-103-disk-0,iothread=1,size=64G
scsihw: virtio-scsi-single
smbios1: uuid=436abd75-3411-496c-844d-84ec8b8929f0
sockets: 1
spice_enhancements: videostreaming=all
vga: qxl
vmgenid: 968208b9-7935-4561-af29-1812bf6bbc84
```
* Client OS: Windows, используя virt-viewer.
* Proxmox Host IP: 192.168.178.100
* Client IP: 192.168.178.222
**Проблема и наблюдаемое поведение:**
* Подключение с неизменённым .vv файлом (скачанным из PVE Web UI) не удаётся.
* Содержимое .vv файла (пример после удаления args):
```
[virt-viewer]
host-subject=CN=proxmox.tiny
ca=-----BEGIN CERTIFICATE-----\nMIIxxxR/XWPvUnBGtoclllQxxxxxcWg6k\nuQ==\n-----END CERTIFICATE-----\n
proxy=http://192.168.178.100:3128
tls-port=61000
toggle-fullscreen=Shift+F11
release-cursor=Ctrl+Alt+R
host=pvespiceproxy:6848903a:103:proxmox::8033f3114966764abfa3cf7bd9c0d9596bd02af2
password=xxx
type=spice
secure-attention=Ctrl+Alt+Ins
title=VM 103 - MxLinux
delete-this-file=1
```
* Сообщение об ошибке в журналах spiceproxy.service: `Connection reset by peer (from client IP 192.168.178.222)`.
* Сообщение об ошибке в virt-viewer: «Не удалось установить соединение с графическим сервером» (или аналогичное – использую немецкий).
* Подключение после ручного редактирования .vv файла работает идеально. Я вручную редактирую скачанный .vv файл, чтобы обойти прокси:
```
#proxy=http://192.168.178.100:3128
#tls-port=61000
#host=pvespiceproxy:6848903a:103:proxmox::8033f3114966764abfa3cf7bd9c0d9596bd02af2
host=192.168.178.100
port=5903
# ... Остальная часть файла ...
```
С этим изменённым файлом подключение происходит мгновенно и стабильно.
**Предпринятые шаги по устранению неисправностей и их результаты:**
* **Проверка брандмауэра:** Брандмауэр Datacenter Proxmox был полностью деактивирован во время тестов. Ошибка `Connection reset by peer` всё равно возникала. Это подтверждает, что брандмауэр не является причиной сбоя подключения к прокси. Правило для порта 5903 уже присутствовало.
* `qm set --spice_proxy none`: Команда завершилась неудачей с: `Unknown option: spice_proxy`.
```
admin@proxmox:~$ sudo qm set 103 --spice_proxy none
Unknown option: spice_proxy
400 unable to parse option
```
Эта опция также отсутствует в меню "Datacenter -> Options -> Console Type" в веб-интерфейсе.
* `qm set --vga qxl,tls=1`: Команда завершилась неудачей с: `vga.tls: property is not defined in schema and the schema does not allow additional properties`.
```
admin@proxmox:~$ sudo qm set 103 --vga qxl,tls=1
400 Parameter verification failed.
vga: invalid format - format error
vga.tls: property is not defined in schema and the schema does not allow additional properties
```
Это указывает на то, что опция tls для vga нельзя настроить напрямую в моей системе через qm set.
* **Удаление args:** -spice port=5903,addr=0.0.0.0: Выполнено с помощью `sudo qm set 103 --delete args`. Не повлияло на генерацию строк прокси в .vv файле. Они всё ещё генерируются.
* **datacenter.cfg:** Не содержит никаких записей, связанных с proxy, spice\_proxy или console\_proxy.
* **spiceproxy.service Status:** Служба активна (запущена) и включена.
```
admin@proxmox:~$ sudo systemctl status spiceproxy
● spiceproxy.service - PVE SPICE Proxy Server
Loaded: loaded (/lib/systemd/system/spiceproxy.service; enabled; preset: enabled)
Active: active (running) since Tue 2025-06-10 07:28:11 CEST; 14h ago
Process: 1111 ExecStart=/usr/bin/spiceproxy start (code=exited, status=0/SUCCESS)
Main PID: 1112 (spiceproxy)
Tasks: 2 (limit: 76924)
Memory: 56.6M
CPU: 1.840s
CGroup: /system.slice/spiceproxy.service
├─1112 /usr/bin/spiceproxy
└─1113 /usr/lib/systemd/systemd-journald
```
* **Журналы spiceproxy.service:**
```
admin@proxmox:~$ tail -f /var/log/syslog | grep spiceproxy
Jun 10 07:28:11 proxmoxspiceproxy[1111]: [INFO] Running proxy on 192.168.178.100:3128
Jun 10 07:28:11 proxmoxspiceproxy[1111]: [INFO] Running proxy on 192.168.178.100:3128
```
**Краткое описание проблемы:**
Прокси работает, ссылается на неё веб-интерфейс Proxmox в .vv файле, и по-видимому, ожидает TLS-соединение (tls-port=61000). Однако, соединение не удаётся с ошибкой `Connection reset by peer`. Стандартные параметры qm set (spice\_proxy, vga, tls) для управления этим поведением не распознаются или недоступны в моей системе, несмотря на то, что я использую последнюю версию PVE. Это значительно усложняет отладку и настройку.
**Мои вопросы сообществу:**
* Почему qm set сообщает о параметрах spice\_proxy и vga, tls как неизвестные, даже несмотря на то, что я использую PVE 8.4.1? Может ли это указывать на неисправную установку или отсутствующие пакеты?
* Что может быть причиной ошибки `Connection reset by peer` в spiceproxy, когда брандмауэр выключен?
* Существуют ли известные ошибки в PVE 8.4.1, связанные с spiceproxy или генерацией .vv файлов в этих обстоятельствах?
Буду очень благодарен за любые советы или предложения по дальнейшему анализу или решению проблемы.
Моя конфигурация:
* Proxmox VE Version: pve-manager/8.4.1/2a5fa54a8503f96d (running kernel: 6.8.12-11-pve)
* VM ID: 103 (MX Linux)
* Конфигурация VM (cat /etc/pve/qemu-server/103.conf):
```
agent: 1
# args: -spice port=5903,addr=0.0.0.0 <- Эта строка была недавно удалена.
boot: order=scsi0;ide2;net0
cores: 2
cpu: host
ide2: none,media=cdrom
memory: 4096
meta: creation-qemu=9.2.0,ctime=1749361604
name: MxLinux
net0: virtio=BC:24:11:84:2B:EC,bridge=vmbr0,firewall=1
numa: 0
ostype: l26
scsi0: local-lvm:vm-103-disk-0,iothread=1,size=64G
scsihw: virtio-scsi-single
smbios1: uuid=436abd75-3411-496c-844d-84ec8b8929f0
sockets: 1
spice_enhancements: videostreaming=all
vga: qxl
vmgenid: 968208b9-7935-4561-af29-1812bf6bbc84
```
* Client OS: Windows, используя virt-viewer.
* Proxmox Host IP: 192.168.178.100
* Client IP: 192.168.178.222
**Проблема и наблюдаемое поведение:**
* Подключение с неизменённым .vv файлом (скачанным из PVE Web UI) не удаётся.
* Содержимое .vv файла (пример после удаления args):
```
[virt-viewer]
host-subject=CN=proxmox.tiny
ca=-----BEGIN CERTIFICATE-----\nMIIxxxR/XWPvUnBGtoclllQxxxxxcWg6k\nuQ==\n-----END CERTIFICATE-----\n
proxy=http://192.168.178.100:3128
tls-port=61000
toggle-fullscreen=Shift+F11
release-cursor=Ctrl+Alt+R
host=pvespiceproxy:6848903a:103:proxmox::8033f3114966764abfa3cf7bd9c0d9596bd02af2
password=xxx
type=spice
secure-attention=Ctrl+Alt+Ins
title=VM 103 - MxLinux
delete-this-file=1
```
* Сообщение об ошибке в журналах spiceproxy.service: `Connection reset by peer (from client IP 192.168.178.222)`.
* Сообщение об ошибке в virt-viewer: «Не удалось установить соединение с графическим сервером» (или аналогичное – использую немецкий).
* Подключение после ручного редактирования .vv файла работает идеально. Я вручную редактирую скачанный .vv файл, чтобы обойти прокси:
```
#proxy=http://192.168.178.100:3128
#tls-port=61000
#host=pvespiceproxy:6848903a:103:proxmox::8033f3114966764abfa3cf7bd9c0d9596bd02af2
host=192.168.178.100
port=5903
# ... Остальная часть файла ...
```
С этим изменённым файлом подключение происходит мгновенно и стабильно.
**Предпринятые шаги по устранению неисправностей и их результаты:**
* **Проверка брандмауэра:** Брандмауэр Datacenter Proxmox был полностью деактивирован во время тестов. Ошибка `Connection reset by peer` всё равно возникала. Это подтверждает, что брандмауэр не является причиной сбоя подключения к прокси. Правило для порта 5903 уже присутствовало.
* `qm set --spice_proxy none`: Команда завершилась неудачей с: `Unknown option: spice_proxy`.
```
admin@proxmox:~$ sudo qm set 103 --spice_proxy none
Unknown option: spice_proxy
400 unable to parse option
```
Эта опция также отсутствует в меню "Datacenter -> Options -> Console Type" в веб-интерфейсе.
* `qm set --vga qxl,tls=1`: Команда завершилась неудачей с: `vga.tls: property is not defined in schema and the schema does not allow additional properties`.
```
admin@proxmox:~$ sudo qm set 103 --vga qxl,tls=1
400 Parameter verification failed.
vga: invalid format - format error
vga.tls: property is not defined in schema and the schema does not allow additional properties
```
Это указывает на то, что опция tls для vga нельзя настроить напрямую в моей системе через qm set.
* **Удаление args:** -spice port=5903,addr=0.0.0.0: Выполнено с помощью `sudo qm set 103 --delete args`. Не повлияло на генерацию строк прокси в .vv файле. Они всё ещё генерируются.
* **datacenter.cfg:** Не содержит никаких записей, связанных с proxy, spice\_proxy или console\_proxy.
* **spiceproxy.service Status:** Служба активна (запущена) и включена.
```
admin@proxmox:~$ sudo systemctl status spiceproxy
● spiceproxy.service - PVE SPICE Proxy Server
Loaded: loaded (/lib/systemd/system/spiceproxy.service; enabled; preset: enabled)
Active: active (running) since Tue 2025-06-10 07:28:11 CEST; 14h ago
Process: 1111 ExecStart=/usr/bin/spiceproxy start (code=exited, status=0/SUCCESS)
Main PID: 1112 (spiceproxy)
Tasks: 2 (limit: 76924)
Memory: 56.6M
CPU: 1.840s
CGroup: /system.slice/spiceproxy.service
├─1112 /usr/bin/spiceproxy
└─1113 /usr/lib/systemd/systemd-journald
```
* **Журналы spiceproxy.service:**
```
admin@proxmox:~$ tail -f /var/log/syslog | grep spiceproxy
Jun 10 07:28:11 proxmoxspiceproxy[1111]: [INFO] Running proxy on 192.168.178.100:3128
Jun 10 07:28:11 proxmoxspiceproxy[1111]: [INFO] Running proxy on 192.168.178.100:3128
```
**Краткое описание проблемы:**
Прокси работает, ссылается на неё веб-интерфейс Proxmox в .vv файле, и по-видимому, ожидает TLS-соединение (tls-port=61000). Однако, соединение не удаётся с ошибкой `Connection reset by peer`. Стандартные параметры qm set (spice\_proxy, vga, tls) для управления этим поведением не распознаются или недоступны в моей системе, несмотря на то, что я использую последнюю версию PVE. Это значительно усложняет отладку и настройку.
**Мои вопросы сообществу:**
* Почему qm set сообщает о параметрах spice\_proxy и vga, tls как неизвестные, даже несмотря на то, что я использую PVE 8.4.1? Может ли это указывать на неисправную установку или отсутствующие пакеты?
* Что может быть причиной ошибки `Connection reset by peer` в spiceproxy, когда брандмауэр выключен?
* Существуют ли известные ошибки в PVE 8.4.1, связанные с spiceproxy или генерацией .vv файлов в этих обстоятельствах?
Буду очень благодарен за любые советы или предложения по дальнейшему анализу или решению проблемы.
