Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
libvirt:libvirt [2019-02-13 12:59] GreyWolf создано |
libvirt:libvirt [2020-08-28 12:33] (текущий) GreyWolf [Настройка клиента] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== libvirt ====== | ====== libvirt ====== | ||
- | {{:libvirt:logo-banner-dark-800.png?300|}} | + | {{:libvirt:logo-banner-dark-800.png?350|}} |
- | libvirt — свободная реализация API, демон и набор инструментов для управления виртуализацией. Позволяет управлять гипервизорами [[xen:xen|Xen]], [[kernel-based_virtual_machine:kernel-based_virtual_machine|KVM]], а также VirtualBox, OpenVZ, LXC, VMware ESX/GSX/Workstation/Player, [[qemu:qemu|QEMU]] и другими средствами виртуализации, предоставляет возможность контролировать виртуальные машины по сети, расположенные на других компьютерах. Эти API широко используются в слоях гипервизоров при разработке облачных решений. | + | 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/ | 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}} | ||
+ | |||
+ | Копирование файлов клиента | ||
+ | <code bash pki-libvirt_client.sh> | ||
+ | #!/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 | ||
+ | |||
+ | </code> | ||
+ | |||
+ | ===== Настройка сервера ===== | ||
+ | {{anchor:tlsserver}} | ||
+ | Копирование файлов на сервере | ||
+ | <code bash pki-libvirt_server.sh> | ||
+ | #!/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 | ||
+ | </code> | ||
+ | |||
+ | ==== libvirtd для TLS ==== | ||
+ | {{anchor:tlslibvirtd}} | ||
+ | |||
+ | Здесь описан процесс настройки демона ''libvirtd'' для работы по TLS | ||
+ | |||
+ | - Нужно исправить файл запуска демона:<code ini /etc/default/libvirtd>libvirtd_opts="-l"</code> | ||
+ | - Внести изменения в файл настройки, минимальные изменения: <code ini /etc/libvirt/libvirtd.conf> | ||
+ | listen_tls = 1 | ||
+ | listen_tcp = 1 | ||
+ | </code> или изменения включающие настройку сертификатов, ключей и списка отзыва сертификатов: <code ini /etc/libvirt/libvirtd.conf> | ||
+ | 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" | ||
+ | </code> | ||
+ | - Выполнить перезапуск демона: <code bash>service libvirtd restart</code> :!: При перезапуске демона ''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?]]) | ||
+ | - Проверка: <code bash>netstat -lntp | grep libvirtd</code> Пример вывода: <code> | ||
+ | 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 | ||
+ | </code> | ||
+ | |||
====== Ссылки ====== | ====== Ссылки ====== |