Редактирование:
Инструкции по Continent
Перейти к навигации
Перейти к поиску
Внимание:
Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы
войдёте
или
создадите учётную запись
, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.
Анти-спам проверка.
Не
заполняйте это!
== Общее == Инструкции для [[Continent]] == Фиксация MAC адресов в PNetLab == '''ВАЖНО: Подключение флешки, как и другие манипуляции с настройками машин 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 ссылка]) == Поиск соответствия сетевых интерфейсов в Linux схеме в PNetLab == Все связи с каждой стороны обозначены как eX. Число X соответствует последнему числу в MAC адресе сетевого интерфейса. [[Файл:Mac - link.png]] == Сохранение виртуальных машин в PNetLab == Виртуальные машины в PNetLab работают в рамках сессии. Если сессия будет по какой-то причине остановлена, то все виртуальные машины будут сброшены до базового состояния. Что бы этого не произошло состояние виртуальных машин надо периодически сохранять. [https://pnetlab.com/pages/documentation?slug=commit-image-docker-and-qemu Инструкция по сохранению.] ==== Сначал создаем копию виртуальных машин ==== # Останавливаем машину # В контекстном меню машины нажимаем Node Commit # Выбираем Take snapshot .... # В настройках машины указываем в качестве образа наш snapshot # В контекстном меню нажимаем Wipe # Теперь наша машина работают со своим образом, но который основан на базовом образе, т.е. не занимает лишнее место. ==== Сохраняем изменения в собственный образ ==== # Остановить машину # В контекстном меню машины нажимаем Node Commit # Выбираем Commit to original == Монтирование виртуального диска в хостовую ОС == === Предусловия: === # Установлены пакеты qemu-utils и lvm2 === Монтирование: === # Загрузить модуль ядра nbd<syntaxhighlight lang="bash"> sudo modprobe nbd max_part=8 </syntaxhighlight>В виртульной машине PNetLab эта команда может вызывать ошибку. Тогда необходимо загрузить модуль командой:<syntaxhighlight lang="bash"> insmod /lib/modules/$(uname -r)/kernel/drivers/block/nbd.ko max_part=8 </syntaxhighlight> # Отключить виртуальную машину '''(ВАЖНО: виртульную машину можно будет включить только после отключения диска из хостовой ОС!)''' # Подключить виртуальный диск <syntaxhighlight lang="bash" line="1"> sudo qemu-nbd -c /dev/nbd1 <путь к виртуальному диску vdi или qcow2> sudo mount /dev/mapper/vg00-lv_root /mnt sudo mount /dev/nbd1p1 /mnt/boot # при необходимости доступа к boot разделу </syntaxhighlight>Команда '''lsblk''' показывает подключенные диски. Если возникнут проблемы монтирования ntfs разделов можно выполнить:<syntaxhighlight lang="bash"> ntfsfix /dev/nbd1p2 mount -t ntfs-3g -o remove_hiberfile /dev/nbd1p2 /mnt </syntaxhighlight>https://unix.stackexchange.com/a/236145 === Отключение === # Отключить диск<syntaxhighlight lang="bash" line="1"> sudo umount /mnt/boot # если был примонтирован sudo umount /mnt sudo vgchange -a n vg00 sudo qemu-nbd -d /dev/nbd1 </syntaxhighlight> # Включить виртуальную машину # Выгрузить модуль ядра nbd, если в нем больше нет необходимости<syntaxhighlight lang="bash"> modprobe -r nbd </syntaxhighlight> == Монтирование виртуальной флешки в Continent на PNetLab == === Предусловия: === # Установлен пакет qemu-utils === Создание виртуальной флешки === <syntaxhighlight lang="bash" line="1"> 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 </syntaxhighlight> === Подключение флешки в виртуальную машину с Continent === '''ВАЖНО: Следующий действия могут сломать виртуальную машину с Continent (см. инструкцию "Фиксация MAC адресов в PNetLab")''' # ВАЖНО: Убедиться, что флешка не подключена к другой виртуальной машине или хосту! # В настройки виртуальной машины 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 </syntaxhighlight>[[Файл:PNetLab_settings.png]]<br /> 3. Перезагрузить Контитент == Получение root доступа к Continent 4 на виртуальной машине == # Отключить виртуальную машину с Continent # Примонтировать виртуальный диск к хостовой машине (см. Монтирование виртуального диска в хостовую ОС) # Заменить файл /mnt/boot/integrity на программу, которая всегда безусловно возвращает 0.<syntaxhighlight lang="c"> int main(int argc, char **argv) { return 0; } </syntaxhighlight>[[Медиа:Integrity.txt]] (файл сохранить под именем integrity и дать права на запуск командой chmod +x integrity) # В файл настроек ограниченной консоли /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/ . Устанавливаем необходимые для компиляции библиотеки. <syntaxhighlight lang="bash"> sudo apt update sudo apt install build-essential libncurses-dev bison flex libssl-dev libelf-dev fakeroot sudo apt install dwarves </syntaxhighlight> # Копируем из виртуальной машины в папку с ядром файл /boot/config-XXXX под именем .config. Добавляем/изменяем параметры ядра в конфигурационном файле:<syntaxhighlight lang="text"> 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 </syntaxhighlight> # Компилируем ядро командой make -j<количество параллельных потоков>. -Проверяем успешность компиляции:<syntaxhighlight lang="bash"> echo $? #должен вернуться 0 в случае отсутсвия ошибок </syntaxhighlight> # Устанавливаем новое ядро в Continent <syntaxhighlight lang="bash"> sudo make INSTALL_MOD_PATH=/mnt modules_install sudo make INSTALL_PATH=/mnt/boot install </syntaxhighlight>https://www.nathansweet.me/2017/02/03/build-linux-for-virtualbox #Добавляем новое ядро в grub В файле /boot/grub/grub.conf дублируем строки загрузки основного ядра, заменяя название старого ядра на новое. #Увеличиваем раздел /tmp в Continent до 1Гбт Текущего размера раздела tmp не хватает для проведения дальнейший операций, поэтому необходимо сначала уменьшить один из больших разделов, например /var, а затем увеличить раздел /tmp из освобожденного места. Список текущих разделов можно посмотреть командой lsblk https://ostechnix.com/resize-lvm-partitions-linux/ #Отключаем виртуальный диск, запускаем 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"> cd /boot dracut initramfs-<версия ядра>.x86_64.img <версия ядра> </syntaxhighlight> #Перезагружаем 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.
Описание изменений:
Пожалуйста, учтите, что любой ваш вклад в проект «EWiki» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см.
EWiki:Авторские права
).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!
Отменить
Справка по редактированию
(в новом окне)
Навигация
Персональные инструменты
Вы не представились системе
Обсуждение
Вклад
Создать учётную запись
Войти
Пространства имён
Статья
Обсуждение
русский
Просмотры
Читать
Править
Править код
История
Ещё
Поиск
Навигация
Заглавная страница
Свежие правки
Случайная страница
Справка по MediaWiki
Служебные страницы
Инструменты
Ссылки сюда
Связанные правки
Сведения о странице