Памятка по SPICE и немного по ProxMox

Apr 22, 2024 12:08


Понадобилась тут виндовая виртуалка чтобы ходить в контуры ко всяким мурзилкам, люто надра озабоченных "бизапанастью". Беда в том, что под Linux не существует клиентов от их чудо-систем контроля доступа. Плюс, их VPN-клиенты наподобие Checkpoint-ов перекореживают маршрутизацию, поэтому RDP для работы с самой виртуалкой не канает. Нужно заходить на неё со стороны гипервизора. И самый удобный инструмент для этого - SPICE. ProxMox тоже в него умеет. Ниже памятка что нужно сделать чтобы это все работало.
  • Если в виртуальной машине используется UEFI, то зайти в его настройки и отключить Secure Boot, иначе не сработает следующий пункт.
  • В виртуалке включить "тестовый режим" для нормальной работы неподписанных драйверов. Иначе как минимум Virtio Legacy Console не запустится, а Spice Guest Tools будет "вышибать" сразу после старта с совершенно неинформативным отлупом по причине того, что они не могут найти устройство VirtIO Serial.
    bcdedit /set testsigning on
  • Проверить, что есть доступ по RDP, потому что после выполнения следующего пункта VNC слегка распидорасит.
  • В гипервизоре выставить тип дисплея Spice / QXL и побольше видеопамяти (мегабайт 16 хотя бы) потому что "из коробки" прописаны какие-то совсем смешные значения. По идее со Spice должен работать и VirGL, но у меня на практике гостевая система с ним "залипает", поэтому я откатился на QXL.
  • В некоторых гипервизорах при включении Spice-дисплея всякие VirtIO Serial подтянутся автомагически, в некоторых коммуникационные интерфейсы между хостом и гостем нужно включать явно. Тут проверять в каждом конкретном случае. Без них не заработает автомасштабирование экрана, буфер обмена и прочие плюшки.
  • Запустить гостевую ОС, установить драйвера на все устройства которые она сама не распознала. Брать например здесь.
  • Установить драйвер виртуального видеоадаптера "QXL DOD". DOD означает "Display only driver".
  • Установить внутри виртуалки последнюю актуальную версию Spice Guest Agent. Брать например здесь. Проверить что сервис запустился.
  • Опционально, но совершенно не повредит также установить внутри виртуалки Qemu Guest Agent.
  • На локальный рабочий десктоп / ноут установить любой клиент, умеющий в Spice. Под линуксом это "remote-viewer", обычно входит в состав пакета "virt-viewer".
  • Если используется ProxMox, то в браузере настроить ассоциацию для типа файлов "*.vv" на открытие в spice-клиенте ("remote-viewer"). FireFox точно так умеет, в Chrome у меня что-то не получилось. Если используется Virt-Manager / libvirt, то там всё начнет работать сразу.

В принципе, это всё. В случае с ProxMox могут ещё возникнуть небольшие грабли с X509-сертификатами, которые используются для шифрования Spice-канала. Если клиент эти сертификаты очень хочет проверить, то придется в систему прописать CA.

И ещё. Некоторые админы "по старой памяти" прописывают в ProxMox-е корпоративные или LetsEncrypt-овые X509-сертификаты в файлах "/etc/pve/local/pve-ssl.pem", "/etc/pve/local/pve-ssl.key". Так вот, делать этого ни в коем случае нельзя, поскольку сломает и Spice в том числе. Правильно вышеупомянутые файлы оставить "как есть", а свои кастомные сертификаты положить рядом в "/etc/pve/local/pveproxy-ssl.pem" и "/etc/pve/local/pveproxy-ssl.key". Либо, как вариант, подгрузить их прямо через веб-морду ProxMox-а: в последних версиях manager-а появилась такая возможность. Есличо, вот ссылка на профильное обсуждение в форуме.

Всем работающего Spice и неострой диетической пищи.

hints, виртуализация, ссылки, linux, proxmox, памятка

Previous post Next post
Up