Инструкции по Continent: различия между версиями
Entcor (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
| (не показаны 4 промежуточные версии 2 участников) | |||
| Строка 4: | Строка 4: | ||
== Фиксация MAC адресов в PNetLab == | == Фиксация MAC адресов в PNetLab == | ||
'''ВАЖНО: Подключение флешки, как и другие манипуляции с настройками машин PNetLab и их <u>связями</u>, заново генерируют MAC адреса для сетевых карт. Это приводит к изменению названий сетевых интерфейсов и ломает настройки сети в Continent. Что бы это избежать, необходимо заполнить поле First MAC в настройках каждой виртуальной машины уникальными значениями.''' | '''ВАЖНО: Подключение флешки, как и другие манипуляции с настройками машин PNetLab и их <u>связями</u>, заново генерируют MAC адреса для сетевых карт. Это приводит к изменению названий сетевых интерфейсов и ломает настройки сети в Continent. Что бы это избежать, необходимо заполнить поле First MAC в настройках каждой виртуальной машины уникальными значениями.''' | ||
[[Файл:First_MAC.png]] | |||
Cоответсвие MAC адресов и названий интерфейсов храняться в файле /etc/udev/rules.d/70-persistent-net.rules ([https://serverfault.com/questions/981952/centos-7-how-to-get-interface-name-by-macaddress/982045#982045 ссылка]) | Cоответсвие MAC адресов и названий интерфейсов храняться в файле /etc/udev/rules.d/70-persistent-net.rules ([https://serverfault.com/questions/981952/centos-7-how-to-get-interface-name-by-macaddress/982045#982045 ссылка]) | ||
| Строка 97: | Строка 97: | ||
# В настройки виртуальной машины PNetLab в поле Qemu Options добавить:<syntaxhighlight> | # В настройки виртуальной машины PNetLab в поле Qemu Options добавить:<syntaxhighlight> | ||
-drive if=none,id=stick,format=raw,file=<ПУТЬ К ФАЙЛУ С ВИРТУАЛЬНОЙ ФЛЕШКОЙ> -device nec-usb-xhci,id=xhci -device usb-storage,bus=xhci.0,drive=stick | -drive if=none,id=stick,format=raw,file=<ПУТЬ К ФАЙЛУ С ВИРТУАЛЬНОЙ ФЛЕШКОЙ> -device nec-usb-xhci,id=xhci -device usb-storage,bus=xhci.0,drive=stick | ||
</syntaxhighlight>[[Файл: | </syntaxhighlight>[[Файл:PNetLab_settings.png]]<br /> | ||
3. Перезагрузить Контитент | |||
== Получение root доступа к Continent 4 на виртуальной машине == | == Получение root доступа к Continent 4 на виртуальной машине == | ||
| Строка 112: | Строка 114: | ||
# В файл настроек ограниченной консоли /etc/clish/misc.xml добавить bash. Для примера можно скопировать раздел настроек для команды uptime и заменить uptime на bash. В атрибут help написать Back door. | # В файл настроек ограниченной консоли /etc/clish/misc.xml добавить bash. Для примера можно скопировать раздел настроек для команды uptime и заменить uptime на bash. В атрибут help написать Back door. | ||
# Отключить диск, включить виртуальную машину с Continent. Через локальное меню Continent запустить ограниченную консоль (Инструменты - Диагностика - Командная строка) и выполнить команду bash. Получаем полный доступ к Linux под root. | # Отключить диск, включить виртуальную машину с Continent. Через локальное меню Continent запустить ограниченную консоль (Инструменты - Диагностика - Командная строка) и выполнить команду bash. Получаем полный доступ к Linux под root. | ||
=== Доступ по SSH === | |||
#В /etc/passwd у пользователя admin меняем консоль на /bin/bash | |||
# Включаем ssh доступ, в соответствии с интсрукцией "Руководство администратора. Управление комплексом" | |||
# Заходим на Continent по ssh и вополняем sudo bash | |||
== Перекомпиляция ядра на виртуальной машине Continent == | == Перекомпиляция ядра на виртуальной машине Continent == | ||
| Строка 139: | Строка 147: | ||
#Увеличиваем раздел /tmp в Continent до 1Гбт Текущего размера раздела tmp не хватает для проведения дальнейший операций, поэтому необходимо сначала уменьшить один из больших разделов, например /var, а затем увеличить раздел /tmp из освобожденного места. Список текущих разделов можно посмотреть командой lsblk https://ostechnix.com/resize-lvm-partitions-linux/ | #Увеличиваем раздел /tmp в Continent до 1Гбт Текущего размера раздела tmp не хватает для проведения дальнейший операций, поэтому необходимо сначала уменьшить один из больших разделов, например /var, а затем увеличить раздел /tmp из освобожденного места. Список текущих разделов можно посмотреть командой lsblk https://ostechnix.com/resize-lvm-partitions-linux/ | ||
#Отключаем виртуальный диск, запускаем Continent, заходим в консоль под root | #Отключаем виртуальный диск, запускаем Continent, заходим в консоль под root | ||
#ОПЦИОНАЛЬНО: ссылаемся в нашем ядре на модули ContinentOS<syntaxhighlight lang="bash"> | |||
cd /lib/modules | |||
mv 5.10.210 _5.10.210 | |||
ln -s 5.10.210-2.continent.x86_64 5.10.210 | |||
</syntaxhighlight> | |||
#Формируем initramfs<syntaxhighlight lang="bash"> | #Формируем initramfs<syntaxhighlight lang="bash"> | ||
cd /boot | cd /boot | ||
| Строка 144: | Строка 157: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
#Перезагружаем Continent и выбираем в загрузчике новое ядро. | #Перезагружаем Continent и выбираем в загрузчике новое ядро. | ||
== Обновление лицензий == | |||
Процесс управления лицензиями описан в документации в томе "Руководство администратора. Управление комплексом.". Документация доступна по [https://www.securitycode.ru/products/kontinent-4/?tab=support ссылке] | |||
Учебные лицензии можно скачать по [https://www.securitycode.ru/download_center/?section=downloads&product=%D0%9A%D0%BE%D0%BD%D1%82%D0%B8%D0%BD%D0%B5%D0%BD%D1%82%204&version=4.1.9 ссылке]. Лицензии имеют небольшой срок действия, но постоянно актуализируются. | |||
Лицензионные файлы необходимо скопировать на компьютер с Менеджером конфигурации (192.168.23.26). Для это можно сначала скопировать файлы на любой компьютер из сети 192.168.23.0/29 доступный по ssh/scp. А затем скопировать на целевую машину при помощи программы WinSCP. | |||
Текущая версия от 06:57, 10 октября 2024
Общее
[править | править код]Инструкции для Continent
Фиксация MAC адресов в PNetLab
[править | править код]ВАЖНО: Подключение флешки, как и другие манипуляции с настройками машин PNetLab и их связями, заново генерируют MAC адреса для сетевых карт. Это приводит к изменению названий сетевых интерфейсов и ломает настройки сети в Continent. Что бы это избежать, необходимо заполнить поле First MAC в настройках каждой виртуальной машины уникальными значениями.
Cоответсвие MAC адресов и названий интерфейсов храняться в файле /etc/udev/rules.d/70-persistent-net.rules (ссылка)
Поиск соответствия сетевых интерфейсов в Linux схеме в PNetLab
[править | править код]Все связи с каждой стороны обозначены как eX. Число X соответствует последнему числу в MAC адресе сетевого интерфейса.
Сохранение виртуальных машин в PNetLab
[править | править код]Виртуальные машины в PNetLab работают в рамках сессии. Если сессия будет по какой-то причине остановлена, то все виртуальные машины будут сброшены до базового состояния.
Что бы этого не произошло состояние виртуальных машин надо периодически сохранять. Инструкция по сохранению.
Сначал создаем копию виртуальных машин
[править | править код]- Останавливаем машину
- В контекстном меню машины нажимаем Node Commit
- Выбираем Take snapshot ....
- В настройках машины указываем в качестве образа наш snapshot
- В контекстном меню нажимаем Wipe
- Теперь наша машина работают со своим образом, но который основан на базовом образе, т.е. не занимает лишнее место.
Сохраняем изменения в собственный образ
[править | править код]- Остановить машину
- В контекстном меню машины нажимаем Node Commit
- Выбираем Commit to original
Монтирование виртуального диска в хостовую ОС
[править | править код]Предусловия:
[править | править код]- Установлены пакеты qemu-utils и lvm2
Монтирование:
[править | править код]- Загрузить модуль ядра nbdВ виртульной машине PNetLab эта команда может вызывать ошибку. Тогда необходимо загрузить модуль командой:
sudo modprobe nbd max_part=8
insmod /lib/modules/$(uname -r)/kernel/drivers/block/nbd.ko max_part=8
- Отключить виртуальную машину (ВАЖНО: виртульную машину можно будет включить только после отключения диска из хостовой ОС!)
- Подключить виртуальный диск
sudo qemu-nbd -c /dev/nbd1 <путь к виртуальному диску vdi или qcow2>
sudo mount /dev/mapper/vg00-lv_root /mnt
sudo mount /dev/nbd1p1 /mnt/boot # при необходимости доступа к boot разделу
Команда lsblk показывает подключенные диски. Если возникнут проблемы монтирования ntfs разделов можно выполнить:
ntfsfix /dev/nbd1p2
mount -t ntfs-3g -o remove_hiberfile /dev/nbd1p2 /mnt
https://unix.stackexchange.com/a/236145
Отключение
[править | править код]- Отключить диск
sudo umount /mnt/boot # если был примонтирован sudo umount /mnt sudo vgchange -a n vg00 sudo qemu-nbd -d /dev/nbd1
- Включить виртуальную машину
- Выгрузить модуль ядра nbd, если в нем больше нет необходимости
modprobe -r nbd
Монтирование виртуальной флешки в Continent на PNetLab
[править | править код]Предусловия:
[править | править код]- Установлен пакет qemu-utils
Создание виртуальной флешки
[править | править код]sudo modprobe nbd max_part=8
#или insmod /lib/modules/$(uname -r)/kernel/drivers/block/nbd.ko max_part=8
qemu-img create -f raw myflash.img 512M
sudo qemu-nbd -c /dev/nbd2 -f raw ./myflash.img
fdisk /dev/nbd2
# ввести n
# соглашаться со всеми значениями по-умолчанию
# ввести w
sudo mkfs -t vfat /dev/nbd2p1
sudo qemu-nbd -d /dev/nbd2
Подключение флешки в виртуальную машину с Continent
[править | править код]ВАЖНО: Следующий действия могут сломать виртуальную машину с Continent (см. инструкцию "Фиксация MAC адресов в PNetLab")
- ВАЖНО: Убедиться, что флешка не подключена к другой виртуальной машине или хосту!
- В настройки виртуальной машины PNetLab в поле Qemu Options добавить:
-drive if=none,id=stick,format=raw,file=<ПУТЬ К ФАЙЛУ С ВИРТУАЛЬНОЙ ФЛЕШКОЙ> -device nec-usb-xhci,id=xhci -device usb-storage,bus=xhci.0,drive=stick

3. Перезагрузить Контитент
Получение root доступа к Continent 4 на виртуальной машине
[править | править код]- Отключить виртуальную машину с Continent
- Примонтировать виртуальный диск к хостовой машине (см. Монтирование виртуального диска в хостовую ОС)
- Заменить файл /mnt/boot/integrity на программу, которая всегда безусловно возвращает 0.Медиа:Integrity.txt (файл сохранить под именем integrity и дать права на запуск командой chmod +x integrity)
int main(int argc, char **argv) { return 0; }
- В файл настроек ограниченной консоли /etc/clish/misc.xml добавить bash. Для примера можно скопировать раздел настроек для команды uptime и заменить uptime на bash. В атрибут help написать Back door.
- Отключить диск, включить виртуальную машину с Continent. Через локальное меню Continent запустить ограниченную консоль (Инструменты - Диагностика - Командная строка) и выполнить команду bash. Получаем полный доступ к Linux под root.
Доступ по SSH
[править | править код]- В /etc/passwd у пользователя admin меняем консоль на /bin/bash
- Включаем ssh доступ, в соответствии с интсрукцией "Руководство администратора. Управление комплексом"
- Заходим на Continent по ssh и вополняем sudo bash
Перекомпиляция ядра на виртуальной машине Continent
[править | править код]- Получить root доступ Continent (см. Получение root доступа к Continent 4 на виртуальной машине)
- Примонтировать виртуальный диск к хостовой машине (см. Монтирование виртуального диска в хостовую ОС)
- В виртуальной машине в каталоге /boot по названию файлов определяем базовую версию ядра (например 5.10.210). Cкачиваем исходный код ядра нужной версии https://mirrors.edge.kernel.org/pub/linux/kernel/ . Устанавливаем необходимые для компиляции библиотеки.
sudo apt update sudo apt install build-essential libncurses-dev bison flex libssl-dev libelf-dev fakeroot sudo apt install dwarves
- Копируем из виртуальной машины в папку с ядром файл /boot/config-XXXX под именем .config. Добавляем/изменяем параметры ядра в конфигурационном файле:
CONFIG_BPF_SYSCALL=y CONFIG_BPF_UNPRIV_DEFAULT_OFF=y CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_DEBUG_INFO_BTF=y CONFIG_DEBUG_INFO_REDUCED=y
- Компилируем ядро командой make -j<количество параллельных потоков>. -Проверяем успешность компиляции:
echo $? #должен вернуться 0 в случае отсутсвия ошибок
- Устанавливаем новое ядро в Continent https://www.nathansweet.me/2017/02/03/build-linux-for-virtualbox
sudo make INSTALL_MOD_PATH=/mnt modules_install sudo make INSTALL_PATH=/mnt/boot install
- Добавляем новое ядро в grub В файле /boot/grub/grub.conf дублируем строки загрузки основного ядра, заменяя название старого ядра на новое.
- Увеличиваем раздел /tmp в Continent до 1Гбт Текущего размера раздела tmp не хватает для проведения дальнейший операций, поэтому необходимо сначала уменьшить один из больших разделов, например /var, а затем увеличить раздел /tmp из освобожденного места. Список текущих разделов можно посмотреть командой lsblk https://ostechnix.com/resize-lvm-partitions-linux/
- Отключаем виртуальный диск, запускаем Continent, заходим в консоль под root
- ОПЦИОНАЛЬНО: ссылаемся в нашем ядре на модули ContinentOS
cd /lib/modules mv 5.10.210 _5.10.210 ln -s 5.10.210-2.continent.x86_64 5.10.210
- Формируем initramfs
cd /boot dracut initramfs-<версия ядра>.x86_64.img <версия ядра>
- Перезагружаем Continent и выбираем в загрузчике новое ядро.
Обновление лицензий
[править | править код]Процесс управления лицензиями описан в документации в томе "Руководство администратора. Управление комплексом.". Документация доступна по ссылке
Учебные лицензии можно скачать по ссылке. Лицензии имеют небольшой срок действия, но постоянно актуализируются.
Лицензионные файлы необходимо скопировать на компьютер с Менеджером конфигурации (192.168.23.26). Для это можно сначала скопировать файлы на любой компьютер из сети 192.168.23.0/29 доступный по ssh/scp. А затем скопировать на целевую машину при помощи программы WinSCP.

