Настройка системы
#
Васильев Андрей Михайлович, 2022
Версии презентации
Настройка сетевых интерфейсов
#
- Знание стека TCP/IP
- Понимание назначения каждого из уровней стека TCP/IP
- Знание основ маршрутизации пакетов в сетях TCP/IP
- Знание деталей функционирования транспортных протоколов TCP и UDP
- Понимание основ функционирования протоколов приложений
- Настройка сетевых интерфейсов, низкоуровневые инструменты
- Настройка, высокоуровневые инструменты
- Решения дистрибутивов
Ограничение сетевого взаимодействия
#
- Понятие файерволла, его назначение, принцип работы
- Детали обработки сетевых пакетов в ядре GNU/Linux
- Низкоуровневый интерфейс для настройки правил файерволла
- Высокоуровневые инструменты
Задачи, ориентированные на управление сетью и сетевыми подключениями
#
- Настройка работы сети внутри организации
- Настройка доступа к внешним сетям, в частности сети Интернет, из сети организации
- Настройка доступа к сетевым службам внутри организации
- Настройка доступа к сетевым службам из внешних сетей
Задачи, требующие настройки дополнительных служб
- Настройка защищённого доступа к внутренним ресурсам сети или связи между сетями (VPN)
- Мониторинг текущей сетевой активности
- Мониторинг нагрузки на сетевые интерфейсы во времени
Ограничение доступа для процессов
#
Процессы должны выполнять чётко определённые действия. Однако в них могут находиться ошибки, которые могут позволить злоумышленнику выполнять другие действия, поэтому желательно ограничить его доступ только к чётко определённым ресурсам
- Детали изоляции процессов в ядре ОС
- Системы дополнительной изоляции процессов
- Основа системы контейнеризации процессов
Удалённый доступ к серверу
#
OpenSSH
- Установление защищённого соединения между клиентом и сервером
- Выполнение удалённых команд на сервере
- Передача файлов между клиентом и сервером
- Интерактивная работа на удалённом сервере
- Проброс портов между сервером и клиентом
- Выполнение Socks-проксирования запросов от клиента к серверу
Объединение вычислительных ресурсов
#
Для решения ряда задач необходимо объединить компьютеры, чтобы при выполнении задач можно было использовать их объединённые ресурсы
- Объединение для выполнения распределённых вычислений
- Объединение для увеличения объёма хранения данных
Управление виртуальными машинами
#
- Понятие виртуализации
- проблемы, которые решает виртуализация
- ограничения, которые накладывает создание виртуальных окружений
- Системы виртуализации
- Средства управления виртуальными машинами
Управление контейнерными окружениями
#
- Понятие контейнеризации и её отличия от виртуализации
- Системы запуска одиночных контейнеров
- Системы запуска и управления контейнерами
Мониторинг за использование ресурсами
#
Любые вычислительные мощности стоят денег. Организации, как и отдельные люди, не заинтересованы в излишних тратах на инфраструктуру, то есть необходимо загрузить доступные ресурсы на максимальную мощность
Необходимо обеспечить бесперебойную работу серверов, т.е. необходимо иметь мощности в резерве
- Системы мониторинга серверов
- Системы инвентаризации
Управление учётными записями пользователей
#
Для слаженной работы сетевых служб и удобства их использования конечными пользователями внутри организации необходимо обеспечить единую точку по хранению информации о пользователях, их авторизации и аутентификации
- Понимание задач аутентификации, авторизации
- Знание основ протоколов для обеспечения аутентификации пользователей: OAuth, Open ID Connect, LDAP, AD, …
- Системы управления пользователями
- Системы авторизации пользователей на Linux-компьютерах
Предоставление файлового хранилища
#
- Системы для локальных файловых систем
- Системы для доступа к файлам через веб-браузер
- Объектные хранилища S3-подобные
Управление СУБД
#
- Обеспечение надёжности работы
- Резервирование данных
- Распределение нагрузки между серверами
- Обновление версий СУБД
- Оперирование СУБД
- Создание БД
- Управление пользователями
- Управление встроенными процедурами / модулями
Предоставление терминального сервера
#
Для некоторых ситуаций компаниям удобно консолидировать ресурсы на выделенной системе, чтобы работники подключались к ней для выполнения собственных задач
Альтернативный сценарий: доступ к защищённому окружению
Обеспечение надёжности сохранения данных
#
Настройка аппаратного обеспечения для надёжного хранения данных
#
Настрйока систем резервного копирования
#
Поддержание работоспособности, установка обновлений
#
- Поддержание локального репозитория для обновлений
- Установка обновлений программ для решения проблем безопасности
- Решение проблем в текущей конфигурации системы
- …
Решение конкретных задач предприятия
#
Каждая конкретная организация будет использовать различные приложения, которые нужны для выполнения как внешних заказов, так и функционирования внутренних операций
Рассмотрим типичные задачи, которые могут возникнуть у компании, занимающейся разработкой ПО
- Учёт задач, стоящих перед сотрудниками
- Учёт рабочего времени, потраченного сотрудниками
- Вопросы бухгалтерского обслуживания организации
- Вопросы управления затраченными контрактами
- Управление репозиториями программного обеспечения
- Управление и настройка системами непрерывной интеграции
- Настройка репозиториев для хранения артефакторв системы
- Настройка сред исполнения приложений
Настройка отдельной службы
#
- Обеспечение платформы для исполнения приложения
- Работа приложения прямо в рамках операционной системы
- Работа приложения в рамках виртуального или контейнерного окружения
- Работа в рамках распределённой системы
- Обеспечение работы систем хранения данных
- СУБД
- Хранилища бинарных артефактов
- Обеспечение запуска и перезапуска необходимых служб
- Реализация резервного копирования данных
- Реализация восстановление данных из системы резервирования
Установка приложений из исходных кодов
#
- Компиляция приложений
- Создание пакетов
- Настройка локального сборочного окружения
- Написание спецификации по сборке пакета
- Публикация наработок в автоматизированную систему сборки
- Создание пакетов для интерпретируемых языков
Настройка графического окружения
#
- Устройство графической подсистемы GNU/Linux
- Драйвера в ядре ОС
- Библиотеки для выполнения трёхмерного ускорения (OpenGL, Vulcan)
- Графические сервера Xorg, Wayland
- Менеджеры дисплеев
- Графические окружения
- GNOME
- KDE
- XFCE
- Cinnamon
- ….
- Менеджеры окон
Настройка аудио
#
- Устройство подсистемы
- ALSA
- JACK
- PulseAudio
- PipeWire
Установка приложений для конечного пользователями
#
- Использование репозиториев дистрибутивов
- Steam
- Flatpak
- Snap
- AppImage