Рубрики
CentOS

httpd \ apache2 \ ssl \ centos

Ссылки:

https://linuxconfig.org/how-to-install-mod-ssl-on-redhat-8

Установка ssl:

dnf install mod_ssl apache2

Перезапускаем и проверяем:

systemctl restart httpd
apachectl -M | grep ssl
  ssl_module (shared)

Настройка фаервола:

firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd --reload

Генерация ключей:

0.
openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/httpd.key -x509 -days 365 -out /etc/pki/tls/certs/httpd.crt

1.
ls -l /etc/pki/tls/private/httpd.key /etc/pki/tls/certs/httpd.crt

2. /etc/httpd/conf.d/ssl.conf
FROM:
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
TO:
SSLCertificateFile /etc/pki/tls/certs/httpd.crt
SSLCertificateKeyFile /etc/pki/tls/private/httpd.key

3.
systemctl reload httpd

Redirect http to https:

1.
/etc/httpd/conf.d/redirect_http.conf
------------------------------------

        Servername rhel8
        Redirect permanent / https://rhel8/

------------------------------------
2.
systemctl reload httpd
Рубрики
CentOS

freeipa / centos 8 / ldap

Ссылки:

https://www.freeipa.org/page/Documentation
https://www.freeipa.org/page/Creating_a_binddn_for_Foreman
https://www.freeipa.org/page/Quick_Start_Guide
https://www.freeipa.org/page/Troubleshooting
https://www.freeipa.org/page/HowTos
https://www.freeipa.org/page/IPAv3_AD_trust - АД интеграция

https://www.altlinux.org/FreeIPA
https://cdnnow.ru/blog/ipa-fixes/
https://habr.com/ru/company/pixonic/blog/325546/
https://computingforgeeks.com/how-to-install-and-configure-freeipa-server-on-rhel-centos-8/
https://computingforgeeks.com/set-hostname-and-timezone-on-rhel/
https://pro-ldap.ru/tr/admin24/appendix-common-errors.html
https://packages.debian.org/sid/net/freeipa-server
Настройка клиента FreeIPA на сервере CentOS 7
https://www.dmosk.ru/miniinstruktions.php?mini=freeipa-centos - установка и использование https://www.dmosk.ru/miniinstruktions.php?mini=eap-freeradius-freeipa - freeipa + radius https://www.dmosk.ru/miniinstruktions.php?mini=freeradius-freeipa-rocky - freeipa + rocky + radius https://usermanual.wiki/Document/ipalabinstructions.1065978014/help - чья та лабораторная по freeipa https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/identity_management_guide/user-pwdpolicy#tab_pwpolicy-attrs - про пароли https://www.tux.in.ua/articles/2969 https://itsecforu.ru/2018/12/12/%D0%BA%D0%B0%D0%BA-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B8%D1%82%D1%8C-%D0%B0%D1%83%D1%82%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8E-gitlab-freeipa/ https://itsecforu.ru/2018/07/23/%D0%BA%D0%B0%D0%BA-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C-%D0%B8-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B8%D1%82%D1%8C-freeipa-%D0%BD%D0%B0-red-hat-linux/ https://www.arus.ru/index.php/biblioteka/shpory/item/10553-razvorachivaem-freeipa-server-2 https://computingforgeeks.com/configure-freeipa-replication-on-ubuntu-centos/ https://github.com/freeipa/ansible-freeipa https://www.google.com/search?q=ldap&rlz=1C1GCEA_enRU832RU832&oq=ldap&aqs=chrome..69i57j69i59.2431j0j7&sourceid=chrome&ie=UTF-8 https://www.google.com/search?q=openldap&rlz=1C1GCEA_enRU832RU832&sxsrf=ALeKk016A3eKO5RY-xwg24TxKj0HMvuQ6w:1625058408672&source=lnt&tbs=qdr:y&sa=X&ved=2ahUKEwjKi8Cptr_xAhWhs4sKHS_hC9wQpwV6BAgBECo&biw=1920&bih=937 https://www.google.com/search?q=slapd&rlz=1C1GCEA_enRU832RU832&sxsrf=ALeKk00qN2s13TOugFxnFNhaXwKTaAXRHg:1625058427347&source=lnt&tbs=qdr:y&sa=X&ved=2ahUKEwichrSytr_xAhVS-yoKHU0UBP8QpwV6BAgBECo&biw=1920&bih=937 https://sysadminmosaic.ru/openldap/openldap https://academy.terrasoft.ru/docs/user/ustanovka_i_administrirovanie/upravlenie_polzovateljami_i_dostupom/sinhronizaciya_polzovatelej_s_ldap/nastroit_sinhronizaciyu_s_ldap https://parallel.uran.ru/book/export/html/516 https://pro-ldap.ru/tr/admin24/
Установка radius Server на Windows 2012
https://www.digitalocean.com/community/tutorials/how-to-set-up-and-configure-a-certificate-authority-ca-on-ubuntu-20-04-ru

Инфа:

RHEL IdM - это интегрированное решение для обеспечения централизованно управляемой идентификации (пользователи, хосты, службы), 
аутентификации (SSO, 2FA) и авторизации (контроль доступа к хосту, роли пользователей SELinux, сервисы).

Имя хоста / время:

0. Редактируем файл /etc/hosts
vim /etc/hosts
-----------------
192.168.122.198 ipa.example.com
-----------------
1. Переименовываем хост:
hostnamectl set-hostname ipa.example.com
2. Проверяем временную зону:
timedatectl status
timedatectl set-time HH:MM:SS
timedatectl set-time "yyyy-MM-dd hh:mm:ss"
timedatectl list-timezones
timedatectl set-timezone Europe/Moscow
timedatectl set-ntp yes

Установка freipa centos:


0. Добавляем репозиторий epel 
dnf -y install epel-release

1. Временно отключаем selinux
setenforce 0
sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

2. Ищем пакет idm и устанавливаем его 
yum module list idm
yum module info idm:DL1
yum -y install @idm:DL1

3. Ставим пакеты  freeipa
yum -y install freeipa-server
yum -y install ipa-server-dns bind-dyndb-ldap

4. Производим настройку, выполняем команды 
!!! Внимание будет задано очень много различных вопросов.
ipa-server-install
ipa-server-install --setup-dns

5. Проверка после установки
Проверяем слушаются ли порты 53, 80, 88, 123, 389, 443, 464, 636
ss -tplnu 
Проверяем работу керберос, создаются ли билеты:
kinit admin
klist

6. Настраиваем shell для ipa пользователей
ipa config-mod --defaultshell=/bin/bash

7. Создаем пользователя в ipa для проверки
ipa user-add test  --first=Test --last=User --email=test@example.com --password

8. Проверяем какие есть у нас учетные записи
ipa user-find

9. Собственно можем проверить подключение.
!!! Политика по умолчанию попросит сменить нас пароль.
ssh test@localhost

10. Настраиваем firewall
!!! Нужно открыть порты
TCP Ports:
* 80, 443: HTTP/HTTPS
* 389, 636: LDAP/LDAPS
* 88, 464: kerberos
* 53: bind
UDP Ports:
* 88, 464: kerberos
* 53: bind
* 123: ntp

Base DN:

You can find your basedn, and other interesting things, in /etc/ipa/default.conf
cat  /etc/ipa/default.conf

Users: cn=users,cn=accounts,$SUFFIX
Groups: cn=groups,cn=accounts,$SUFFIX


Добавление системной учетной записи ipa:

https://www.freeipa.org/page/HowTo/LDAP
https://github.com/noahbliss/freeipa-sam - скрипт для управления системными учетными записями


# ldapmodify -x -D 'cn=Directory Manager' -W
--------------------------------------------
dn: uid=ЖЕЛАЕМЫЙ_ПОЛЬЗОВАТЕЛЬ,cn=sysaccounts,cn=etc,dc=example,dc=com
changetype: add
objectclass: account
objectclass: simplesecurityobject
uid: ЖЕЛАЕМЫЙ_ПОЛЬЗОВАТЕЛЬ
userPassword: ПАРОЛЬ_ДЛЯ_ЖЕЛАЕМЫЙ_ПОЛЬЗОВАТЕЛЬ
passwordExpirationTime: 20380119031407Z
nsIdleTimeout: 0

^D
---------------------------------------------

Проверка:
ldapsearch -D "uid=sync,cn=sysaccounts,cn=etc,dc=ipa,dc=server,dc=ru" -W
ldapsearch -h ipa.server.ru -D "uid=sync,cn=sysaccounts,cn=etc,dc=ipa,dc=server,dc=ru" -W


Проверка существования системного пользователя:
kinit ad-user #ваш пользователь с правами админа
ldapsearch -Y GSSAPI uid=ЖЕЛАЕМЫЙ_ПОЛЬЗОВАТЕЛЬ #серсиная учетная запись пользователя которого создали

Смена пароля для системной учетной записи freeipa:
kinit admin
ldappasswd -Y GSSAPI -W -S "uid=ЖЕЛАЕМЫЙ_ПОЛЬЗОВАТЕЛЬ,cn=sysaccounts,cn=etc,dc=example-domain,dc=example,dc=com"

Политики паролей:

!!! Перед выполнением команд получаем билеты
!!! kinit admin
!!! klist

Показать все настройки: 
ipa config-show --all

Помощь по парольным политикам:
ipa help pwpolicy

Показать политики:
ipa pwpolicy-show

Показать что можем изменить в парольной политике:
ipa help pwpolicy-mod 

Показать все политики:
ipa pwpolicy-show --all

Изменим минимальное время  жизни пароля: 
ipa pwpolicy-mod --minlife=0

Смена пароля пользователем:
ssh username@ipaserver - подключились по ssh
ipa passwd - сменили пароль

Работа с пользователями в консоли ipa:

!!! Перед выполнением команд получаем билеты
!!! kinit admin
!!! klist

Проверяем какие есть учетные записи:
ipa user-find

Показать помощь по команде config-mod:
ipa help config-mod

Настраиваем shell для ipa пользователей:
ipa config-mod --defaultshell=/bin/bash

Создаем пользователя в ipa:
ipa user-add test  --first=Test --last=User --email=test@example.com --password

Проверяем какие есть учетные записи:
ipa user-find

Смена пароля пользователю vpupkin:
ipa passwd vpupkin

Помощь по добавлена пользователей в freeipa:
ipa help user-add

Пример создания пользователя с паролем:
echo "p@ssw0rd" | ipa user-add vpupkin --first=Vasja --last=Pupkin --password

Настраиваем firewall, вариант 1 вера в firewalld:


sudo firewall-cmd --add-service={http,https,dns,ntp,freeipa-ldap,freeipa-ldaps} --permanent
sudo firewall-cmd --reload

Настраиваем firewall, вариант 2 вера в iptables.service:

systemctl disable firewalld.service 
dnf install iptables-services.x86_64
systemctl enable iptables.service
systemctl start iptables.service
mkdir /etc/iptables
vim /etc/iptables/iptables.v4 
-----------------------------
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 10.0.0.0/23 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -s 10.0.0.134/32 -p tcp -m state --state NEW -m tcp --dport 10050 -j ACCEPT
-A INPUT -s 10.0.0.0/22 -p tcp -m multiport --dports 53,80,88,389,443,464,636 -j ACCEPT
-A INPUT -s 10.0.0.0/22 -p udp -m multiport --dports 53,88,123,464 -j ACCEPT
#-A INPUT -s 10.0.0.0/22 -p tcp -m multiport --dports 53,80,88,135,138,139,389,443,445,464,636,1024:1300,3268 -j ACCEPT
#-A INPUT -s 10.0.0.0/22 -p udp -m multiport --dports 53,88,123,138,139,389,445,464 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -m limit --limit 100/sec -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 12 -j ACCEPT
COMMIT
----------------------------- 
vim /etc/iptables/iptables.v6
-----------------------------
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p ipv6-icmp -j ACCEPT
COMMIT

-----------------------------

iptables-restore /etc/iptables/iptables.v4 
ip6tables-restore /etc/iptables/iptables.v6 

service iptables save
service ip6tables save


Присоединим компьютер к FreeIPA домену:

0. Ставим пакеты:
yum install -y ipa-client realmd

1. Проверяем возможность подключения к домену:
realm discover -v example.com

2. Подключаем к домену:
sudo ipa-client-install
--mkhomedir \
--enable-dns-updates \
--ssh-trust-dns \
--server=ipa.example.com \
--domain=example.com \
-p admin -w password \
--fixed-primary -U \
--force-ntpd

ldapsearch

Since IPA 3.0 we've configured /etc/openldap/ldap.conf with some bare defaults:
URI ldaps://ipaserver.example.com
BASE dc=example,dc=com
TLS_CACERT /etc/ipa/ca.crt

ldapsearch -x uid=admin
ldapsearch -x -h ipa.example.com  -b dc=example,dc=com uid=admin

Удаление freeipa

ipa-server-install --uninstall

zabbix_ldap

Рубрики
CentOS

CentOS8 iptables.service

iptables serivce

dnf  install epel-release -y  - установим репозиторий epel

dnf install iptables.service 
systemctl enable iptables.service 
systemctl start  iptables.service


service iptables save
service ip6tables save
iptables-restore /etc/sysconfig/iptables
ip6tables-restore /etc/sysconfig/ip6tables
iptables -S 
ip6tables -S

systemctl enable iptables
systemctl start iptables
systemctl disable firewalld
systemctl stop firewalld

файл iptables

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 10.3.1.0/24 -m state --state NEW -p tcp --dport 22 -j ACCEPT
-A INPUT -s 10.0.3.6/32 -j ACCEPT -m comment --comment "backup"
-A INPUT -s 10.1.2.1/32 -m state --state NEW -p tcp --dport 10050 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -m limit --limit 100/sec -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 12 -j ACCEPT
COMMIT

файл ip6tables

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p ipv6-icmp -j ACCEPT
COMMIT
Рубрики
CentOS

upgrade CentOS7 to CentOS8 / recovery mode

ВНИМАНИЕ!!

Сделай бэкап перед обновлением!!!
Апгрейд системы может привести полной неработоспособности ОС!
Перед апгрейдом проверьте ссылки для скачивания rpm \ могут перестать быть рабочими!
Система может даже не загрузится. 

Ссылки решений по upgrade:

https://www.tecmint.com/upgrade-centos-7-to-centos-8/
https://1gbits.com/blog/how-to-upgrade-centos-7-to-8/
https://www.howtoforge.com/how-to-upgrade-centos-7-core-to-8/
https://www.centlinux.com/2020/01/how-to-upgrade-centos-7-to-8-server.html
https://blog.sedicomm.com/2019/11/19/kak-obnovit-centos-7-do-centos-8/
Обновление CentOS 7 до CentOS 8
https://www.golinuxcloud.com/enable-ssh-configure-network-in-rescue-mode/ https://www.centlinux.com/2019/12/how-to-recover-grub-2-bootloader-centos-8.html

Решение:

0. Сначала нужно максимально обновить текущею систему
yum update

1. Установить репозиторий epel
yum install epel-release -y 

2. Установить дополнительное ПО
yum install yum-utils
yum install rpmconf

3. Выполнить очистку системы
rpmconf -a 
package-cleanup --leaves
 package-cleanup --orphans

4. Установим новую программу правления пакетами dnf 
yum install dnf

5. Удаляем YUM
dnf -y remove yum yum-metadata-parser
rm -Rf /etc/yum 

6. Производим upgrade dnf 
dnf upgrade

7. Убеждаемся что от репозитория CentOS ничего не осталось
cd /etc/yum.repos.d/
ls /etc/yum.repos.d/
cat file-CentOs7



8. Качаем repos CentOS8
!!! Вот тут обращаем внимание на ссылки \ уже могут быть не актуальны 
!!! На Нужны пакеты centos-linux-repo, centos-linux-release, centos-gpg-keys
!!! Идем и смотрим что там есть
Устанавливаем:
dnf -y install  http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-linux-repos-8-2.el8.noarch.rpm
dnf -y install  http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-linux-release-8.4-1.2105.el8.noarch.rpm 
dnf -y install  http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-gpg-keys-8-2.el8.noarch.rpm

9. Выполняем upgrade  

dnf upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

10. Удаляем скачанные файлы
dnf clean all

11. Удаляем старые ядра
rpm -e `rpm -q kernel`

12. Удаляем пакеты которые могут конфликтовать и которые конфликтуют
!!! Не забываем записывать что мы там удаляем 
rpm -e --nodeps sysvinit-tools

13. Запускаем обновление системы 
!!! На этом этапе быть особенно внимательным
!!! в случае вылета из за пакета проще его также удалить
!!! Не забываем записывать что мы там удаляем 
!!! dnf remove name_conflict_package
!!! dnf remove php*
!!! dnf remove mariadb*
!!! dnf remove python36-rpmconf
!!! dnf clean all

sudo dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync

14. После обновления системы установим ядра
dnf -y install kernel-core
dnf -y groupupdate "Core" "Minimal Install"
dnf clean all

15. Если все прошло удачно можно перезагружается и приступать к восстановлению работы демонов
!!! Система может и не загрузится
!!! 1. проблемы с установкой grub2
!!! 2. проблемы с установкой ядер
reboot

Ошибка при установке YUM

!!! [...]
!!! Error: Transaction failed
cd /usr/bin
ln -s dnf-3 yum
cd /etc/yum
rm -r *
dnf -y install yum

Как загрузится в rescue:

!!! Для загрузки нам нужен будет iso Centos8 
0. В меню загрузки liveCD Centos8 выбираем "Troubleshooting -> Rescue a CentOS Linux"
1. Как загрузимся у нас будет выбор что делать
2. Нам нужно выбрать первый вариант Continium / Нажать цифра 1 / Enter

Сеть в режиме rescue:

!!! How to enable SSH access & configure network in rescue mode
0. Проверяем линки:
ip link

1. Добавляем ip на интерфейс ens3
!!! Синтаксис: ip addr add / dev 
ip addr add 192.168.100.17/24 dev ens3

2. Добавляем маршрут 
!!! Синтаксис: ip route add default via 
ip route add default via 192.168.100.1

3. Добавляем DNS
vim  cat /etc/resolv.conf
nameserver 192.168.100.1

Как восстановить GRUB Menu:

!!! How to Recover grub.cfg (GRUB Menu) in CentOS 8
!!! Убить можно вот так например (rm -f /boot/grub2/grub.cfg)
!!! ошибка: grub>

0. Загружаемся с liveCD CentOS8 
1. Жмем 1 и Enter

2. Выполняем смену окружения на sysimage (тут наш загрузчик centos сам его нашёл и под монтировал)
chroot /mnt/sysimage

3. Восстанавливаем файл grub.cfg
grub2-mkconfig -o /boot/grub2/grub.cfg

4. Трогаем файл .autorelabel, требуется для SElinux
touch /.autorelabel

5. Выходим из chroot и перезагружаемся
exit
reboot

Восстановления удаленного ядра

!!! Вот так можно убить (rm -f /boot/vmlinuz-4.18.0-80.el8.x86_64)
!!! error: ../../grub-core/fs/fshelp.c:258:file '/vmlinuz-4.18.0-80.el8.x86_64' not found.
!!! error: ../../grub-core/loader/i386/pc/linux.c:413:you need to load the kernel first.

0. Грузимся в liveCD centos8
1. Идем в каталог с ядрами
cd /mnt/install/repo/BaseOS/Packages

2. Ставим ядра с диска
rpm -ivh --root=/mnt/sysimage --replacepkgs kernel-core-4.18.0-80.el8.x86_64.rpm

3. Проверяем что ядра установились 
ls /mnt/sysimage/boot/vmlinuz*

4. Трогаем файл для SElinux
touch /mnt/sysimage/.autorelabel

5. Перезагружаемся
reboot

Восстановление директории /boot

!!! пример ненормальные удалили boot  (rm -rf /boot/*)
!!! error: ../../grub-core/fs/fshelp.c:258:file '/grub2/i386-pc/normal.mod' not found.
!!! Entering rescue mode...
!!! grub rescue>

0. Грузимся в LiveCD CentOS8 

1. Переходим в каталог с пакетами
cd /mnt/install/repo/BaseOS/Packages

2. Ставим пакет 
rpm -ivh --root=/mnt/sysimage --replacepkgs kernel-core-4.18.0-80.el8.x86_64.rpm

3. Выполняем chroot
chroot /mnt/sysimage

4. Устанавливаем grub2
grub2-install /dev/sda

5. Пере собираем меню загрузки
grub2-mkconfig -o /boot/grub2/grub.cfg

6. Как обычно трогаем файл для SElinux
touch /.autorelabel

7. Выходим из chroot и перезагружаемся
exit
reboot

Сброс пароля root

0. как обычно при выборе загрузки жмем e
1. Ищем строку примерно такую "root=/dev/mapper/cl-root ro \"
2. Меняем/дописываем ее "root=/dev/mapper/cl-root rw \ init=/sysroot/bin/sh"
3. Загрузившись выполняем
chroot /sysroot
4. Меняем пароль root
passwd root
5. Для selinux выполняем
touch /.autorelabel
6. Выходим из recovery и перезагружаемся
exit
reboot
Рубрики
CentOS

CentOS 8 \ oVirt \ установка

Ссылки:

https://computingforgeeks.com/install-standalone-ovirt-engine-on-centos/

Установка:

sudo dnf -y update
sudo yum -y install https://resources.ovirt.org/pub/yum-repo/ovirt-release44.rpm - добавляем репозиторий oVirt для CentOS 8.
sudo yum module -y enable javapackages-tools -  включаем модули  javapackages-tools
sudo yum module -y enable pki-deps - включаем модули pki-dep
sudo yum module -y enable postgresql:12 - включаем модулиpostgresql версия 12

sudo yum -y update - обновить пакеты 

sudo yum -y install vim tmux ovirt-engine - 

#При проблемах с сетью. 
#Запустите новый сеанс tmux для выполнения установки.
#tmux

sudo engine-setup - приступаем к настройке

Нажмите  Enter для продолжения настройки Engine на этом хосте.
На все вопросы отвечаем утвердительно [Yes].
Задаем пароль админу. 

###engine-setup --accept-defaults
###engine-setup

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --reload

Пароль и логин по умолчанию

https://ip

admin
пароль задается при выполнении engine-setup

Рубрики
CentOS

CentOS7 \ zabbix update \ upgrade \ 4.2

Ссылки:

https://www.zabbix.com/documentation/4.2/manual/installation/upgrade/packages/rhel_centos
https://serveradmin.ru/obnovlenie-zabbix-3-4-do-4-0/

Решение:

0. Останавливаем zabbix
systemctl stop zabbix-server
systemctl stop zabbix-proxy

1. Делаем резервные копии \ backup
!!! Сделай полноценный backup
mkdir /opt/zabbix-backup/ - создали бабку для бэкапов 
cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/ - бэкапим файлов
cp /etc/httpd/conf.d/zabbix.conf  /opt/zabbix-backup/ - бэкапим файлов
cp -R /usr/share/zabbix/ /opt/zabbix-backup/ - бэкапим файлов
cp -R /usr/share/doc/zabbix-* /opt/zabbix-backup/ - бэкапим файлов

mysqldump --opt -c -e -Q -hИМЯ_ХОСТА -uПОЛЬЗОВАТЕЛЬ -pПАРОЛЬ ИМЯ_БАЗЫ > /opt/zabbix-backup/ИМЯ_БАЗЫ.sql - бэкап базы

2. Добавляем репозиторий
rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm

3. Производим очистку обновлений в centos
yum clean all
yum makecache

4. Выполняем обновление
!!! Без бэкапу дальше не стоит идти
yum upgrade zabbix-server-mysql zabbix-web-mysql zabbix-agent

5. Запускаем zabbix
systemctl start zabbix-server
systemctl start zabbix-proxy
systemctl start zabbix-agent

6. немного выждав заходим на веб интерфейс
!!! Внимание могут писаться ошибки базы данных.
!!! Просто выжди минут 5-15 \ должно все заработать

Рубрики
CentOS

RPM пакеты (Fedora, Red Hat и тому подобное)

rpm -ivh package.rpm - установить пакет с выводом сообщений и прогресс-бара
rpm -ivh --nodeps package.rpm - установить пакет с выводом сообщений и прогресс-бара без контроля зависимостей
rpm -U package.rpm - обновить пакет без изменений конфигурационных файлов, в случае отсутствия пакета, он будет установлен
rpm -F package.rpm - обновить пакет только если он установлен
rpm -e package_name.rpm - удалить пакет
rpm -qa - отобразить список всех пакетов, установленных в системе
rpm -qa | grep httpd - среди всех пакетов, установленных в системе, найти пакет содержащий в своём имени "httpd"
rpm -qi package_name - вывести информацию о конкрентном пакете
rpm -qg "System Environment/Daemons" - отобразить пакеты входящие в группу пакетов
rpm -ql package_name - вывести список файлов, входящих в пакет
rpm -qc package_name - вывести список конфигурационных файлов, входящих в пакет
rpm -q package_name --whatrequires - вывести список пакетов, необходимых для установки конкретного пакета по зависимостям
rpm -q package_name --whatprovides - show capability provided by a rpm package
rpm -q package_name --scripts - отобразит скрипты, запускаемые при установке/удалении пакета
rpm -q package_name --changelog - вывести историю ревизий пакета
rpm -qf /etc/httpd/conf/httpd.conf - проверить какому пакету принадлежит указанный файл. Указывать следует полный путь и имя файла.
rpm -qp package.rpm -l - отображает список файлов, входящих в пакет, но ещё не установленных в систему
rpm --import /media/cdrom/RPM-GPG-KEY - ипортировать публичный ключ цифровой подписи
rpm --checksig package.rpm - проверит подпись пакета
rpm -qa gpg-pubkey - проверить целостность установленного содержимого пакета
rpm -V package_name - проверить размер, полномочия, тип, владельца, группу, MD5-сумму и дату последнего изменеия пакета
rpm -Va - проверить содержимое всех пакеты установленные в систему. Выполняйте с осторожностью!
rpm -Vp package.rpm - проверить пакет, который ещё не установлен в систему
rpm2cpio package.rpm | cpio --extract --make-directories *bin* - извлечь из пакета файлы содержащие в своём имени bin
rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm - установить пакет, собранный из исходных кодов
rpmbuild --rebuild package_name.src.rpm - собрать пакет из исходных кодов
Рубрики
CentOS

Системная информация \ cat \ uname \

arch
uname -m - отобразить архитектуру компьютера
uname -r - отобразить используемую версию ядра
dmidecode -q - показать аппаратные системные компоненты - (SMBIOS / DMI)
hdparm -i /dev/hda - вывести характеристики жесткого диска
hdparm -tT /dev/sda - протестировать производительность чтения данных с жесткого диска
cat /proc/cpuinfo - отобразить информацию о процессоре
cat /proc/interrupts - показать прерывания
cat /proc/meminfo - проверить использование памяти
cat /proc/swaps - показать файл(ы) подкачки
cat /proc/version - вывести версию ядра
cat /proc/net/dev - показать сетевые интерфейсы и статистику по ним
cat /proc/mounts - отобразить смонтированные файловые системы
lspci -tv - показать в виде дерева PCI устройства
lsusb -tv - показать в виде дерева USB устройства
date - вывести системную дату
cal 2007 - вывести таблицу-календарь 2007-го года
date 041217002007.00* - установить системные дату и время ММДДЧЧммГГГГ.СС (МесяцДеньЧасМинутыГод.Секунды)
clock -w - сохранить системное время в BIOS
Рубрики
CentOS

Установка \ удаление \ обновления пакетов \ YUM \

-----------------------------------------
yum update - получить список обновлений 
yum upgrade - обновить пакеты 
-----------------------------------------
yum -y install epel-release - добавление репозиториев EPEL
-----------------------------------------
yum provides "*bin/top" - найти пакет, который содержит файл
-----------------------------------------
tail /var/log/yum.log - просмотреть лог
-----------------------------------------
yum help - отображение команд и опций
yum list - список названий пакетов из репозиторий
yum list available - список всех доступных пакетов
yum list installed - список всех установленных пакетов
yum list installed httpd - установлен ли указанный пакет
yum list all - список установленных и доступных пакетов
yum list kernel - список пакетов, относящихся к ядру
yum info httpd - отображение информации о пакете
yum deplist httpd - список зависимостей и необходимых пакетов
yum provides "*bin/top" - найти пакет, который содержит файл
yum search httpd - поиск пакета по имени и описанию
yum updateinfo list security - получить информацию о доступных обновлениях безопасности
yum grouplist - вывести список групп
yum groupinfo "Basic Web Server" - вывести описание и содержимое группы 
yum groupinstall "Basic Web Server" - установка группы пакетов «Basic Web Server»
yum groupremove "Basic Web Server" - удаление группы
yum check-update - проверка на доступные обновления
yum repolist - список подключенных репозиториев
yum repoinfo epel - информация об определенном репозитории
yum repo-pkgs epel list - информация о пакетах в указанном репозитории
yum repo-pkgs reponame install - установить все пакеты из репозитория
yum repo-pkgs reponame remove - удалить пакеты установленные из репозитория
yum makecache - создать кэш
yum check - проверить локальную базу rpm (поддерживаются параметры dependencies, duplicates, obsoletes, provides)
yum history list - просмотр yum истории (вывод списка транзакций)
yum history info 9 - просмотр информации определенной транзакции (установленные пакеты, установленные зависимости)
yum clean packages - удалить пакеты сохраненные в кэше
yum clean all - удалить все пакеты и метаданные
yum update - обновить все пакеты
yum update-to - обновить до определенной версии
yum localinstall httpd.rpm - установить из локальной директории
yum install httpd.rpm - установить из локальной директории 
yum localinstall http://server/repo/httpd.rpm - установить с http
yum downgrade - откатиться к предыдущей версии пакета
yum reinstall httpd - переустановка пакета (восстановление удаленных файлов)
yum autoremove - удаление ненужных более пакетов
-----------------------------------------
createrepo - создание локальных репозиториев (createrepo ставится отдельно)
yum-cron - установка обновлений по расписанию (yum-cron устанавливается отдельно)


Рубрики
CentOS

Управление сетевым адаптером ip \ ip \ ss \ dhclient \

ip addr show - показать ip адрес
ps -uax - показать все процессы
iptables -S - действующие правила
ss -tulpan - все о соединениях 
-----------------------------------------
Сеть получение адреса по dhcp:
ip addr show - показать интерфейсы и полученные адреса (аналог ifconfig)
ss -tulpan - показать соединения (аналог netstat)
dhclient eth0 - получить адрес по dhcp для eth0
tcpdump -i eth0 -s 0 -A port 3128 - слушаем порт
-----------------------------------------
nmtui - консольная программа для настройки сети в псевдографике
-----------------------------------------
/etc/sysconfig/network-scripts/ - каталог с конфигурациями сети
vi /etc/sysconfig/network-scripts/ifcfg-eth0 - редактируем конфиг  eth0
vi /etc/resolv.conf - DNS 
-----------------------------------------
net-tool - устаревшие программы управления сетью (ifconfig,netstat...)
yum search net-tool
yum install net-tools.x86_64
-----------------------------------------
Рубрики
CentOS

SELINUX \ vi \ sestatus \ setsebool \ getsebool \

------------------------------------
sestatus - проверка включен ли selinux
/etc/selinux/config - конфиг selinux
enforsing - принудительный режим
permissive - режим предупреждения
------------------------------------
Отключение:
vi /etc/selinux/config
#SELINUX=enforcing
SELINUX=disabled
------------------------------------
getsebool -a - показать все доступные правила 
getsebool -a | grep ssh - показать правила ssh
getsebool -a | grep httpd - показать правила httpd
------------------------------------
setsebool -P httpd_can_network_connect 1 - разрешить подключение к веб серверу
------------------------------------
Рубрики
CentOS

Управление firewalld \ systemctl \ firewall-cmd \

systemctl disable firewalld - выключаем авто запуск  firewalld
systemctl stop firewalld -  выключаем firewalld 
systemctl - показать все демоны и их статус

firewall-cmd --permanent --list-all - показать все правила 
firewall-cmd --permanent --zone=public --add-port=80/tcp - разрешить порт 80/tcp зона public
firewall-cmd --permanent --zone=public --add-service=http - разрешить порт http зона public
firewall-cmd --permanent --zone=public --add-service=https - разрешить порт https зона public
firewall-cmd --permanent --zone=public --add-port=2234/tcp - разрешить порт 2234/tcp зона public
firewall-cmd --zone=public --add-port=5059-5061/udp - разрешить диапазон портов 5059-5061/udp
firewall-cmd --permanent --add-port=3128/tcp  - разрешить порт 3128/tcp
firewall-cmd --permanent --add-port=514/tcp  - разрешить порт 514/tcp
firewall-cmd --permanent --add-port=514/udp - разрешить порт 514/udp
firewall-cmd --permanent --add-port=http/tcp - разрешить порт http/tcp
firewall-cmd --permanent --add-port=https/tcp - разрешить порт https/tcp
firewall-cmd --permanent --add-port=ssh/tcp - разрешить порт ssh/tcp
firewall-cmd --reload - перезагрузить и применить изменение
Рубрики
CentOS sysctl \ настройки \ ограничения

sysctl \ ipv6 \ ping \ nat \ управление системными настройками \ ограничения на всю систему

ссылки

https://fasterdata.es.net/host-tuning/linux/
https://b14esh.com/nix/iptables/iptables-conntrack-nat.html
http://www.bog.pp.ru/work/linux_ip.html

sysctl

Вообще-то в sysctl кладезь информации, и она достойна отдельной подробной статьи
sysctl — позволяет посмотреть параметры в системы и внести изменения, такие как стек tcp/ip, виртуальной памяти
sysctl -a — показывает все параметры
sysctl kern.ipc.numopensockets — показывает количество открытых сокетов
sysctl kern.openfiles — показывает количество открытых файлов

sysctl ipv6

/etc/sysctl.conf - файл настроек
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
-------------------------------------
nano /usr/lib/sysctl.d/50-default.conf
nano /usr/lib/sysctl.d/00-system.conf
--------------------------------------

vim /etc/sysctl.conf 
---------------------
#disable ipv6 settins
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
---------------------

Применяем:
sysctl -p

sysctl -a - показать текущие значения
sysctl -w net.ipv6.conf.all.disable_ipv6=1 - выключить ipv6
sysctl -w net.ipv6.conf.default.disable_ipv6=1 - выключить ipv6
sysctl -p changes.conf - принять изменения в changes.conf без перезагрузки
sysctl -p - принять изменения в sysctl.conf без перезагрузки

ограничения на всю систему

 
sysctl -a - Смотрим системные ограничения
sysctl fs.file-max - Максимальное количество открытых файлов
sysctl fs.file-max=102400 - Меняем максимальное количества открытых файлов
echo "1024 50000" > /proc/sys/net/ipv4/ip_local_port_range - диапазон портов

cat /etc/sysctl.conf

fs.file-max=102400  - Ввод по умолчанию sysctl.conf
cat /proc/sys/fs/file-nr - Сколько дескрипторов файлов используется

Включение IP Forward

!!! По умолчанию ip forward выключен
!!! Если forward выключен то не будет работать маршрутизация между интерфейсами
cat /proc/sys/net/ipv4/ip_forward - проверяем текущие состояние ip_forward

echo 1 > /proc/sys/net/ipv4/ip_forward - так мы можем включить IP forward

!!! Для постоянного включения необходимо отредактировать файл  /etc/sysctl.conf, найти строку net.ipv4.ip_forward=1 и убрать комментарий с неё
nano /etc/sysctl.conf
---------------------
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
---------------------
sysctl -p  - выполняем для применения изменений без перезагрузки 
sysctl -f  - выполняем для применения изменений без перезагрузки 

NAT

!!! В организация NAT не должно быть в принципе.
!!! Доступ к интернету должен осуществляется через proxy сервер

NAT:
iptables -t nat -A POSTROUTING -o isp -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
 
forward port:
iptables -t nat -A PREROUTING -p tcp -d 192.168.3.124 --dport 3389 -j DNAT --to 10.70.70.105:3389
iptables -t nat -A PREROUTING -p tcp -d 192.168.3.124 --dport 5090 -j DNAT --to 10.70.70.101:5090

# sysctl net.netfilter.nf_conntrack_max - посмотреть текущий размер таблицы NAT
net.netfilter.nf_conntrack_max = 65536

# sysctl -a | grep conntrack_max - посмотреть текущий размер таблицы NAT
net.netfilter.nf_conntrack_max = 65536
net.ipv4.netfilter.ip_conntrack_max = 65536
net.nf_conntrack_max = 65536

# sysctl net.netfilter.nf_conntrack_count - посмотреть заполненность таблицы
net.netfilter.nf_conntrack_count = 654

отключаем ответы сервера на ping

 
sysctl net.ipv4.icmp_echo_ignore_all 
sysctl -w net.ipv4.icmp_echo_ignore_all=1 - отключаем ответ на ping

чтоб сохранялось при перегрузке
nano /etc/sysctl.conf - проверяем значение
net.ipv4.icmp_echo_ignore_all=1 - выставляем 1 и сохраняем

rp_filter

Принцип фильтрования в rp_filter:
Если ответ на текущий пакет не может уйти через тот же интерфейс (когда
приходит через один интерфейс, а уходит через другой), пакет отфильтровывается.

net.ipv4.conf.all.rp_filter = 1

Выключение rp_filter для всех интерфейсов:
for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do
  echo 0 > $i 
done

tunning network SFP+

!!! Современные дистрибутивы автоматически настраивают оптимальные параметры сетевой карты 

For a host with a 10G NIC, optimized for network paths up to 100ms RTT, and for friendliness to single and parallel stream tools, add this to /etc/sysctl.conf

# allow testing with buffers up to 64MB 
net.core.rmem_max = 67108864 
net.core.wmem_max = 67108864 
# increase Linux autotuning TCP buffer limit to 32MB
net.ipv4.tcp_rmem = 4096 87380 33554432
net.ipv4.tcp_wmem = 4096 65536 33554432
# recommended default congestion control is htcp 
net.ipv4.tcp_congestion_control=htcp
# recommended for hosts with jumbo frames enabled
net.ipv4.tcp_mtu_probing=1
# recommended to enable 'fair queueing'
net.core.default_qdisc = fq


For a host with a 10G NIC optimized for network paths up to 200ms RTT, and for friendliness to single and parallel stream tools, or a 40G NIC up on paths up to 50ms RTT:

# allow testing with buffers up to 128MB
net.core.rmem_max = 134217728 
net.core.wmem_max = 134217728 
# increase Linux autotuning TCP buffer limit to 64MB
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
# recommended default congestion control is htcp 
net.ipv4.tcp_congestion_control=htcp
# recommended for hosts with jumbo frames enabled
net.ipv4.tcp_mtu_probing=1
# recommended to enable 'fair queueing'
net.core.default_qdisc = fq
Рубрики
CentOS

ntp client daemon \ chronyd

yum install -y chrony - ставим ntp client
systemctl start chronyd - запускаем 
systemctl enable chronyd - включаем автозагрузку
systemctl status chronyd - проверяем состояние
Рубрики
CentOS

ntp client при загрузке \ запуске \ ntp \

yum install -y ntp - ставим ntp
systemctl start ntpd - запускаем ntpd
systemctl enable ntpd - включаем автозагрузку ntpd
ntpdate pool.ntp.org - синхронизировать время (разово)
Рубрики
CentOS

hostname \ имя ПК

hostnamectl set-hostname Your-New-Host-Name-Here - задать имя пк
hostnamectl status - посмотреть имя пк
hostnamectl set-hostname Your-New-Host-Name-Here - задать имя пк
nmtui - программа для конфигурирования подключения к сети и  имени пк
Рубрики
CentOS

wget качалка

yum install wget.x86_64
Рубрики
CentOS

sshd

yum -y install sshd
Рубрики
CentOS

unzip / unrar / архиваторы

yum -y install unzip - ставим программу для  распаковки zip
yum -y install unrar - ставим программу для  распаковки rar
Рубрики
CentOS

Средство управления пакетами — YUM ( Fedora, RedHat и т.д. )

yum list - вывести листинг пакетов, установленных в системе
yum clean headers - удалить все заголовки файлов, которые система использует для разрешения зависимостей
yum clean [package] - очистить rpm-кэш, удалив закачанные пакеты
yum search [package] - найти пакет в репозитории
yum clean all - очистить rpm-кэш, удалив закачанные пакеты и заголовки
yum -y install [ package ] - скачать и установить пакет
yum update [package] - обновить пакет
yum -y update - обновить все пакеты, установленные в систему
yum localinstall [ package.rpm ] - попытаться установить пакет RPM и все зависимые от него пакеты, используя ваши репозитории
yum remove [package]  - удалить пакет