====== libvirt ====== {{:libvirt:logo-banner-dark-800.png?350|}} libvirt — свободная реализация API, демон и набор инструментов для управления виртуализацией. Позволяет управлять гипервизорами [[xen:xen|Xen]], [[kernel-based_virtual_machine:kernel-based_virtual_machine|KVM]], а также [[virtualbox:virtualbox|VirtualBox]], OpenVZ, LXC, [[vmware:vmware|VMware]] ESX/GSX/Workstation/Player, [[qemu:qemu|QEMU]] и другими средствами виртуализации, предоставляет возможность контролировать виртуальные машины по сети, расположенные на других компьютерах. Эти API широко используются в слоях гипервизоров при разработке облачных решений. https://libvirt.org/ ---- FIXME [[https://wiki.libvirt.org/page/TLSSetup|TLSSetup - Libvirt Wiki]] [[https://libvirt.org/remote.html|libvirt: Remote support]] [[http://umvirt.ru/node/114|Подключаемся к Libvirt, SPICE и VNC через TLS/SSL | umVirt.Ru]] ====== TLS ====== FIXME [[xca:libvrt|XCA — libvrt]] Стандартный вариант создания ключей и сертификатов для работы по TLS [[libvirt:tls|libvrt — TLS]] ===== Файлы ===== * ''[[#cakey.pem]]'' Сервер * ''[[#cacert.pem]]'' * ''[[#serverkey.pem]]'' * ''[[#servercert.pem]]'' Клиент * ''[[#cacert.pem]]'' * ''[[#clientkey.pem]]'' * ''[[#clientcert.pem]]'' ==== cakey.pem ==== Ключ центра сертификации, он должен храниться в надёжном месте. Его нельзя хранить на серверах и клиентах! ==== cacert.pem ==== Сертификат центра сертификации ==== serverkey.pem ==== Ключ сервера ==== servercert.pem ==== Сертификат сервера ==== clientkey.pem ==== Ключ клиента ==== clientcert.pem ==== Сертификат клиента ===== Настройка клиента ===== {{anchor:tlsclient}} Копирование файлов клиента #!/bin/bash mkdir -p /etc/pki/libvirt/private/ mkdir -p /etc/pki/CA/ cp libvrt-ca.crt /etc/pki/CA/cacert.pem cp libvrt-user.crt /etc/pki/libvirt/clientcert.pem cp libvrt-user.pem /etc/pki/libvirt/private/clientkey.pem chgrp libvirt /etc/pki/CA/cacert.pem chgrp libvirt /etc/pki/libvirt/clientcert.pem chgrp libvirt /etc/pki/libvirt/private/clientkey.pem ===== Настройка сервера ===== {{anchor:tlsserver}} Копирование файлов на сервере #!/bin/bash mkdir -p /etc/pki/libvirt/private/ mkdir -p /etc/pki/CA/ cp libvrt-ca.crt /etc/pki/CA/cacert.pem cp libvrt-server.crt /etc/pki/libvirt/servercert.pem cp libvrt-server.pem /etc/pki/libvirt/private/serverkey.pem cp libvrt-crl.pem /etc/pki/CA/crl.pem ==== libvirtd для TLS ==== {{anchor:tlslibvirtd}} Здесь описан процесс настройки демона ''libvirtd'' для работы по TLS - Нужно исправить файл запуска демона:libvirtd_opts="-l" - Внести изменения в файл настройки, минимальные изменения: listen_tls = 1 listen_tcp = 1 или изменения включающие настройку сертификатов, ключей и списка отзыва сертификатов: listen_tls = 1 listen_tcp = 1 key_file = "/etc/pki/libvirt/private/serverkey.pem" cert_file = "/etc/pki/libvirt/servercert.pem" ca_file = "/etc/pki/CA/cacert.pem" crl_file = "/etc/pki/CA/crl.pem" - Выполнить перезапуск демона: service libvirtd restart :!: При перезапуске демона ''libvirtd'' гостевые домены (виртуальные машины) **будут работать**! ([[https://wiki.libvirt.org/page/FAQ#Will_restarting_the_libvirt_daemon_stop_my_virtual_machines.3F|FAQ - Libvirt Wiki — 1.2.5 Will restarting the libvirt daemon stop my virtual machines?]]) - Проверка: netstat -lntp | grep libvirtd Пример вывода: tcp 0 0 0.0.0.0:16509 0.0.0.0:* LISTEN 5594/libvirtd tcp 0 0 0.0.0.0:16514 0.0.0.0:* LISTEN 5594/libvirtd tcp6 0 0 :::16509 :::* LISTEN 5594/libvirtd tcp6 0 0 :::16514 :::* LISTEN 5594/libvirtd ====== Ссылки ====== [[https://libvirt.org/logos/logo-banner-dark-800.png|Логотип]] https://ru.wikipedia.org/wiki/Libvirt {{tag> Virtualization}}