Виртуализация средствами AstraLinux 1.6 SE

Сообщения
9
#1
Добрый день!

В руководстве администратора к AstraLinux 1.6 SE присутствует лишь описание пакетов и параметров.
Согласно данной статье на АстраВики https://wiki.astralinux.ru/pages/viewpage.action?pageId=27363213 - сделать не получается:
1) Пока не выполнил пункт 2 по включению пользователя в группы (даже для пользователя root !) при регистрации ВМ выпадает ошибка.
2) Упомянутый в статье пакет gvncviewer отсутствует в AstraLinux 1.6 SE.
3) После успешной регистрации ВМ - при запуска выдает ошибку "unable to set PDP label '0:63:0 on '/kvm/123.qcow2': Отказано в доступе'"
в /var/log/libvirt/qemu/123.log содержится следующее
"warning : virExec:744 : Setting child security label to 0:63:0
warning : virExec:752 : CAPS on start: PARSEC capabilities eip(80c,80c,80c) euid 0
libvirt: error : libvirtd quit during handshake: Ошибка ввода/вывода "


Подскажите пожалуйста, имеется ли возможность создавать и управлять виртуальными машинами (не покупая средства виртуализации Брест) имея только AstraLinux1.6 SE?
И если да - то как?
 
Последнее редактирование:

oko

New member
Сообщения
464
#2
to РоманМ
1) Пока не выполнил пункт 2 по включению пользователя в группы (даже для пользователя root !) при регистрации ВМ выпадает ошибка.
Что логично. Для этого данный пункт и был добавлен сразу после установки необходимых пакетов...

Вообще, если нужен условный гипервизор без поддержки режима "Мандатного контроля целостности", то делается все довольно просто:
1. Ставим Astra Linux в обычном варианте без выбора каких-либо доп.флагов (затирание, киоск, ALD и проч.) и без графики. Затирание не рекомендуется по причине его бессмысленности - вся защищаемая информация будет крутиться в qcow2-образе. Киоск и ALD по понятным причинам. Но рекомендуется отключить вывод загрузчика и использовать ядро hardened по умолчанию...

2. Заводим пользователя-администратора. Все действия будет совершать от его лица. При входе в консоли всегда выбираем Integrity level: 0

3. Отключаем нафиг мандатный контроль целостности:
sudo astra-mic-control disable

4. Отключаем NetworkManager:
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager


5. Правим конфиг-файл сетевых интерфейсов с целью создания сетевого моста для виртуальных машин и нашей сети:
(в примере только 1 сетевая карта - eth0) и создаем сетевой мост (к примеру, с ip-адресом 192.168.12.110 из подсети 192.168.12.0/24, где шлюз по умолчанию и DNS - роутер выхода вовне - 192.168.12.1)
sudo nano /etc/network/interfaces
auto lo
iface lo inet loopback
auto br0
iface br0 inet static
address 192.168.12.110
netmask 255.255.255.0
gateway 192.168.12.1
dns-nameservers 192.168.12.1
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0


5. Перезагружаемся

6. Ставим пакеты поддержки KVM:
sudo apt install libvirt-daemon-system libvirt0 qemu-kvm bridge-utils virt*

7. Добавляем нашего пользователя-администратора в группы поддержки kvm:
sudo adduser <youruser> libvirt-admin
sudo adduser <youruser> kvm
sudo adduser <youruser> libvirt-qemu


8. Механизм мандатных меток (даже отключенный) запрещает создание вирт.машин в любом каталоге кроме /var/lib/libvirt/images (или я пока не
нашел, как его обойти), поэтому размечаем пространство в формате QCOW2 (можно и в RAW, но он более «сырой», ага) для файл-образа вирт.машины
нужного объема (в пример, 20 Гигабайт):
sudo qemu-img create -f qcow2 /var/lib/libvirt/images/ИМЯ-МАШИНЫ.img 20G

9. Создаем виртуальную машину (в примере ниже Windows, для Linux будут иные параметр os-type и кое-что еще):
sudo virt-install --connect qemu:///system -n win8 -r 2048 --cdrom "/mnt/Win81_64.iso" --arch=x86_64 --vcpus 2 --os-type windows --network=bridge:br0,model=e1000 --hvm --accelerate --graphics vnc,password=password,listen=0.0.0.0,port=5903 --disk "/var/lib/libvirt/images/ИМЯ-МАШИНЫ.img",size=20,bus=sata,format=qcow2,cache=none
Если команда как бы подвисла, завершаем ее сочетанием Ctrl+C.
Проверяем командой sudo netstat -tpl, что *:5903 порт прослушивается - виртуальная машина создана и готова к работе.

10. Подключаемся к виртуальной машине через любой VNC-viewer на ip-адрес нашего сетевого моста, порт 5903. Вводим пароль (в примере
конфигурации, password). Инсталлируем гостевую ОС из выбранного ранее источника (в примере, /mnt/Win81_64.iso). Дожидаемся окончания установки

11. Средствами самой виртуальной машины смотрим MAC-адрес. При необходимости, выставляем статический IP либо на самой виртуальной машине, либо на DHCP-сервере, обслуживающем сеть нашего гипервизора.

12. Проверяем устойчивость работы виртуальной машины и радуемся жизни! Конфигурационный файл виртуальной машины лежит по адресу:
/etc/libvirt/qemu/ИМЯ_МАШИНЫ.xml (редактируется тем же sudo nano).

13. Добавляем виртуальную машину в автозапуск:
sudo ln -s /etc/libvirt/qemu/ИМЯ-МАШИНЫ.xml /etc/libvirt/qemu/autostart/ИМЯ-МАШИНЫ.xml

14. Завершить работу вирт.машины (в Астре по умолчанию не работает, ошибка PolKit, поэтому либо машину тушим изнутри, либо убиваем процесс командой sudo kill -9 номер_процесса. Поиск номера процесса - в качестве домашнего задания). Аналогично с system reboot - перезагрузка
вирт.машины:
virsh -c qemu:///system shutdown ИМЯ_МАШИНЫ

15. Редактировать конфигурацию, чтобы не лазить в файл постоянно
virsh -c qemu://system edit ИМЯ_МАШИНЫ

По вкусу настраиваем /etc/libvirt/libvirtd.conf - основные настройки гипервизора в части подключения администраторов, аудита и проч.

Доп.настройку хостовой ОС гипервизора проводим согласно Red Book или же без нее (в зависимости от требуемого уровня защищенности)...
 

Sobergun

New member
Сообщения
18
#3
вообще для управления через ssh подключаюсь без всего этого геммороя
 

oko

New member
Сообщения
464
#4
to Sobergun
Error! Semantic module panic...
Надо Тео де Раадту рассказать, что ssh теперь гипервизор, ага...
 

oko

New member
Сообщения
464
#6
to Sobergun
А вы пишите сразу внятно - тогда и ерничать не буду :)
Впрочем, у ТС вирт.машина вообще не создается (по причинам проблем с МКЦ). Так что вопрос управления вторичный...
И кстати, virt-manager разве имеется в репе ALSE 1.6? Серьезно, уже не помню, почему его не юзал, когда разбирался с виртуализацией в отсутствие Бреста...
 

Sobergun

New member
Сообщения
18
#7
нет, если бы в se1.6 был virt-manager, ssh и не нужен был бы...с мкц там возможна ошибка, при выполнении скрипта нужно чтобы конфигурационный файл пула был в папке. иначе 1 пакет устанавливается с ошибкой. может, сейчас исправили.
 

cogniter

Moderator
Team Astra Linux
Сообщения
505
#8
Добрый день!

В руководстве администратора к AstraLinux 1.6 SE присутствует лишь описание пакетов и параметров.
Согласно данной статье на АстраВики https://wiki.astralinux.ru/pages/viewpage.action?pageId=27363213 - сделать не получается:
1) Пока не выполнил пункт 2 по включению пользователя в группы (даже для пользователя root !) при регистрации ВМ выпадает ошибка.
2) Упомянутый в статье пакет gvncviewer отсутствует в AstraLinux 1.6 SE.
3) После успешной регистрации ВМ - при запуска выдает ошибку "unable to set PDP label '0:63:0 on '/kvm/123.qcow2': Отказано в доступе'"
в /var/log/libvirt/qemu/123.log содержится следующее
"warning : virExec:744 : Setting child security label to 0:63:0
warning : virExec:752 : CAPS on start: PARSEC capabilities eip(80c,80c,80c) euid 0
libvirt: error : libvirtd quit during handshake: Ошибка ввода/вывода "


Подскажите пожалуйста, имеется ли возможность создавать и управлять виртуальными машинами (не покупая средства виртуализации Брест) имея только AstraLinux1.6 SE?
И если да - то как?
https://wiki.astralinux.ru/pages/vi...обавлениепутихраненияобразовдисковыхустройств
 

oko

New member
Сообщения
464
#9
to Sobergun
Итого, у вас virt-manager из-под другой ОС, не ALSE. Такая связка подходит не всем и не всегда, увы...

to cogniter
Спасибо за ликбез - теперь ясно, как разместить образы в другом каталоге. Жаль, что такие тонкости с трудом гуглятся, поскольку посвящены Брест, а не ALSE в целом...
 

clop1000

New member
Сообщения
23
#10
Я правильно понимаю что графический - virt-manager в 1.6 Astra не входит в комплект?
Даже в самых старых сборка?
 

clop1000

New member
Сообщения
23
#14
Пробовал эти штуки, не помогает

sudo usermod -a -G libvirt-admin,libvirt-qemu,libvirt,disk,kvm,astra-admin,astra-console administrator



daemon without authentication */
polkit.addRule(function(action, subject) {
if (action.id == "org.libvirt.unix.manage") {
return polkit.Result.YES;
}
});
 
Последнее редактирование:

clop1000

New member
Сообщения
23
#16
Нашел такое.
Однако не дает сохранить "Saving implicit policy settings is unauthorized"


Сорри за мультипост) Думал форум клеит
 

Вложения

clop1000

New member
Сообщения
23
#17
Кажется смог победить - включением МКЦ - мандадтного котроля целостности.
И установкой разрешить polickkit меню
 
Сообщения
23
#18
oko - спасибо за гайд!
Все отлично работает! Вопрос такой была ли у кого проблема что после выключения network manager
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager


перестает грузиться в hardened kernel. С обычным ядром отлично работает.
 
Сообщения
464
#19
to clop1000
U're welcome...
Нет, всегда NM отключался безболезненно (generic-ядро использовал всего 1 раз в "боевой" системе - обычно только hardened)...