понедельник, 29 января 2024 г.

Установка Grafana 10.3 в RockyLinux 9

# yum install -y https://dl.grafana.com/oss/release/grafana-10.3.1-1.x86_64.rpm
# systemctl start grafana-server
# systemctl enable grafana-server
# firewall-cmd --permanent --zone=public --add-port=3000/tcp
# firewall-cmd --reload

Теперь подключиться к Grafana можно по url: http://IPадрес:3000
Будет запрошен логин и пароль (по умолчанию данные для входа admin / admin)


После первого входа сразу будет предложено сменить пароль.


После этого откроется стартовая страница Grafana




четверг, 25 января 2024 г.

Установка и настройка простого кеширующего сервера systemd-resolved

systemd-resolved — это сервис systemd для локального резолвинга DNS запросов

Часто сервис уже установлен в системе по умолчанию.
Если нет, то установка выполняется так:
# yum install systemd-resolved
# systemctl enable systemd-resolved


Проверка
# resolvectl status

Настройка DNS
# nano /etc/systemd/resolved.conf
Прописываем вышестоящие DNS, например такие
DNS=8.8.8.8 1.0.0.1

Рестарует сервис:
# systemctl restart systemd-resolved

Для того что бы система использовала локальный DNS systemd-resolved
Необходимо:
# nano /etc/resolv.conf
Прописываем единственный DNS вставив строку (остальные комментируем)
nameserver 127.0.0.53
Если в файле /etc/resolv.conf первая строка такая:
# Generated by NetworkManager
значит файл генерируется автоматически утилитой NetworkManager.
И установить DNS нужно так:
# nmcli con mod "ens18" ipv4.dns "10.10.49.99 10.101.3.12 10.101.3.11"
# systemctl restart NetworkManager
Теперь все хорошо.

Активирование режима маршрутизации в Linux

Для возможности пересылки IP пакетов через сервер Linux необходимо включить эту возможность.
По умолчанию пересылка пакетов через систему запрещена.
Для активации выполнить:

# touch /etc/sysctl.d/100-ip_forward.conf
# nano /etc/sysctl.d/100-ip_forward.conf

В файл вписываем строку:
net.ipv4.ip_forward = 1
Перезагружаемся:
# shutdown -r now

Проверка после перезагрузки:
# cat /proc/sys/net/ipv4/ip_forward
(вывод 1)
# sysctl net.ipv4.ip_forward
(вывод net.ipv4.ip_forward = 1)

понедельник, 22 января 2024 г.

Установка простого DNS сервера DNSMASQ в RockyLinux 9

Устанавливаем пакет DNSMASQ
# yum install dnsmasq

По умолчанию запущенный dnsmasq использует файл /etc/resolv.conf для установки вышестоящих DNS серверов, а файл /etc/hosts для задания своих имен.

Немного отредактируем конфигурационный файл:
# nano /etc/dnsmasq.conf
Необходимо раскомментировать директивы no-resolv и no-poll
Это запрещает брать настройки из файла /etc/resolv.conf и как-то влиять на этот файл.
no-resolv
no-poll

Затем необходимо прописать вышестоящие DNS сервера, которые теперь не берутся из /etc/resolv.conf
server=10.10.1.12
server=10.10.3.12

Раскомментируем директиву, которая отключает кэширование негативных ответов
no-negcache
Добавляем строку, определяющую, на каких интерфейсах будет работать DNS сервер.
Следующая строка заставляет сервер работать на всех интерфейсах
listen-address=0.0.0.0
При этом комментируем строку:
#interface=lo
Следующими директивами отключаем DHCP сервер на интерфейсах:
no-dhcp-interface=ens18
no-dhcp-interface=ens19

Тут ens18 и ens19 - имена интерфейсов на машине

Разрешаем доступ к серверу DNSMASQ по сети (по стандартому порту 53)
# systemctl start dnsmasq
# systemctl enable dnsmasq
# firewall-cmd --permanent --add-port=53/tcp
# firewall-cmd --permanent --add-port=53/udp
# firewall-cmd --reload


Проверка запущенных портов и возможности приема данных на портах через файрволл
# netstat -ltupn | grep dnsmasq
# firewall-cmd --list-all
# systemctl status dnsmasq


После каких либо изменений конфигурации DNSMASQ выполняем
# systemctl restart dnsmasq

Для того, что бы сам текущий сервер брал настройки из сервера DNSMASQ нужно в файл /etc/resolv.conf внести изменения.
Закомментировать все и прописать обращения к localhost
# nano /etc/resolv.conf
nameserver 127.0.0.1

Установка Squid в Linux (Rocky Linux 9)

Установка Squid Из репозитария:
$ sudo yum install squid

Проверка установки:
$ /usr/sbin/squid -v

Запуск:
$ sudo systemctl enable squid
$ sudo systemctl start squid


Файл конфигурации:
/etc/squid/squid.conf
Логи лежат в файлах:
/var/log/squid/access.log
/var/log/squid/cache.log

Открываем файл конфигурации:
$ sudo nano /etc/squid/squid.conf
Проверяем главную директиву:
http_port 3128
По умолчанию сервис squid прослушивает порт 3128 и пропускает в Интернет пакеты, которые идут на порт 3128 на все интерфейсы данного сервера.
В файле конфигурации уже прописаны приватные сети, которым разрешено пользоваться прокси-сервером. Это задается в директивах acl localnet.
Выход в интернет для сетей, перечисленных в acl localnet задается директивой:
http_access allow localnet
Директивами acl SSL_ports и acl Safe_ports описываются порты, разрешенные для запросов пользователей. Другие запросы и соединения по неизвестным портам будут блокироваться. За это отвечают директивы:
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports


Теперь открываем порт 3128 для приема обращений к прокси-серверу squid:
# firewall-cmd --permanent --add-port=3128/tcp
# firewall-cmd --reload

Проверка:
# firewall-cmd --list-all (firewall-cmd --list-all-zones)

Настроим ротацию логов squid. Будем проводить ротацию ежемесячно. Сжатые логи за последние три месяца будем хранить.
Настройки выполняются тут: /etc/logrotate.d/squid
# nano /etc/logrotate.d/squid
В файле, имеющемся по умолчанию, меняется только директива monthly, говорящая о том, что логи будут сжиматься ежемесячно.
И меняется директива rotate 3 (по умолчанию 5), которая говорит о том, что после сжатия будет храниться 3 экземпляра логов (то есть за три месяца).
Полный файл конфигурации ротации логов:
/var/log/squid/*.log {
   #Ежемесячная ротация
   monthly
   #Хранить три архива до удаления
   rotate 3
   compress
   delaycompress
   notifempty
   missingok
   nocreate
   sharedscripts
   postrotate
   # Asks squid to reopen its logs. 
   #(logfile_rotate 0 is set in squid.conf)
   # errors redirected to make it silent if squid is not running
      /usr/sbin/squid -k rotate 2>/dev/null
   endscript
}



=======================================================================

Настройка сервера Linux для работы через прокси-сервер:

Для работы утилиты wget:
# nano /etc/wgetrc
Добавляем после
#https_proxy = http://proxy.yoyodyne.com:18023/
#http_proxy = http://proxy.yoyodyne.com:18023/
http_proxy = http://10.10.0.27:3128/
https_proxy = http://10.10.0.27:3128/

Раскомментируем:
use_proxy = on

Для работы yum и dnf
# nano /etc/yum.conf (или /etc/dnf/dnf.conf)
Добавить к конец:
proxy=http://10.10.0.27:3128/

Для работы curl, pip, composer:
# nano /etc/environment
HTTP_PROXY=http://10.10.0.27:3128
HTTPS_PROXY=http://10.10.0.27:3128