Установка сетевой операционной системы linux
Установка сетевой операционной системы linux
Установка ОС на большое количество рабочих станций — достаточно муторная процедура. Особенно, если требуется устанавливать однотипные ПК с одинаковыми набором программ и различных настроек. У Microsoft для этих целей есть замечательный инструмент: System Center Configuration Manager. Но у нас же импортозамещение. А значит нужно любыми способами обходиться без продуктов Microsoft. В среде Linux инструмента, содержащего такие же широчайшие возможности, как у SCCM нет. Но можно приблизиться к нему, собирая систему по «кирпичикам». В этой статье рассмотрим как реализовать установку ОС Linux, используя сетевую загрузку.
Выполнение установки по сети позволяет производить установку на большом количестве ПК одновременно. Не нужно подходить к каждому ПК с загрузочным носителем, содержащим дистрибутив ОС. Можно настроить процесс установки таким образом, что достаточно будет только выбрать тип ОС, которую необходимо установить, запустить установку и забыть про этот процесс. На выходе получаем готовый ПК со всеми необходимыми настройками и набором ПО. Системы будут загружаться при помощи PXE (Preboot Execution Environment) с использованием загрузочного образа, расположенного на сервере, после чего будет запущена программа установки.
Для того, что бы настроить такую систему нужно произвести три основных шага:
Для решения поставленной задачи будем использовать сервера с ОС CentOS 7. В принципе все можно сделать на одном сервере, но т.к. у нас в сети уже есть DHCP сервер (о его настройках рассказывалось здесь), то нам останется только поднять сервер, на котором будут храниться дистрибутивы ОС и настроить TFTP и HTTP сервисы.
Сервер хранения дистрибутивов.
Дистрибутивы ОС могут раздаваться различными способами : NFS, HTTP или FTP. В случае использования NFS дистрибутив достаточно хранить в виде ISO файла. Но здесь мы рассмотрим способ раздачи по HTTP. Т.к. для этих целей не требуется каких-либо «навороченных» настроек web-сервера, я решил использовать в NGINX с самыми простыми настройками.
Создаем корневой каталог web-сервера:
Редактируем файл конфигурации /etc/nginx/nginx.conf . Файл должен будет иметь примерно такой вид:
Запускаем сервис и разрешаем его автозапуск:
Далее необходимо поместить установочные файлы в папку на вновь созданном web-сервере. Допустим у на имеется iso файл с ОС Centos centos.iso . Необходимо смонтировать его и скопировать содержимое в указанное место неа web-сервере.
Создаем папку, куда поместим содержимое установочного диска:
Смонтируем iso файл в папку /mnt:
Копируем содержимое iso в папку на web-сервере. После этого не забываем отмонтировать iso файл:
Теперь при заходе браузером на сервер дистрибутивов http://server/CentOS мы сможем увидеть все содержимое установочного диска.
Настраиваем TFTP сервер.
Следующитй шаг — настройка TFTP-сервера. Его можно так же назвать PXE-сервером. Этот сервер предназначен для того, что бы выдавать загрузочные образы клиентам, выбравшим сетевую загрузку ПК.
Устанавливаем ПО TFTP-сервера:
Приводим файл /etc/xinetd.d/tftp к виду (если хотим работать посредством xinetd ):
Т.е. задаем папку, где будут храниться файлы раздаваемые tftp-сервером и разрешаем сервис как таковой.
Мне не очень хочется завязывать на xinetd, поэтому вносим изменения в файл /usr/lib/systemd/system/tftp.service :
Т.е. так же задаем папку для хранения раздаваемых файлов.
Затем запускаем сервис tftpd и разрешаем его автозапуск при старте системы.
Далее настраиваем сервер для ответов по PXE.
Нам понадобится файл pxelinux.0 из пакета SYSLINUX, который включен в ISO-образ. Чуть раньше мы скопировали дистрибутив в папку сервера /opt/PXE/www/CentOS . Копируем файл пакета syslinux в какую-либо папку папку:
Копируем файл pxelinux.0 в корневую папку tftp-сервера
Для создания меню выбора загрузки PXE понадобятся еще некоторые файлы. Они находятся в той же папке распакованного пакета SYSLINUX. Копируем их в корень TFTP-сервера:
Если необходимо использовать в меню кирилицу, то так же понадобиться файл кирилических шрифтов. Можно использовать например этот: Cyr_a8x16.psf.gz. Распаковываем и копируем в корень TFTP-сервера.
Так же понадобятся загрузочные файлы ядра, находящиеся в папке images/pxeboot установочного диска ОС. Создаем в корне TFTP-сервера папку CentOS и коипруем туда соответствующие файлы:
Создаем файл конфигурации в pxelinux.cfg/ (именно там сервер будет искать свою конфигурацию). Имя файла может быть определено как default или сформировано на основе IP-адреса системы. Например, компьютеру с адресом 10.0.0.1 будет соответствовать файл 0A000001 . Создаем папку конфигурации в корне tftp-сервера и помещаем туда файл примерно со следующего содержания:
В получившемся конфиге указано, что надо подгружать файл кирилических шрифтов и два пункта меню: загрузка с локального HDD и «Установка CentOS 7 x86_64». Если в течении задонного таймаута не происходит нажатия клавиш, то загружается пункт меню, отвечающий за загрузку ПК с локального диска без установки ОС.
Настраиваем DHCP сервер
Для того, что бы новый ПК смог увидеть PXE сервер и, соответственно, смог запустить установку ОС, необходимо в настройках DHCP сервера указать соответствующие параметры.
Предусмотрим, что ПК имеют два типа Firmware: классический BIOS и UEFI. Соответственно DHCP сервер по разному определяет эти ПК. В файл /etc/dhcp/dhcpd.conf вносим соответствующие строки (в глобальные настройки или в раздел, отвечающий за конкретный диапазон IP):
О том где взять и куда положить файл pxelinux.0 говорилось чуть выше в разделе настройки TFTP сервера. Сейчас поговорим о том, где взять файлы для UEFI.
Понадобятся файлы shim.efi , shimx64.efi (из пакета shim) и grubx64.efi (из пакета grub2-efi). Эти пакеты включены в ISO-образ. Мы уже имеем развернутый образ дистрибутива на нашем сервере. Поэтому просто копируем необходимые пакеты в рабочую папку и извлекаем необходимые файлы:
Создаем в папке TFTP сервера еще одну папку UEFI и копируем в нее файлы shim.efi , shimx64.efi и grubx64.efi .
Создаем в этом же каталоге создаем файл конфигурации grub.cfg приблизительно такого содержания:
Копируем загрузочные образы в папку uefi/ :
Далее перезапускаем TFTP сервер и загружаем ПК при помощи PXE.
При данном методе установки ОС можно автоматизировать процесс до нажатия одной кнопки (выбор ОС в меню загрузки PXE). Т.е. все параметры ПК, список устанавливаемого ПО и т.д. можно задать в файле автоответов. Как это зделать — в одной из следующих статей.
Назначение Dallas Lock Linux
Защита информации в автоматизированных системах до класса защищенности 1Г включительно
«Автоматизированные системы. Защита от несанкционированного доступа к информации. Классификация автоматизированных систем и требования по защите информации» (Гостехкомиссия России, 1992))
Защита информации в информационных системах 1 уровня защищенности персональных данных
Приказ ФСТЭК России от 18 февраля 2013 г. № 21 «Об утверждении состава и содержания организационных и технических мер по обеспечению безопасности персональных данных при их обработке в информационных системах персональных данных»
Защита информации в государственных информационных системах 1 класса защищенности
Приказ ФСТЭК России от 11 февраля 2013 г. № 17 «Об утверждении требований о защите информации, не составляющей государственную тайну, содержащейся в государственных информационных системах»
Защита информации в автоматизированных системах управления производственными и
технологическими процессами на критически важных объектах, потенциально опасных объектах,
а также объектах, представляющих повышенную опасность для жизни и здоровья людей и для
окружающей природной среды, 1 класса защищенности
Приказ ФСТЭК России от 14 марта 2014 г. № 31 «Об утверждении требований к обеспечению защиты информации в автоматизированных системах управления производственными и технологическими процессами на критически важных объектах, потенциально опасных объектах, а также объектах, представляющих повышенную опасность для жизни и здоровья людей и для окружающей природной среды»
Защита информации в значимых объектах критической информационной инфраструктуры до 1
категории включительно
Приказ ФСТЭК России от 25 декабря 2017 г. N 239 «Об утверждении требований по обеспечению безопасности значимых объектов критической информационной инфраструктуры Российской Федерации»
Загрузка образа
Скачать образ системы последней версии CentOS 7 можно с официального сайта:
- Перейти на сайт CentOS.
- Перед пользователем откроется окно главной страницы.
- Выбрать один из двух образов для скачивания, которые будут помечены в виде оранжевых кнопок: DVD ISO, Minimal ISO.
- Кликнуть по выбранной версии.
- Откроется список серверов-зеркал, где лежат доступные для загрузки пакеты с операционными системами.
- Кликнуть по выбранному.
- Скачивание автоматически начнется в папку «Downloads» на компьютере, если не установлено другое местоположение.
Необязательно — настроить брандмауэр UFW для кокпита
Следующий шаг — разрешить Cockpit через брандмауэр доступ для прослушивания. По умолчанию Cockpit прослушивает порт 9090.
Если у вас установлен UFW, обязательно разрешите порт 9090.
Чтобы установить это, выполните следующую команду в своем терминале.
Пример вывода в случае успеха:
В зависимости от ваших потребностей вы можете дополнительно заблокировать его, разрешив отдельные IP-адреса только для этого порта.
Дополнительные полезные утилиты.
Обязателен для установки набор утилит для сборки программ из исходного кода и создания rpm пакетов.
yum -y groupinstall «Development Tools
«При минимальной установке в Centos 7 отсутствуют некоторые полезные утилиты для работы с сетью arp, hostname, ifconfig, netstat, rarp, route, plipconfig, slattach, mii-tool, iptunnel и ipmaddr. Чтобы вернуть их необходимо установить набор утилит net-tools.
yum -y install net-tools
Официальная страничка проекта net-tools здесь.
Также полезно установить lsof (от англ. LiSt of Open Files) — утилита показывает какие файлы используются теми или иными процессами.
yum -y install lsof
to Install and Configure SNMP in CentOS …
to Install and Configure SNMP in CentOS …
OpenNMS в CentOS / RHEL …
Ubuntu Install Snmp Walk — keenpat
Установим Midnight Commander — файловый менеджер для удобного перемещения по файловой системе и управления файлами. Она состоит из 2 панелей (фрэймов), в которых может отображаться информация о двух выбранных каталогах одновременно, содержимое, выбранного в одной из панелей, файла, и многое другое.
yum -y install mc
Установим htop — утилита для просмотра состояния сервера.
yum install htop
Вот пожалуй и вся универсальная настройка Centos 7 после установки.
Далее уже идет настройка сервера под Ваши задачи.
Вместо поскриптума
Если нужно выключить и включить сеть в операционной системе Linux, используем всё ту же известную нам команду ifconfig.
Например, следующей командой мы выключим сетевую карту eth0:
А вот команда, включающая сетевую плату в Linux:
Также мы можем полностью остановить работу сетевых интерфейсов:
Теперь включаем всё обратно:
На этом всё. Если хотите получить более профессиональные навыки Linux-администрирования, добро пожаловать на специальный курс в OTUS: