👍6❤3🔥2🎉2⚡1
Маршруты в Windows
Добавить маршрут в Windows
Синтаксис добавления маршрута в CMD
где:
Ключ -p (persistent) добавит статический маршрут, т.е. он сохранится после перезагрузки. Во избежание стрельбы себе в ногу лучше сначала добавить без -p, протестить и потом уже добавить с -p.
SUBNET ID - подсеть которую мы добавляем
SUBNET MASK - маска для нового маршрута
METRIC - вес маршрута от 1 до 9999, чем меньше значение, тем выше приоритет маршрута
GATEWAY - гейтвей для новой подсети, по сути первый hop в который сервер отправит трафик
INTERFACE ID - необязательно, нро лучше указываем интерфейс, иначе может забиндиться на другой NIC и отправить трафик в неверном направлении, прописываем route print и смотрим внутренний номер интерфейса
Добавить маршрут в CMD
Прочитать можно так: чтобы трафик попал в подсеть 192.168.0.0/24, нужно обратиться к узлу 192.168.1.1 через сетевой интерфейс с айди 11
Добавить маршрут в PowerShell
Тут вместо route print используется Get-NetRoute
Удалить маршрут в Windows
Удалить маршрут в CMD
Удалить маршрут в PowerShell
@sysadmin1
route print - вывести список всех маршрутов, ключ -4 выведет все маршруты только по протоколу ipv4Добавить маршрут в Windows
Синтаксис добавления маршрута в CMD
route add -p <SUBNET_ID> mask <SUBNET_MASK> <GATEWAY> <METRIC> IF <INTERFACE_ID>где:
Ключ -p (persistent) добавит статический маршрут, т.е. он сохранится после перезагрузки. Во избежание стрельбы себе в ногу лучше сначала добавить без -p, протестить и потом уже добавить с -p.
SUBNET ID - подсеть которую мы добавляем
SUBNET MASK - маска для нового маршрута
METRIC - вес маршрута от 1 до 9999, чем меньше значение, тем выше приоритет маршрута
GATEWAY - гейтвей для новой подсети, по сути первый hop в который сервер отправит трафик
INTERFACE ID - необязательно, нро лучше указываем интерфейс, иначе может забиндиться на другой NIC и отправить трафик в неверном направлении, прописываем route print и смотрим внутренний номер интерфейса
Добавить маршрут в CMD
route add -p 192.168.0.0 MASK 255.255.255.0 192.168.1.1 metric 7 IF 11Прочитать можно так: чтобы трафик попал в подсеть 192.168.0.0/24, нужно обратиться к узлу 192.168.1.1 через сетевой интерфейс с айди 11
Добавить маршрут в PowerShell
Тут вместо route print используется Get-NetRoute
Get-NetAdapter используется чтобы узнать Interface Index
New-NetRoute -DestinationPrefix "192.168.0.0/24" -RouteMetric 7 -InterfaceIndex 11 -NextHop 192.168.1.1Удалить маршрут в Windows
Удалить маршрут в CMD
route delete 192.168.0.0 MASK 255.255.255.0 192.168.1.1 IF 11Удалить маршрут в PowerShell
Remove-NetRoute -DestinationPrefix "192.168.0.0/24" -RouteMetric 7 -InterfaceIndex 11 -NextHop 192.168.1.1@sysadmin1
👍6❤4🔥1🎉1
Протоколы транспортного уровня UDP, TCP И SCTP: достоинства и недостатки
На скринах рассматриваются три основных протокола транспортного уровня: UDP, TCP и SCTP, их преи- мущества и недостатки. Анализируется логика работы протоколов и ситуации, при которых предпо- чтительно использовать тот или иной протокол. Также приведено соответствие стека TCP/IP модели OSI и примеры приложений, использующих данные протоколы.
@sysadmin1
На скринах рассматриваются три основных протокола транспортного уровня: UDP, TCP и SCTP, их преи- мущества и недостатки. Анализируется логика работы протоколов и ситуации, при которых предпо- чтительно использовать тот или иной протокол. Также приведено соответствие стека TCP/IP модели OSI и примеры приложений, использующих данные протоколы.
@sysadmin1
👍5🔥2🎉2👌2🏆2
Offensive Linux Security Tools
🔍 Reconnaissance (Разведка)
- Recon-ng
- theHarvester
- Nmap
- Zenmap
- DNSRecon
- Mitaka
- Maltego
- Fierce
- SpiderFoot
- Masscan
- ZMap
🛠 Vulnerability Scanning (Сканирование уязвимостей)
- OpenVAS
- w3af
- Nikto
- Vuls
- Nessus 💲
🌐 Network-based Attacks (Сетевые атаки)
- Wireshark
- Ettercap
- ArpSpoof
- NetCat
- dSniff
- Scapy
- hping3
- Yersinia
🔑 Password & Brute Force Attacks (Атаки на пароли и перебор)
- John the Ripper
- Hashcat
- Crunch
- Hydra
- Medusa
- Rainbowcrack
- CeWL
- Patator
- Ophcrack
- pydictor
- Kraken
📱 Mobile Security (Безопасность мобильных устройств)
- Drozer
- Androguard
- Frida
- MobSF
- MAST
- NetHunter
- Android Tamer
- Apktool
- Quark Engine
- bettercap
🔄 Reverse Engineering (Реверс-инжиниринг)
- Radare2
- Ghidra
- Angr
🎯 Exploitation (Эксплуатация уязвимостей)
- Metasploit
- Exploit Pack
- SQL Ninja
- PTF
- jSQL Injection
- sqlmap
- Armitage
- BeEF
- RouterSploit
- ShellNoob
- ysoserial
- Ropper
- Commix
- Exploit-DB
- Pwntools
- SearchSploit
- XSSer
🏴☠️ Post-Exploitation (Действия после атаки)
- Empire
- Pupy
- Bloodhound
- Mimikatz
- DnsCat2
- Koadic
- Meterpreter
- BeRoot
- Pwncat
📶 Wireless Attacks (Атаки на беспроводные сети)
- Kismet
- PixieWPS
- Wifite
- Reaver
- Aircrack-ng
- airgeddon
- Wifi Pumpkin
🎭 Social Engineer & Phishing (Социальная инженерия и фишинг)
- SET
- Gophish
- King Phisher
- PhishX
🖥 Web App Pen Testing (Тестирование веб-приложений)
- Burp Suite 💲
- OWASP ZAP
- Arachni
- Wfuzz
- Skipfish
📋 Reporting & Documentation (Отчёты и документация)
- Dradis
- Faraday
- Serpico
- DefectDojo
- MagicTree
- Lair-framework
@sysadmin1
🔍 Reconnaissance (Разведка)
- Recon-ng
- theHarvester
- Nmap
- Zenmap
- DNSRecon
- Mitaka
- Maltego
- Fierce
- SpiderFoot
- Masscan
- ZMap
🛠 Vulnerability Scanning (Сканирование уязвимостей)
- OpenVAS
- w3af
- Nikto
- Vuls
- Nessus 💲
🌐 Network-based Attacks (Сетевые атаки)
- Wireshark
- Ettercap
- ArpSpoof
- NetCat
- dSniff
- Scapy
- hping3
- Yersinia
🔑 Password & Brute Force Attacks (Атаки на пароли и перебор)
- John the Ripper
- Hashcat
- Crunch
- Hydra
- Medusa
- Rainbowcrack
- CeWL
- Patator
- Ophcrack
- pydictor
- Kraken
📱 Mobile Security (Безопасность мобильных устройств)
- Drozer
- Androguard
- Frida
- MobSF
- MAST
- NetHunter
- Android Tamer
- Apktool
- Quark Engine
- bettercap
🔄 Reverse Engineering (Реверс-инжиниринг)
- Radare2
- Ghidra
- Angr
🎯 Exploitation (Эксплуатация уязвимостей)
- Metasploit
- Exploit Pack
- SQL Ninja
- PTF
- jSQL Injection
- sqlmap
- Armitage
- BeEF
- RouterSploit
- ShellNoob
- ysoserial
- Ropper
- Commix
- Exploit-DB
- Pwntools
- SearchSploit
- XSSer
🏴☠️ Post-Exploitation (Действия после атаки)
- Empire
- Pupy
- Bloodhound
- Mimikatz
- DnsCat2
- Koadic
- Meterpreter
- BeRoot
- Pwncat
📶 Wireless Attacks (Атаки на беспроводные сети)
- Kismet
- PixieWPS
- Wifite
- Reaver
- Aircrack-ng
- airgeddon
- Wifi Pumpkin
🎭 Social Engineer & Phishing (Социальная инженерия и фишинг)
- SET
- Gophish
- King Phisher
- PhishX
🖥 Web App Pen Testing (Тестирование веб-приложений)
- Burp Suite 💲
- OWASP ZAP
- Arachni
- Wfuzz
- Skipfish
📋 Reporting & Documentation (Отчёты и документация)
- Dradis
- Faraday
- Serpico
- DefectDojo
- MagicTree
- Lair-framework
@sysadmin1
🔥5🏆4⚡2👍2❤1
Как заставить пользователя изменить пароль при следующем входе в систему
Существует несколько способов.
Использование команды passwd
Использование команды chage
Срок действия паролей
Будет выведена следующая информация:
Когда пароль был последний раз изменен;
Дата окончания действия пароля;
Сколько дней осталось до окончания действия пароля;
Когда учетная запись пользователя будет закончена (можно, пожалуйста, далее мы будем говорить «заэкспайрится»?)
Минимальное количество дней между итерацией смены пароля;
Максимальное количество дней между итерацией смены пароля;
Заставляем пользователя менять пароль каждые 90 дней
Задаем срок жизни учетной записи (до 12 июня 2023)
Сколько времени на смену пароля?
В примере даем Борису 10 дней на смену пароля с момента как пароль заэкспайрился
Уведомление о смене пароля заранее
Через 25 дней истекает срок годности пароля Бориса
Защищаемся от частой смены паролей пользователя
Минимальное количество дней между сменой паролей
Удалить ограничение в днях
@sysadmin1
Существует несколько способов.
Использование команды passwd
sudo passwd --expire [username]Использование команды chage
sudo chage --lastday 0 [username]Срок действия паролей
chage -lБудет выведена следующая информация:
Когда пароль был последний раз изменен;
Дата окончания действия пароля;
Сколько дней осталось до окончания действия пароля;
Когда учетная запись пользователя будет закончена (можно, пожалуйста, далее мы будем говорить «заэкспайрится»?)
Минимальное количество дней между итерацией смены пароля;
Максимальное количество дней между итерацией смены пароля;
Заставляем пользователя менять пароль каждые 90 дней
sudo chage -M 90Задаем срок жизни учетной записи (до 12 июня 2023)
sudo chage -E 2023-06-12 serg
sudo chage -E 2023-06-12 olegСколько времени на смену пароля?
В примере даем Борису 10 дней на смену пароля с момента как пароль заэкспайрился
sudo chage -I 10 borisУведомление о смене пароля заранее
Через 25 дней истекает срок годности пароля Бориса
sudo chage -W 25 borisЗащищаемся от частой смены паролей пользователя
Минимальное количество дней между сменой паролей
sudo chage -m 25 borisУдалить ограничение в днях
sudo chage -m 0 sergey@sysadmin1
🔥4👍3❤2🎉2🏆1
Зарезервированные переменные Bash
Переменная Значение
@sysadmin1
Переменная Значение
$DIRSTACK Содержимое вершины стека каталогов.$EDITOR Текстовый редактор по-умолчанию.$EUID Эффективный UID. Если вы использовали программу su для выполнения команд от другого пользователя, то эта переменная содержит UID этого пользователя.$UID Содержит реальный идентификатор, который устанавливается только при логине.$FUNCNAME Имя текущей функции в скрипте.$GROUPS Массив групп к которым принадлежит текущий пользователь.$HOME Домашний каталог пользователя.$HOSTNAME hostname машины.$HOSTTYPE Архитектура машины.$LC_CTYPE Внутренняя переменная, которая определяет кодировку символов.$OLDPWD Прежний рабочий каталог.$OSTYPE Тип ОС.$PATH Путь поиска программ.$PPID Идентификатор родительского процесса.$SECONDS Время работы скрипта (в сек.)$# Общее количество параметров переданных скрипту$* Все аргументы переданыне скрипту(выводятся в строку).$@ Тоже самое, что и предыдущий, но параметры выводятся в столбик.$! PID последнего запущенного в фоне процесса.$$ PID самого скрипта.$? Содержит код завершения последней команды.@sysadmin1
🔥3👍2🎉2❤1🏆1
Основные команды Linux: Сеть (DNS)
@sysadmin1
ipcalc – калькулятор сетиethtool interface – отобразить физическую статистику интерфейса interface;ping host – пропинговать host и вывести результатwhois domain – получить информацию whois для domaintraceroute host – трассировка маршрута до определенного хостаifconfig eth0 – отображение/настройка параметров сетевого интерфейса etho (либо другого, если без указания интерфейса – отобразит конфигурацию всех интерфейсов)inet ip.add.re.s – задание ip адреса интерфейса (TCP/IP)mask xxx.xxx.xxx.xxx – задание маски подсети интерфейсаbroadkast xxx.xxx.xxx.xxx – задание широковещательного адреса интерфейсаup – запустить интерфейсdown – остановить интерфейс-a – отображение всех железных интерфейсов (в том числе и не поднятых и поднятых)route – отображение таблицу маршрутизации-n – не резолвить имена в адресаadd destination gw gateway metric metric – добавить маршрут (add) для destination (адрес назначения), IP адрес шлюза (gw) – gateway, с метрикой metricadd -net -указание добавить маршрут для сетиadd – host -указание добавить маршрут для хостаdel destination – удалить маршрут с назначением destinationmtr host – отображение статистики трассировки до хоста host (красивее чем трасероут 🙂 )netcat host port – просмотр, кто слушает портnc – TCP/IP швейцарсий нож 🙂-h – отобразить помощь-l port – прослушивать локальный порт port для входящих соединений.netstat -отображение статистики сети-r – таблица маршрутизации-n – без разрешения IP адресов в имена и сетевых портов в названия-a – состояние всех (во всех состояниях) соединений на локальной машине-t – статистика по протоколу TCP-u – статистика по протоколу UDP-i – отобразить статистику сетевых интерфейсов-l – просмотр сокетов, слушающих (LISTEN) соединения (ожидающих соединения)-p – отобразить имя программы и PID (process ID), с которой взаимодействует сокет@sysadmin1
👍4❤2🔥2🎉2💯2
📌Шпаргалка по отладке IP-пакетов (debug ip packet) в Cisco IOS
1. Включение отладки IP-пакетов
- Включает отладку всех IP-пакетов, проходящих через устройство.
- Будьте осторожны, так как это может создать высокую нагрузку на устройство, особенно в busy сетях.
2. Ограничение отладки
Чтобы уменьшить нагрузку, можно использовать Access Control List (ACL) для фильтрации пакетов:
-
-
3. Отключение отладки
или
``
- Отключает все отладочные команды или конкретно отладку IP-пакетов.
4. Интерпретация вывода
Вывод команды
- Source IP — IP-адрес отправителя.
- Destination IP — IP-адрес получателя.
- Protocol — используемый протокол (например, TCP, UDP, ICMP).
- Packet action — действие с пакетом (например, "forwarded", "dropped").
- Interface — интерфейс, через который проходит пакет.
Пример вывода:
- Пакет от 192.168.1.1 к 192.168.2.1 был переслан с интерфейса FastEthernet0/0 на FastEthernet0/1.
5. Полезные советы
- Используйте
- Для снижения нагрузки используйте фильтры (ACL).
- Включите логирование на консоль или буфер для анализа:
- Для остановки вывода на экран используйте:
6. Альтернативные команды
- Проверка маршрутизации:
- Проверка ARP-таблицы:
- Трассировка маршрута:
@sysadmin1
1. Включение отладки IP-пакетов
debug ip packet
- Включает отладку всех IP-пакетов, проходящих через устройство.
- Будьте осторожны, так как это может создать высокую нагрузку на устройство, особенно в busy сетях.
2. Ограничение отладки
Чтобы уменьшить нагрузку, можно использовать Access Control List (ACL) для фильтрации пакетов:
access-list 100 permit ip host <source-ip> host <destination-ip>
debug ip packet detail 100
-
access-list 100 — ACL, который фильтрует пакеты по source и destination IP.-
detail — показывает детализированную информацию о пакетах.3. Отключение отладки
undebug all
или
``
bash
no debug ip packet
``- Отключает все отладочные команды или конкретно отладку IP-пакетов.
4. Интерпретация вывода
Вывод команды
debug ip packet включает:- Source IP — IP-адрес отправителя.
- Destination IP — IP-адрес получателя.
- Protocol — используемый протокол (например, TCP, UDP, ICMP).
- Packet action — действие с пакетом (например, "forwarded", "dropped").
- Interface — интерфейс, через который проходит пакет.
Пример вывода:
IP: s=192.168.1.1 (FastEthernet0/0), d=192.168.2.1 (FastEthernet0/1), len 100, forward
- Пакет от 192.168.1.1 к 192.168.2.1 был переслан с интерфейса FastEthernet0/0 на FastEthernet0/1.
5. Полезные советы
- Используйте
debug только при необходимости и на короткое время.- Для снижения нагрузки используйте фильтры (ACL).
- Включите логирование на консоль или буфер для анализа:
logging console
logging buffered 10000
- Для остановки вывода на экран используйте:
no logging console
6. Альтернативные команды
- Проверка маршрутизации:
show ip route
- Проверка ARP-таблицы:
show ip arp
- Трассировка маршрута:
traceroute <destination-ip>
@sysadmin1
❤3👍3🔥3🎉2💯2
This media is not supported in your browser
VIEW IN TELEGRAM
Что происходит, когда вы вводите в браузер URL-адрес?
Давайте рассмотрим этот процесс пошагово.
Шаг 1. Пользователь вводит в браузер URL и нажимает Enter. Первое, что нам нужно сделать, это преобразовать URL в IP-адрес. Сопоставление обычно хранится в кэше, поэтому браузер ищет IP-адрес в нескольких уровнях кэша: кэше браузера, кэше ОС, локальном кэше и кэше провайдера. Если браузер не смог найти сопоставление в кэше, он обращается к DNS (Domain Name System) resolver для его разрешения.
Шаг 2. Если IP-адрес не удается найти ни в одном из кэшей, браузер обращается к DNS-серверам для выполнения рекурсивного DNS-поиска, пока IP-адрес не будет найден.
Шаг 3. Теперь, когда у нас есть IP-адрес сервера, браузер посылает на него HTTP-запрос. Для безопасного доступа к ресурсам сервера всегда следует использовать протокол HTTPS. Сначала браузер устанавливает TCP-соединение с сервером с помощью трехстороннего рукопожатия TCP. Затем он посылает открытый ключ клиенту. Клиент использует открытый ключ для шифрования сеансового ключа и отправляет его серверу. Сервер использует закрытый ключ для расшифровки сеансового ключа. Теперь клиент и сервер могут обмениваться зашифрованными данными с использованием сеансового ключа.
Шаг 4. Сервер обрабатывает запрос и отправляет ответ. Для успешного ответа код состояния равен 200. Ответ состоит из трех частей: HTML, CSS и Javascript. Браузер анализирует HTML и формирует дерево DOM. Он также анализирует CSS и генерирует дерево CSSOM. Затем он объединяет дерево DOM и дерево CSSOM в дерево рендеринга. Браузер отображает содержимое и показывает его пользователю.
@sysadmin1
Давайте рассмотрим этот процесс пошагово.
Шаг 1. Пользователь вводит в браузер URL и нажимает Enter. Первое, что нам нужно сделать, это преобразовать URL в IP-адрес. Сопоставление обычно хранится в кэше, поэтому браузер ищет IP-адрес в нескольких уровнях кэша: кэше браузера, кэше ОС, локальном кэше и кэше провайдера. Если браузер не смог найти сопоставление в кэше, он обращается к DNS (Domain Name System) resolver для его разрешения.
Шаг 2. Если IP-адрес не удается найти ни в одном из кэшей, браузер обращается к DNS-серверам для выполнения рекурсивного DNS-поиска, пока IP-адрес не будет найден.
Шаг 3. Теперь, когда у нас есть IP-адрес сервера, браузер посылает на него HTTP-запрос. Для безопасного доступа к ресурсам сервера всегда следует использовать протокол HTTPS. Сначала браузер устанавливает TCP-соединение с сервером с помощью трехстороннего рукопожатия TCP. Затем он посылает открытый ключ клиенту. Клиент использует открытый ключ для шифрования сеансового ключа и отправляет его серверу. Сервер использует закрытый ключ для расшифровки сеансового ключа. Теперь клиент и сервер могут обмениваться зашифрованными данными с использованием сеансового ключа.
Шаг 4. Сервер обрабатывает запрос и отправляет ответ. Для успешного ответа код состояния равен 200. Ответ состоит из трех частей: HTML, CSS и Javascript. Браузер анализирует HTML и формирует дерево DOM. Он также анализирует CSS и генерирует дерево CSSOM. Затем он объединяет дерево DOM и дерево CSSOM в дерево рендеринга. Браузер отображает содержимое и показывает его пользователю.
@sysadmin1
🔥5❤3👍3🎉2💯2
🚀 Шпаргалка по управлению логами с помощью Logrotate
Logrotate — это мощный инструмент для управления лог-файлами в Linux. Он помогает автоматизировать ротацию, сжатие, удаление и отправку логов, чтобы они не занимали всё свободное место на диске.
Основные команды Logrotate
1. Запуск вручную:
Можно указать конкретный конфиг:
2. Принудительная ротация:
3. Тестирование конфигурации:
(ключ
Структура конфигурационного файла
Конфигурация Logrotate обычно находится в
Пример конфига для ротации логов приложения:
Ключевые директивы
- daily/weekly/monthly/yearly: Частота ротации.
- rotate N: Хранить N архивов.
- compress: Сжимать логи (по умолчанию gzip).
- delaycompress: Сжимать не сразу, а на следующий цикл.
- missingok: Пропустить, если файл отсутствует.
- notifempty: Не ротировать пустые файлы.
- size: Ротация по размеру (например,
- create MODE USER GROUP: Создать новый файл с указанными правами.
- postrotate/endscript: Выполнить команды после ротации.
- prerotate/endscript: Выполнить команды перед ротацией.
- sharedscripts: Запускать скрипты один раз для всех логов.
- dateext: Добавлять дату к имени архива (вместо номера).
- olddir DIR: Перемещать архивы в указанную директорию.
Примеры использования
1. Ротация по размеру:
2. Ротация с отправкой логов на удалённый сервер:
3. Ротация с удалением старых логов:
Полезные советы
- Проверяйте конфигурацию перед применением с помощью
- Используйте
- Не забывайте про
@sysadmin1
Logrotate — это мощный инструмент для управления лог-файлами в Linux. Он помогает автоматизировать ротацию, сжатие, удаление и отправку логов, чтобы они не занимали всё свободное место на диске.
Основные команды Logrotate
1. Запуск вручную:
logrotate /etc/logrotate.conf
Можно указать конкретный конфиг:
logrotate /etc/logrotate.d/myapp
2. Принудительная ротация:
logrotate -f /etc/logrotate.conf
3. Тестирование конфигурации:
logrotate -d /etc/logrotate.conf
(ключ
-d включает режим отладки, изменения не применяются). Структура конфигурационного файла
Конфигурация Logrotate обычно находится в
/etc/logrotate.conf или в отдельных файлах в /etc/logrotate.d/. Пример конфига для ротации логов приложения:
/var/log/myapp/*.log {
daily # Ротация ежедневно
missingok # Пропустить, если файл отсутствует
rotate 7 # Хранить 7 архивов
compress # Сжимать архивы (gzip)
delaycompress # Сжимать не сразу, а на следующий цикл
notifempty # Не ротировать пустые файлы
create 0644 root root # Создать новый файл с указанными правами
sharedscripts # Запускать скрипты один раз для всех логов
postrotate
/usr/bin/systemctl restart myapp > /dev/null
endscript
}Ключевые директивы
- daily/weekly/monthly/yearly: Частота ротации.
- rotate N: Хранить N архивов.
- compress: Сжимать логи (по умолчанию gzip).
- delaycompress: Сжимать не сразу, а на следующий цикл.
- missingok: Пропустить, если файл отсутствует.
- notifempty: Не ротировать пустые файлы.
- size: Ротация по размеру (например,
size 100M или size 1G). - create MODE USER GROUP: Создать новый файл с указанными правами.
- postrotate/endscript: Выполнить команды после ротации.
- prerotate/endscript: Выполнить команды перед ротацией.
- sharedscripts: Запускать скрипты один раз для всех логов.
- dateext: Добавлять дату к имени архива (вместо номера).
- olddir DIR: Перемещать архивы в указанную директорию.
Примеры использования
1. Ротация по размеру:
/var/log/nginx/*.log {
size 100M
rotate 5
compress
missingok
notifempty
create 0644 www-data www-data
}
2. Ротация с отправкой логов на удалённый сервер:
/var/log/myapp/*.log {
daily
rotate 7
compress
postrotate
scp /var/log/myapp/*.gz user@remote:/backup/logs/
endscript
}
3. Ротация с удалением старых логов:
/var/log/oldlogs/*.log {
weekly
rotate 2
compress
missingok
notifempty
olddir /var/log/archived
}
Полезные советы
- Проверяйте конфигурацию перед применением с помощью
logrotate -d. - Используйте
cron для автоматизации запуска Logrotate. - Не забывайте про
postrotate, если нужно перезапускать сервисы после ротации. @sysadmin1
👍5❤3🔥2🎉2🏆2
🛠 Шпаргалка по настройке RAID-массивов
📌 Основные типы RAID
- RAID 0 (Striping) – максимальная скорость, нет отказоустойчивости.
- RAID 1 (Mirroring) – дублирование данных, отказ одного диска не влияет.
- RAID 5 (Striping с чексуммами) – минимум 3 диска, отказ 1 диска.
- RAID 6 (Striping с двойными чексуммами) – минимум 4 диска, отказ 2 дисков.
- RAID 10 (RAID 1+0) – минимум 4 диска, скорость и отказоустойчивость.
🏗 Настройка RAID в Linux (mdadm)
1️⃣ Установка
2️⃣ Создание RAID
- RAID 0:
- RAID 1:
- RAID 5:
- RAID 6:
- RAID 10:
3️⃣ Проверка статуса RAID
4️⃣ Форматирование RAID и монтирование
Добавить в
🔄 Управление RAID
🔹 Добавление нового диска
🔹 Удаление неисправного диска
🔹 Восстановление массива
🔹 Удаление RAID
📝 Сохранение конфигурации
📍 Дополнительно
- Проверка состояния дисков:
- Мониторинг RAID:
@sysadmin1
📌 Основные типы RAID
- RAID 0 (Striping) – максимальная скорость, нет отказоустойчивости.
- RAID 1 (Mirroring) – дублирование данных, отказ одного диска не влияет.
- RAID 5 (Striping с чексуммами) – минимум 3 диска, отказ 1 диска.
- RAID 6 (Striping с двойными чексуммами) – минимум 4 диска, отказ 2 дисков.
- RAID 10 (RAID 1+0) – минимум 4 диска, скорость и отказоустойчивость.
🏗 Настройка RAID в Linux (mdadm)
1️⃣ Установка
mdadm sudo apt install mdadm # Для Debian/Ubuntu
sudo yum install mdadm # Для CentOS/RHEL
2️⃣ Создание RAID
- RAID 0:
sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sd[b-c]
- RAID 1:
sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sd[b-c]
- RAID 5:
sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sd[b-d]
- RAID 6:
sudo mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sd[b-e]
- RAID 10:
sudo mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sd[b-e]
3️⃣ Проверка статуса RAID
cat /proc/mdstat
sudo mdadm --detail /dev/md0
4️⃣ Форматирование RAID и монтирование
sudo mkfs.ext4 /dev/md0
sudo mkdir /mnt/raid
sudo mount /dev/md0 /mnt/raid
Добавить в
fstab для автоматического монтирования: echo "/dev/md0 /mnt/raid ext4 defaults,nofail,discard 0 2" | sudo tee -a /etc/fstab
🔄 Управление RAID
🔹 Добавление нового диска
sudo mdadm --add /dev/md0 /dev/sdX
🔹 Удаление неисправного диска
sudo mdadm --fail /dev/md0 /dev/sdX
sudo mdadm --remove /dev/md0 /dev/sdX
🔹 Восстановление массива
sudo mdadm --add /dev/md0 /dev/sdX
🔹 Удаление RAID
sudo umount /mnt/raid
sudo mdadm --stop /dev/md0
sudo mdadm --remove /dev/md0
sudo mdadm --zero-superblock /dev/sd[b-e]
📝 Сохранение конфигурации
sudo mdadm --detail --scan >> /etc/mdadm/mdadm.conf
sudo update-initramfs -u # Для Debian/Ubuntu
📍 Дополнительно
- Проверка состояния дисков:
sudo smartctl -a /dev/sdX
- Мониторинг RAID:
sudo mdadm --monitor --scan --daemonize
@sysadmin1
🎉2💯2👍1🔥1🏆1