HomeLabРазворачиваем домашний сервер виртуализации.
Гипервизор на базе KVM+QEMU+libvirt, хост — HP ProLiant Microserver Gen8 под CentOS 7.3.
Качаем CentOS-7-x8664-Minimal-1611.iso в удобное место.
Монтируем скачанный iso-образ с помощью ILO (это песня!)).
Грузимся с смонтированного iso-образа и если лезет такое:
[Firmware Bug]: the BIOS has corrupted hw-PMU resources
идём в биос: F9 — ROM-Based Setup Utility — System Options — CTRL+A, появится скрытый пункт меню — Service Options — Processor Power and Utilization Monitoring — Disabled — Esc — ещё раз Esc — F10 для сохранения.
[spoiler show="В картинках. F9-BIOS. Развернуть"]
[/spoiler] [spoiler show="В картинках. F9-BIOS — Service Options. Развернуть"]
[/spoiler] [spoiler show="В картинках. F9-BIOS — Processor Power and Utilization Monitoring. Развернуть"]
[/spoiler]
Готово. Продолжим. Процесс установки описан многократно в различных вариантах. Вкратце — установка «минимал» — на ссд 4 раздела — /boot, корень, своп и /vm, boot обычный раздел в ext2, корень и /vm в ext4 + включая swap размещены на lvm, размеры — boot — 1GiB, корень — 10, swap — 4 и /vm — 200GiB. kdump включен (на всякий случай), SELinux в дефолте, сетевым интерфейсам прописана статика.
Первые команды:
[dis@hp-boy ~]$ uname -a Linux hp-boy.homelab.su 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux [dis@hp-boy ~]$sudo yum update We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility. [sudo] password for dis: Загружены модули: fastestmirror base | 3.6 kB 00:00:00 extras | 3.4 kB 00:00:00 updates | 3.4 kB 00:00:00 (1/4): base/7/x86_64/group_gz | 155 kB 00:00:00 (2/4): extras/7/x86_64/primary_db | 139 kB 00:00:00 (3/4): base/7/x86_64/primary_db | 5.6 MB 00:00:02 (4/4): updates/7/x86_64/primary_db | 3.8 MB 00:00:03 Determining fastest mirrors * base: centos-mirror.rbc.ru * extras: centos-mirror.rbc.ru * updates: centos-mirror.rbc.ru Разрешение зависимостей --> Проверка сценария ... ... ... Выполнено! [dis@hp-boy ~]$sudo reboot
после ребута
поставим полезняшки — утилиты мониторинга сети и системы.
[dis@hp-boy ~]$ sudo yum install htop iftop atop [sudo] password for dis: Загружены модули: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.corbina.net * extras: mirror.corbina.net * updates: mirror.corbina.net Пакета с названием htop не найдено. Пакета с названием iftop не найдено. Пакета с названием atop не найдено. Ошибка: Выполнять нечего [dis@hp-boy ~]$
Что за. шляпа?!
Проверим, что с подключенными репозиториями и доустановим дополнительные репозитории.
[dis@hp-boy ~]$ yum repolist Загружены модули: fastestmirror Determining fastest mirrors * base: mirror.awanti.com * extras: mirror.awanti.com * updates: mirror.awanti.com Идентификатор репозитория репозиторий состояние base/7/x86_64 CentOS-7 - Base 9 363 extras/7/x86_64 CentOS-7 - Extras 311 updates/7/x86_64 CentOS-7 - Updates 1 111 repolist: 10 785 [dis@hp-boy ~]$
Подключаем Software Collections, содержащий новые версии пакетов и софта (всякие там питоны, пхп, движки БД
[dis@hp-boy ~]$ sudo yum install centos-release-scl [sudo] password for dis: Загружены модули: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.corbina.net * extras: mirror.corbina.net * updates: mirror.corbina.net Разрешение зависимостей --> Проверка сценария ---> Пакет centos-release-scl.noarch 0:2-2.el7.centos помечен для установки --> Обработка зависимостей: centos-release-scl-rh пакета: centos-release-scl-2-2.el7.centos.noarch --> Проверка сценария ---> Пакет centos-release-scl-rh.noarch 0:2-2.el7.centos помечен для установки --> Проверка зависимостей окончена Зависимости определены ======================================================================================================================== Package Архитектура Версия Репозиторий Размер ======================================================================================================================== Установка: centos-release-scl noarch 2-2.el7.centos extras 12 k Установка зависимостей: centos-release-scl-rh noarch 2-2.el7.centos extras 12 k Итого за операцию ======================================================================================================================== Установить 1 пакет (+1 зависимый) Объем загрузки: 24 k Объем изменений: 39 k Is this ok [y/d/N]: y Downloading packages: (1/2): centos-release-scl-rh-2-2.el7.centos.noarch.rpm | 12 kB 00:00:00 (2/2): centos-release-scl-2-2.el7.centos.noarch.rpm | 12 kB 00:00:00 ------------------------------------------------------------------------------------------------------------------------ Общий размер 220 kB/s | 24 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Установка : centos-release-scl-rh-2-2.el7.centos.noarch 1/2 Установка : centos-release-scl-2-2.el7.centos.noarch 2/2 Проверка : centos-release-scl-rh-2-2.el7.centos.noarch 1/2 Проверка : centos-release-scl-2-2.el7.centos.noarch 2/2 Установлено: centos-release-scl.noarch 0:2-2.el7.centos Установлены зависимости: centos-release-scl-rh.noarch 0:2-2.el7.centos Выполнено! [dis@hp-boy ~]$
Конечно же EPEL (Extra Packages for Enterprise Linux).
[dis@hp-boy ~]$ sudo yum install epel-release Загружены модули: fastestmirror centos-sclo-rh | 2.9 kB 00:00:00 centos-sclo-sclo | 2.9 kB 00:00:00 (1/2): centos-sclo-sclo/x86_64/primary_db | 149 kB 00:00:00 (2/2): centos-sclo-rh/x86_64/primary_db | 2.2 MB 00:00:01 Loading mirror speeds from cached hostfile * base: mirror.corbina.net * extras: mirror.corbina.net * updates: mirror.corbina.net Разрешение зависимостей --> Проверка сценария ---> Пакет epel-release.noarch 0:7-9 помечен для установки --> Проверка зависимостей окончена Зависимости определены ======================================================================================================================== Package Архитектура Версия Репозиторий Размер ======================================================================================================================== Установка: epel-release noarch 7-9 extras 14 k Итого за операцию ======================================================================================================================== Установить 1 пакет Объем загрузки: 14 k Объем изменений: 24 k Is this ok [y/d/N]: y Downloading packages: epel-release-7-9.noarch.rpm | 14 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Установка : epel-release-7-9.noarch 1/1 Проверка : epel-release-7-9.noarch 1/1 Установлено: epel-release.noarch 0:7-9 Выполнено! [dis@hp-boy ~]$
Добавим IUS
[dis@hp-boy ~]$ wget https://centos7.iuscommunity.org/ius-release.rpm -bash: wget: команда не найдена [dis@hp-boy ~]$ sudo yum -y install wget Загружены модули: fastestmirror epel/x86_64/metalink | 19 kB 00:00:00 epel | 4.3 kB 00:00:00 (1/3): epel/x86_64/group_gz | 170 kB 00:00:00 (2/3): epel/x86_64/updateinfo | 765 kB 00:00:00 (3/3): epel/x86_64/primary_db | 4.6 MB 00:00:01 Loading mirror speeds from cached hostfile * base: centos-mirror.rbc.ru * epel: mirror.awanti.com * extras: mirror.awanti.com * updates: mirror.awanti.com Разрешение зависимостей --> Проверка сценария ---> Пакет wget.x86_64 0:1.14-13.el7 помечен для установки --> Проверка зависимостей окончена Зависимости определены ======================================================================================================================== Package Архитектура Версия Репозиторий Размер ======================================================================================================================== Установка: wget x86_64 1.14-13.el7 base 546 k Итого за операцию ======================================================================================================================== Установить 1 пакет Объем загрузки: 546 k Объем изменений: 2.0 M Downloading packages: wget-1.14-13.el7.x86_64.rpm | 546 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Установка : wget-1.14-13.el7.x86_64 1/1 Проверка : wget-1.14-13.el7.x86_64 1/1 Установлено: wget.x86_64 0:1.14-13.el7 Выполнено! [dis@hp-boy ~]$ wget https://centos7.iuscommunity.org/ius-release.rpm --2017-03-22 10:21:40-- https://centos7.iuscommunity.org/ius-release.rpm Распознаётся centos7.iuscommunity.org (centos7.iuscommunity.org)... 162.242.221.48, 2001:4802:7801:102:be76:4eff:fe21:14aa Подключение к centos7.iuscommunity.org (centos7.iuscommunity.org)|162.242.221.48|:443... соединение установлено. HTTP-запрос отправлен. Ожидание ответа... 301 Moved Permanently Адрес: https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/ius-release-1.0-15.ius.centos7.noarch.rpm [переход] --2017-03-22 10:21:40-- https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/ius-release-1.0-15.ius.centos7.noarch.rpm Распознаётся dl.iuscommunity.org (dl.iuscommunity.org)... 146.20.25.47, 2001:4802:7901:0:4ccc:ff11:0:a Подключение к dl.iuscommunity.org (dl.iuscommunity.org)|146.20.25.47|:443... соединение установлено. HTTP-запрос отправлен. Ожидание ответа... 200 OK Длина: 8340 (8,1K) [application/x-redhat-package-manager] Сохранение в: «ius-release.rpm» 100%[==============================================================================>] 8 340 --.-K/s за 0s 2017-03-22 10:21:41 (294 MB/s) - «ius-release.rpm» сохранён [8340/8340] [dis@hp-boy ~]$
…
[dis@hp-boy ~]$ sudo rpm -Uvh ius-release*.rpm предупреждение: ius-release.rpm: Заголовок V4 DSA/SHA1 Signature, key ID 9cd4953f: NOKEY Подготовка... ################################# [100%] Обновление / установка... 1:ius-release-1.0-15.ius.centos7 ################################# [100%] [dis@hp-boy ~]$
прибираемся
[dis@hp-boy ~]$ yum clean all Загружены модули: fastestmirror Сброс источников:base centos-sclo-rh centos-sclo-sclo epel extras ius updates Cleaning up everything Cleaning up list of fastest mirrors [dis@hp-boy ~]$
обновим кеш
[dis@hp-boy ~]$ yum makecache Загружены модули: fastestmirror base | 3.6 kB 00:00:00 centos-sclo-rh | 2.9 kB 00:00:00 centos-sclo-sclo | 2.9 kB 00:00:00 epel/x86_64/metalink | 19 kB 00:00:00 epel | 4.3 kB 00:00:00 extras | 3.4 kB 00:00:00 ius | 2.3 kB 00:00:00 updates | 3.4 kB 00:00:00 (1/19): base/7/x86_64/other_db | 2.4 MB 00:00:01 (2/19): centos-sclo-sclo/x86_64/filelists_db | 606 kB 00:00:02 (3/19): centos-sclo-sclo/x86_64/other_db | 88 kB 00:00:00 (4/19): base/7/x86_64/filelists_db | 6.6 MB 00:00:02 (5/19): centos-sclo-rh/x86_64/other_db | 1.1 MB 00:00:03 (6/19): epel/x86_64/filelists_db | 7.7 MB 00:00:02 (7/19): epel/x86_64/updateinfo | 759 kB 00:00:00 (8/19): epel/x86_64/primary_db | 4.6 MB 00:00:01 (9/19): extras/7/x86_64/prestodelta | 117 kB 00:00:00 (10/19): extras/7/x86_64/other_db | 545 kB 00:00:00 (11/19): extras/7/x86_64/filelists_db | 596 kB 00:00:00 (12/19): epel/x86_64/other_db | 2.1 MB 00:00:00 (13/19): ius/x86_64/primary_db | 200 kB 00:00:00 (14/19): ius/x86_64/other_db | 87 kB 00:00:00 (15/19): ius/x86_64/filelists_db | 508 kB 00:00:00 (16/19): updates/7/x86_64/prestodelta | 430 kB 00:00:00 (17/19): updates/7/x86_64/filelists_db | 2.2 MB 00:00:01 (18/19): centos-sclo-rh/x86_64/filelists_db | 6.7 MB 00:00:11 (19/19): updates/7/x86_64/other_db | 44 MB 00:00:14 Determining fastest mirrors * base: mirror.awanti.com * epel: mirror.nsc.liu.se * extras: mirror.awanti.com * ius: mirrors.ircam.fr * updates: mirror.awanti.com Кэш метаданных создан [dis@hp-boy ~]$
посмотрим обновленный репозиторный список
[dis@hp-boy ~]$ yum repolist Загружены модули: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.awanti.com * epel: mirror.nsc.liu.se * extras: mirror.awanti.com * ius: mirrors.ircam.fr * updates: mirror.awanti.com Идентификатор репозитория репозиторий состояние base/7/x86_64 CentOS-7 - Base 9 363 centos-sclo-rh/x86_64 CentOS-7 - SCLo rh 4 948 centos-sclo-sclo/x86_64 CentOS-7 - SCLo sclo 390 epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 11 372 extras/7/x86_64 CentOS-7 - Extras 311 ius/x86_64 IUS Community Packages for Enterprise Linux 7 - x86_64 360 updates/7/x86_64 CentOS-7 - Updates 1 111 repolist: 27 855 [dis@hp-boy ~]$
Всё чётко!
Пробуем ещё раз установить монитор задач.
[dis@hp-boy ~]$ sudo yum install htop [sudo] password for dis: Загружены модули: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.corbina.net * epel: epel.mirror.far.fi * extras: mirror.corbina.net * ius: mirror.amsiohosting.net * updates: mirror.corbina.net Разрешение зависимостей --> Проверка сценария ---> Пакет htop.x86_64 0:2.0.2-1.el7 помечен для установки --> Проверка зависимостей окончена Зависимости определены ======================================================================================================================== Package Архитектура Версия Репозиторий Размер ======================================================================================================================== Установка: htop x86_64 2.0.2-1.el7 epel 98 k Итого за операцию ======================================================================================================================== Установить 1 пакет Объем загрузки: 98 k Объем изменений: 207 k Is this ok [y/d/N]: y Downloading packages: предупреждение: /var/cache/yum/x86_64/7/epel/packages/htop-2.0.2-1.el7.x86_64.rpm: Заголовок V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY Публичный ключ для htop-2.0.2-1.el7.x86_64.rpm не установлен htop-2.0.2-1.el7.x86_64.rpm | 98 kB 00:00:00 Получение ключа из file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Импорт GPG ключа 0x352C64E5: Владелец : "Fedora EPEL (7) <epel@fedoraproject.org>" Отпечаток : 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5 Пакет : epel-release-7-9.noarch (@extras) Источник : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Продолжить? [y/N]: y Running transaction check Running transaction test Transaction test succeeded Running transaction ПРЕДУПРЕЖДЕНИЕ: база данных RPM была изменена вне Yum. Установка : htop-2.0.2-1.el7.x86_64 1/1 Проверка : htop-2.0.2-1.el7.x86_64 1/1 Установлено: htop.x86_64 0:2.0.2-1.el7 Выполнено! [dis@hp-boy ~]$
Другое дело! Пакет подтянулся с репозитория EPEL
Шпора по командам yum и списочек валидных репозиториев
Ставим самое, по мелочи)), необходимое:
[dis@hp-boy ~]$ sudo yum -y install mc atop iftop nano lsof screen bash-completion logwatch mtr policycoreutils-python sysstat .. .. Выполнено! [dis@hp-boy ~]$
И начнём оптимизацию старта системы. Мануальчик раз и два
Смотрим сколько времени занимает штатная загрузка.
[dis@hp-boy ~]$ systemd-analyze Startup finished in 424ms (kernel) + 4.244s (initrd) + 15.334s (userspace) = 20.003s [dis@hp-boy ~]$
20.003s — не мало. Смотрим какие именно сервисы сколько времени грузятся.
[dis@hp-boy ~]$ systemd-analyze blame 9.301s NetworkManager-wait-online.service 2.510s kdump.service 2.020s lvm2-pvscan@8:66.service 2.010s lvm2-pvscan@9:126.service 1.449s lvm2-pvscan@9:127.service 481ms network.service 400ms lvm2-monitor.service 297ms dev-mapper-vg_hpx2dx2dboyx2droot.device 283ms postfix.service 237ms firewalld.service 118ms tuned.service 98ms plymouth-quit.service 94ms plymouth-quit-wait.service 51ms systemd-fsck@dev-disk-byx2duuid-244c3f2bx2d9b02x2d4c76x2db98fx2d72c3b8bb3c97.service 48ms NetworkManager.service 42ms systemd-vconsole-setup.service 39ms systemd-udevd.service 32ms systemd-logind.service 28ms systemd-udev-trigger.service 26ms polkit.service 26ms rhel-readonly.service 24ms systemd-tmpfiles-setup-dev.service 22ms microcode.service 22ms systemd-user-sessions.service 22ms boot.mount 21ms systemd-tmpfiles-setup.service 21ms sysstat.service 21ms rhel-dmesg.service 20ms systemd-readahead-replay.service 19ms chronyd.service 18ms sshd.service 17ms systemd-journald.service 17ms plymouth-start.service 17ms rhel-import-state.service 17ms systemd-tmpfiles-clean.service 14ms sys-kernel-debug.mount 13ms plymouth-read-write.service 12ms auditd.service 11ms dev-mapper-vg_hpx2dx2dboyx2dswap.swap 11ms systemd-fsck-root.service 11ms kmod-static-nodes.service 11ms vm.mount 10ms systemd-journal-flush.service 10ms systemd-fsck@dev-mapper-vg_hpx2dx2dboyx2dvm.service 8ms dev-hugepages.mount 8ms dev-mqueue.mount 7ms systemd-readahead-collect.service 7ms systemd-sysctl.service 6ms systemd-random-seed.service 5ms systemd-remount-fs.service 5ms rsyslog.service 4ms systemd-readahead-done.service 3ms systemd-update-utmp-runlevel.service 3ms systemd-update-utmp.service 1ms sys-kernel-config.mount [dis@hp-boy ~]$
Для начала проведём некоторую оптимизацию параметров загрузчика ядра
$sudo mcedit /etc/default/grub
GRUB_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT=1
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_DISTRIBUTOR="$(sed 's, release .*$, g' /etc/system-release)"
GRUB_DEFAULT=0
GRUB_SAVEDEFAULT='false'
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=128M rootfstype=ext4 libahci. ignore_sss=1 plymouth. enable=0 rd.lvm.lv=vg_hp-boy/root rd.lvm.lv=vg_hp-boy/sw$
GRUB_DISABLE_RECOVERY="true"
# Отключаем загрузочное меню.
GRUB_TIMEOUT=0
# Ждём 1 сек. для принудительного входа в отключенное меню по клавише Esc.
GRUB_HIDDEN_TIMEOUT=1
# Убираем таймер ожидания клавиши Esc.
GRUB_HIDDEN_TIMEOUT_QUIET=true
# Отключаем графическую заставку при загрузке системы.
В строке GRUB_CMDLINE_LINUX_DEFAULT убрать параметр splash.
# Отключаем графический режим загрузчика.
GRUB_TERMINAL_OUTPUT='console'
# Запрещаем автовыбор пункта меню, указанный в прошлую загрузку.
GRUB_DEFAULT='0'
# Запрещаем сохранять выбранный пункт меню для следующей загрузки.
GRUB_SAVEDEFAULT='false'
[dis@hp-boy ~]$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.10.0-514.10.2.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-514.10.2.el7.x86_64.img Found linux image: /boot/vmlinuz-3.10.0-514.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-514.el7.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-4c503881ae0a4f5eb6ebc07fc954b371 Found initrd image: /boot/initramfs-0-rescue-4c503881ae0a4f5eb6ebc07fc954b371.img done [dis@hp-boy ~]$sudo reboot
после рестарта
[dis@hp-boy ~]$ systemd-analyze Startup finished in 423ms (kernel) + 1.941s (initrd) + 14.732s (userspace) = 17.097s [dis@hp-boy ~]$
17.097s — это минус три секунды. Эффект есть! произведём также оптимизацию дисковой подсистемы средствами fstab.
[dis@hp-boy ~]$ sudo mcedit /etc/fstab
fstab [----] 29 L:[ 1+12 13/ 13] *(527 / 527b) <EOF> [*][X] # # /etc/fstab # Created by anaconda on Tue Mar 21 00:10:17 2017 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/vg_hp--boy-root <--><------><------>/<----->ext4 defaults 1 1 UUID=efdb03aa-1169-4c26-b92e-6e4ee4e7a4e7<----->/boot<->ext2 noauto,comment=systemd.automount 1 0 /dev/mapper/vg_hp--boy-vm <----><------><------>/vm<--->ext4 defaults 1 0 /dev/mapper/vg_hp--boy-swap <--><------><------>swap<-->swap defaults 0 0 tmpfs /tmp tmpfs defaults 0 0 1Помощь 2Сохр~ить 3Блок 4Замена 5Копия 6Пере~ить 7Поиск 8Удалить 9МенюMC 10Выход
результат оптимизации
[dis@hp-boy ~]$ systemd-analyze Startup finished in 424ms (kernel) + 1.936s (initrd) + 14.741s (userspace) = 17.102s [dis@hp-boy ~]$
Никакой)
Отключаем postfix и средствами systemctl mask отключим plymouth, bluetooth, firewalld (да, не нужен) и прожорливый NetworkManager-wait-online.service
[dis@hp-boy ~]$ systemctl stop postfix ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units === Для управления системными службами и юнитами, необходимо пройти аутентификацию. Authenticating as: dis Password: ==== AUTHENTICATION COMPLETE === [dis@hp-boy ~]$ su -c "systemctl disable postfix" Пароль: Removed symlink /etc/systemd/system/multi-user.target.wants/postfix.service. [dis@hp-boy ~]$
[dis@hp-boy ~]$ cd /lib/systemd/system [dis@hp-boy ~]$ su [root@hp-boy dis]# for i in plymouth-*.*; do systemctl mask $i;done Created symlink from /etc/systemd/system/plymouth-halt.service to /dev/null. Created symlink from /etc/systemd/system/plymouth-kexec.service to /dev/null. Created symlink from /etc/systemd/system/plymouth-poweroff.service to /dev/null. Created symlink from /etc/systemd/system/plymouth-quit.service to /dev/null. Created symlink from /etc/systemd/system/plymouth-quit-wait.service to /dev/null. Created symlink from /etc/systemd/system/plymouth-read-write.service to /dev/null. Created symlink from /etc/systemd/system/plymouth-reboot.service to /dev/null. Created symlink from /etc/systemd/system/plymouth-start.service to /dev/null. Created symlink from /etc/systemd/system/plymouth-switch-root.service to /dev/null. [root@hp-boy dis]# for i in bluetooth*.*; do systemctl mask $i;done Created symlink from /etc/systemd/system/bluetooth.target to /dev/null. [root@hp-boy dis]# for i in NetworkManager-wait-online.service; do systemctl mask $i;done Created symlink from /etc/systemd/system/NetworkManager-wait-online.service to /dev/null. [root@hp-boy system]# for i in firewalld.service; do systemctl mask $i;done Created symlink from /etc/systemd/system/firewalld.service to /dev/null. [root@hp-boy system]# reboot
проверяем
[dis@hp-boy ~]$ systemd-analyze Startup finished in 444ms (kernel) + 1.895s (initrd) + 5.487s (userspace) = 7.826s [dis@hp-boy ~]$
7.826s — красота!
Пора посмотреть, что у нас смотрит в сеть.
[dis@hp-boy ~]$ netstat -ntulp -bash: netstat: команда не найдена
упс, исправляем
[dis@hp-boy ~]$ yum whatprovides netstat Загружены модули: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.awanti.com * epel: mirror.awanti.com * extras: mirror.awanti.com * ius: mirrors.ircam.fr * updates: mirror.awanti.com No matches found [dis@hp-boy ~]$ sudo yum whatprovides netstat Загружены модули: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.corbina.net * epel: mirror.awanti.com * extras: mirror.corbina.net * ius: mirror.amsiohosting.net * updates: mirror.corbina.net base/7/x86_64/filelists_db | 6.6 MB 00:00:01 centos-sclo-rh/x86_64/filelists_db | 6.7 MB 00:00:01 centos-sclo-sclo/x86_64/filelists_db | 606 kB 00:00:00 epel/x86_64/filelists_db | 7.7 MB 00:00:01 extras/7/x86_64/filelists_db | 596 kB 00:00:00 ius/x86_64/filelists_db | 511 kB 00:00:00 http://mirror.amsiohosting.net/iuscommunity.org/stable/CentOS/7/x86_64/repodata/filelists.sqlite.bz2: [Errno -1] Metadata file does not match checksum Пробуем другое зеркало. ius/x86_64/filelists_db | 511 kB 00:00:00 http://mirrors.ircam.fr/pub/ius/stable/CentOS/7/x86_64/repodata/filelists.sqlite.bz2: [Errno -1] Metadata file does not match checksum Пробуем другое зеркало. ius/x86_64/filelists_db | 509 kB 00:00:00 updates/7/x86_64/filelists_db | 2.2 MB 00:00:00 net-tools-2.0-0.17.20131004git.el7.x86_64 : Basic networking tools Источник: base Совпадения с: Имя файла : /bin/netstat [dis@hp-boy ~]$ sudo yum -y install net-tools [sudo] password for dis: Загружены модули: fastestmirror base | 3.6 kB 00:00:00 centos-sclo-rh | 2.9 kB 00:00:00 centos-sclo-sclo | 2.9 kB 00:00:00 epel/x86_64/metalink | 25 kB 00:00:00 extras | 3.4 kB 00:00:00 ius | 2.3 kB 00:00:00 updates | 3.4 kB 00:00:00 Loading mirror speeds from cached hostfile * base: mirror.corbina.net * epel: mirror.awanti.com * extras: mirror.corbina.net * ius: mirror.amsiohosting.net * updates: mirror.corbina.net Разрешение зависимостей --> Проверка сценария ---> Пакет net-tools.x86_64 0:2.0-0.17.20131004git.el7 помечен для установки --> Проверка зависимостей окончена Зависимости определены ======================================================================================================================== Package Архитектура Версия Репозиторий Размер ======================================================================================================================== Установка: net-tools x86_64 2.0-0.17.20131004git.el7 base 304 k Итого за операцию ======================================================================================================================== Установить 1 пакет Объем загрузки: 304 k Объем изменений: 917 k Downloading packages: net-tools-2.0-0.17.20131004git.el7.x86_64.rpm | 304 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Установка : net-tools-2.0-0.17.20131004git.el7.x86_64 1/1 Проверка : net-tools-2.0-0.17.20131004git.el7.x86_64 1/1 Установлено: net-tools.x86_64 0:2.0-0.17.20131004git.el7 Выполнено! [dis@hp-boy ~]$
и ещё раз
[dis@hp-boy ~]$ netstat -ntulp (No info could be read for "-p": geteuid()=1000 but you should be root.) Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN - tcp6 0 0 :::22 :::* LISTEN - udp 0 0 127.0.0.1:323 0.0.0.0:* - udp6 0 0 ::1:323 :::* - [dis@hp-boy ~]$
Отлично! Слушают сетку часики, sshd и ничего лишнего.
какие соединения открыты?
[dis@hp-boy ~]$ sudo lsof -i COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME chronyd 754 chrony 1u IPv4 15725 0t0 UDP localhost:323 chronyd 754 chrony 2u IPv6 15726 0t0 UDP localhost:323 sshd 1074 root 3u IPv4 15974 0t0 TCP *:ssh (LISTEN) sshd 1074 root 4u IPv6 15976 0t0 TCP *:ssh (LISTEN) sshd 1142 root 3u IPv4 16105 0t0 TCP hp-boy.homelab.su:ssh->192.168.11.11:54232 (ESTABLISHED) sshd 1146 dis 3u IPv4 16105 0t0 TCP hp-boy.homelab.su:ssh->192.168.11.11:54232 (ESTABLISHED) [dis@hp-boy ~]$
Нужен ли нам ipv6? Сейчас нет — отрубаем!
[dis@hp-boy ~]$ su -c "echo net.ipv6.conf.all.disable_ipv6 = 1 >> /etc/sysctl.conf" Пароль: [dis@hp-boy ~]$ su -c "echo net.ipv6.conf.default.disable_ipv6 = 1 >> /etc/sysctl.conf" Пароль: [dis@hp-boy ~]$ sudo reboot
проверяем
[dis@hp-boy ~]$ sudo netstat -ntulp [sudo] password for dis: Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1081/sshd udp 0 0 127.0.0.1:323 0.0.0.0:* 758/chronyd [dis@hp-boy ~]$ sudo lsof -i COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME chronyd 758 chrony 1u IPv4 14157 0t0 UDP localhost:323 sshd 1081 root 3u IPv4 17283 0t0 TCP *:ssh (LISTEN) sshd 1156 root 3u IPv4 21535 0t0 TCP hp-boy.homelab.su:ssh->192.168.11.11:57034 (ESTABLISHED) sshd 1160 dis 3u IPv4 21535 0t0 TCP hp-boy.homelab.su:ssh->192.168.11.11:57034 (ESTABLISHED) [dis@hp-boy ~]$
отлично.
Раз отрубили ipv6, надо и с SELinux-ом что-то делать, т.к. умные люди обещают проблемы с SELinux при отключении ipv6.
Сначала посмотрим, в каком состоянии SELinux
[dis@hp-boy ~]$ getenforce Enforcing [dis@hp-boy ~]$ sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: enforcing Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Max kernel policy version: 28 [dis@hp-boy ~]$
Установим режим permissive, SELinux будет в режиме наблюдателя, ни во что активно не вмешиваясь, только фиксируя в логах возможные нарушения (а они будут)), исходя из выбранной политики. Режим устанавливается редактированием параметра SELINUX в файле /etc/selinux/config, политику targeted оставим без изменения.
GNU nano 2.3.1 Файл: /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=permissive # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
перезагружаемся и смотрим
[dis@hp-boy ~]$ getenforce Permissive [dis@hp-boy ~]$ sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: permissive Mode from config file: permissive Policy MLS status: enabled Policy deny_unknown status: allowed Max kernel policy version: 28 [dis@hp-boy ~]$
Отлично! Можно переходить к азартным играм подъёму и настройке гипервизора конечно же!)