🚀 Шпаргалка по управлению логами с помощью 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
🛠 Шпаргалка: Диагностика и замена компонентов серверов
🔎 1. Базовая диагностика сервера
✅ Проверка аппаратного состояния
- IPMI / iLO / iDRAC / BMC – удалённый мониторинг железа
- BIOS/UEFI – проверка ошибок железа
- POST (Power-On Self-Test) – отслеживание ошибок при загрузке
- Лог сервера (DMESG, Syslog, Event Log)
📌 Команды диагностики в Linux
- Просмотр оборудования:
- Информация о процессоре:
- Информация о памяти:
- Проверка SMART-дисков:
- Загрузка и температура компонентов:
- Проверка ошибок оперативной памяти:
- Проверка RAID-массива:
- Мониторинг сетевых интерфейсов:
🛠 2. Замена компонентов
🔹 Замена процессора (CPU)
1. Выключите сервер и отключите питание
2. Снимите систему охлаждения (радиатор, вентилятор)
3. Аккуратно замените процессор (проверить контакты)
4. Нанесите термопасту, установите охлаждение
5. Включите сервер и проверьте BIOS
🔹 Замена оперативной памяти (RAM)
1. Отключите сервер
2. Извлеките старые модули, установите новые
3. Проверьте в BIOS (должна определиться)
4. Протестируйте память:
🔹 Замена дисков (HDD / SSD)
- Для обычного диска:
1. Выключите сервер
2. Извлеките неисправный диск, вставьте новый
3. Проверьте BIOS / RAID
4. Инициализируйте диск в ОС:
- Для RAID:
1. Проверить статус RAID:
2. Отметить диск как неисправный и удалить:
3. Добавить новый диск:
🔹 Замена блока питания (PSU)
1. Полностью обесточьте сервер
2. Снимите старый блок питания
3. Установите новый (проверить разъемы)
4. Включите сервер, проверьте питание
🔹 Замена вентиляторов и системы охлаждения
1. Очистите пыль
2. Проверьте работу вентиляторов:
3. При необходимости замените, учитывая направление воздушного потока
🚀 3. После замены
🔄 Проверка работоспособности
- Просмотр логов:
- Тестирование нагрузки:
- Мониторинг температуры:
🔧 Создание отчёта о системе
@sysadmin1
🔎 1. Базовая диагностика сервера
✅ Проверка аппаратного состояния
- IPMI / iLO / iDRAC / BMC – удалённый мониторинг железа
- BIOS/UEFI – проверка ошибок железа
- POST (Power-On Self-Test) – отслеживание ошибок при загрузке
- Лог сервера (DMESG, Syslog, Event Log)
📌 Команды диагностики в Linux
- Просмотр оборудования:
lshw -short
- Информация о процессоре:
lscpu
- Информация о памяти:
free -m
dmidecode -t memory
- Проверка SMART-дисков:
smartctl -a /dev/sdX
- Загрузка и температура компонентов:
sensors
htop
- Проверка ошибок оперативной памяти:
journalctl -k | grep -i "memory"
- Проверка RAID-массива:
cat /proc/mdstat
sudo mdadm --detail /dev/md0
- Мониторинг сетевых интерфейсов:
ethtool eth0
ip -s link show eth0
🛠 2. Замена компонентов
🔹 Замена процессора (CPU)
1. Выключите сервер и отключите питание
2. Снимите систему охлаждения (радиатор, вентилятор)
3. Аккуратно замените процессор (проверить контакты)
4. Нанесите термопасту, установите охлаждение
5. Включите сервер и проверьте BIOS
🔹 Замена оперативной памяти (RAM)
1. Отключите сервер
2. Извлеките старые модули, установите новые
3. Проверьте в BIOS (должна определиться)
4. Протестируйте память:
memtester 512M 5
🔹 Замена дисков (HDD / SSD)
- Для обычного диска:
1. Выключите сервер
2. Извлеките неисправный диск, вставьте новый
3. Проверьте BIOS / RAID
4. Инициализируйте диск в ОС:
lsblk
fdisk /dev/sdX
- Для RAID:
1. Проверить статус RAID:
cat /proc/mdstat
2. Отметить диск как неисправный и удалить:
mdadm --fail /dev/md0 /dev/sdX
mdadm --remove /dev/md0 /dev/sdX
3. Добавить новый диск:
mdadm --add /dev/md0 /dev/sdX
🔹 Замена блока питания (PSU)
1. Полностью обесточьте сервер
2. Снимите старый блок питания
3. Установите новый (проверить разъемы)
4. Включите сервер, проверьте питание
🔹 Замена вентиляторов и системы охлаждения
1. Очистите пыль
2. Проверьте работу вентиляторов:
ipmitool sdr list | grep FAN
3. При необходимости замените, учитывая направление воздушного потока
🚀 3. После замены
🔄 Проверка работоспособности
- Просмотр логов:
dmesg | tail -50
journalctl -xe
- Тестирование нагрузки:
stress-ng --cpu 4 --timeout 60s
- Мониторинг температуры:
sensors
watch -n 2 sensors
🔧 Создание отчёта о системе
lshw > hardware_report.txt
dmidecode > bios_info.txt
journalctl -b > boot_log.txt
@sysadmin1
❤4👍3🔥3✍2⚡2
🛠Шпаргалка по настройке DKIM, SPF, DMARC
1. SPF (Sender Policy Framework)
SPF помогает получающим серверам проверять, разрешено ли отправителю рассылать письма от имени домена.
Настройка:
1. Добавьте TXT-запись в DNS-зону домена.
2. Пример SPF-записи:
-
-
-
Проверка SPF:
- Используйте https://mxtoolbox.com/SuperTool.aspx
2. DKIM (DomainKeys Identified Mail)
DKIM – цифровая подпись писем, которая подтверждает их подлинность и целостность.
Настройка:
1. Включите DKIM в панели управления почтового сервиса (например, Gmail, Microsoft 365).
2. Добавьте в DNS TXT-запись с публичным ключом.
3. Пример DKIM-записи:
-
-
-
Проверка DKIM:
- Используйте https://dkimcore.org/tools/keycheck.html
3. DMARC (Domain-based Message Authentication, Reporting, and Conformance)
DMARC определяет, что делать с письмами, если они не проходят SPF и DKIM.
Настройка:
1. Добавьте TXT-запись в DNS-зону домена.
2. Пример DMARC-записи:
-
-
-
-
Проверка DMARC:
- Используйте https://mxtoolbox.com/dmarc.aspx
💡 Рекомендации:
- Начинайте с
- Регулярно проверяйте DMARC-отчёты.
- Убедитесь, что все ваши сервисы добавлены в SPF.
- Обновляйте DKIM-ключи каждые 6-12 месяцев.
🔹 Сохраните эту шпаргалку, чтобы не потерять! 🔹
@sysadmin1
1. SPF (Sender Policy Framework)
SPF помогает получающим серверам проверять, разрешено ли отправителю рассылать письма от имени домена.
Настройка:
1. Добавьте TXT-запись в DNS-зону домена.
2. Пример SPF-записи:
v=spf1 include:_spf.google.com ~all
-
v=spf1 – версия SPF-
include:_spf.google.com – разрешаем Google отправлять письма от имени домена-
~all – мягкий отказ (можно заменить на -all для жёсткого отказа)Проверка SPF:
- Используйте https://mxtoolbox.com/SuperTool.aspx
2. DKIM (DomainKeys Identified Mail)
DKIM – цифровая подпись писем, которая подтверждает их подлинность и целостность.
Настройка:
1. Включите DKIM в панели управления почтового сервиса (например, Gmail, Microsoft 365).
2. Добавьте в DNS TXT-запись с публичным ключом.
3. Пример DKIM-записи:
v=DKIM1; k=rsa; p=MIIBIjANBgkqh...
-
v=DKIM1 – версия DKIM-
k=rsa – алгоритм шифрования-
p=MIIBIjANBgkqh... – публичный ключПроверка DKIM:
- Используйте https://dkimcore.org/tools/keycheck.html
3. DMARC (Domain-based Message Authentication, Reporting, and Conformance)
DMARC определяет, что делать с письмами, если они не проходят SPF и DKIM.
Настройка:
1. Добавьте TXT-запись в DNS-зону домена.
2. Пример DMARC-записи:
v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@example.com; pct=100
-
v=DMARC1 – версия DMARC-
p=quarantine – политика (можно none, quarantine, reject)-
rua=mailto:dmarc-reports@example.com – email для отчётов-
pct=100 – процент писем, к которым применяется политикаПроверка DMARC:
- Используйте https://mxtoolbox.com/dmarc.aspx
💡 Рекомендации:
- Начинайте с
p=none, затем переходите на quarantine, потом reject.- Регулярно проверяйте DMARC-отчёты.
- Убедитесь, что все ваши сервисы добавлены в SPF.
- Обновляйте DKIM-ключи каждые 6-12 месяцев.
🔹 Сохраните эту шпаргалку, чтобы не потерять! 🔹
@sysadmin1
👍5❤2✍2🔥2🎉2
Управление сервисами systemd через
1. Основные команды для управления сервисами
Используем команду
Запуск, остановка и перезапуск сервиса
Включение и отключение автозапуска
Проверка состояния сервиса
Проверка запущенных сервисов
2. Работа с юнитами systemd
Каждый сервис в
Перезапуск systemd и перечитывание конфигурации
Редактирование юнитов сервисов
Удаление override-конфигурации
3. Дополнительные команды
Маскировка и размаскировка сервиса
Выключение и перезагрузка системы через systemd
4. Примеры работы
Запуск и настройка сервиса Nginx
Остановка и отключение сервиса Apache
5. Полезные флаги systemctl
Флаг Описание
@sysadmin1
systemctl1. Основные команды для управления сервисами
Используем команду
systemctl для управления сервисами (демонами) в systemd.Запуск, остановка и перезапуск сервиса
sudo systemctl start <service> # Запуск сервиса
sudo systemctl stop <service> # Остановка сервиса
sudo systemctl restart <service> # Перезапуск сервиса
sudo systemctl reload <service> # Перезагрузка конфигурации (без остановки)
Включение и отключение автозапуска
sudo systemctl enable <service> # Включить автозапуск сервиса
sudo systemctl disable <service> # Отключить автозапуск сервиса
sudo systemctl is-enabled <service> # Проверить статус автозапуска
Проверка состояния сервиса
systemctl status <service> # Проверить текущее состояние сервиса
journalctl -u <service> # Просмотреть логи сервиса
Проверка запущенных сервисов
systemctl list-units --type=service --state=running # Вывести запущенные сервисы
systemctl list-units --type=service # Все загруженные сервисы
2. Работа с юнитами systemd
Каждый сервис в
systemd представлен в виде юнита (.service).Перезапуск systemd и перечитывание конфигурации
sudo systemctl daemon-reexec # Перезапуск systemd без перезапуска сервисов
sudo systemctl daemon-reload # Обновить конфигурацию systemd после изменения юнитов
Редактирование юнитов сервисов
sudo systemctl edit <service> # Изменить конфигурацию юнита (создает override)
sudo systemctl cat <service> # Просмотреть конфигурацию юнита
Удаление override-конфигурации
sudo systemctl revert <service>
3. Дополнительные команды
Маскировка и размаскировка сервиса
sudo systemctl mask <service> # Полностью отключить сервис (даже если включен)
sudo systemctl unmask <service> # Разрешить сервис (после mask)
Выключение и перезагрузка системы через systemd
sudo systemctl reboot # Перезагрузка системы
sudo systemctl poweroff # Выключение системы
sudo systemctl suspend # Усыпление системы
sudo systemctl halt # Остановка системы без выключения питания
4. Примеры работы
Запуск и настройка сервиса Nginx
sudo systemctl start nginx # Запускаем сервис
sudo systemctl enable nginx # Включаем автозапуск
systemctl status nginx # Проверяем статус
journalctl -u nginx --no-pager # Просматриваем логи
Остановка и отключение сервиса Apache
sudo systemctl stop apache2 # Остановка сервиса
sudo systemctl disable apache2 # Отключение автозапуска
sudo systemctl mask apache2 # Полностью блокируем его запуск
5. Полезные флаги systemctl
Флаг Описание
--no-pager Вывод без постраничного просмотра--failed Показывает только сбойные юниты--type=service Фильтр по типу "service"--all Показывает все юниты, включая неактивные@sysadmin1
🔥5👍3⚡2❤2🎉2
Порты и протоколы 📡💻
🔹 Общие сетевые протоколы
- ARP – Протокол разрешения адресов (сопоставляет IP с MAC-адресом).
- TCP – Протокол управления передачей (соединение с контролем передачи).
- UDP – Протокол дейтаграмм пользователя (бесконтактная передача данных).
🔹 Протоколы управления сетью
- DHCP (udp/67, udp/68) – Протокол динамической конфигурации узла (автоматическая выдача IP).
- DNS (udp/53, tcp/53) – Система доменных имен (преобразует доменные имена в IP).
- ICMP – Протокол управляющих сообщений (используется для диагностики сети).
- SNMP (udp/161) – Простой протокол управления сетью (сбор данных и управление устройствами).
- Telnet (tcp/23) – Доступ к удалённому устройству через консоль.
- SSH (tcp/22) – Безопасный удалённый доступ к устройству (зашифрованный вход в консоль).
- RDP (tcp/3389) – Протокол удалённого рабочего стола (графический интерфейс удалённого управления).
🔹 Приложенческие протоколы
- FTP (tcp/20, tcp/21) – Протокол передачи файлов (отправка и получение файлов между устройствами).
- TFTP (udp/69) – Упрощённая версия FTP (простой способ передачи файлов).
- SMB (tcp/445) – Протокол обмена файлами в Windows (сетевой доступ к файлам и принтерам).
- SMTP (tcp/25) – Простой протокол передачи почты (отправка email).
- POP3 (tcp/110) – Протокол почты версии 3 (получение email в клиенте).
- IMAP4 (tcp/143) – Улучшенная версия почтового протокола (удобное управление email).
- HTTP (tcp/80) – Протокол передачи гипертекста (основа веб-коммуникации).
- HTTPS (tcp/443) – Безопасный HTTP (шифрованное соединение в интернете).
- TLS/SSL (tcp/443) – Протоколы безопасного соединения (защита веб-трафика).
- NetBIOS (udp/137, udp/138, tcp/139) – Протоколы для взаимодействия устройств в локальной сети.
🔹 Протоколы VoIP (голосовая связь по IP)
- SIP (tcp/5060-5061) – Протокол установления соединений (VoIP-сигнализация).
- RTP (динамический порт) – Протокол передачи реального времени (VoIP-аудио/видео поток).
- MGCP (udp/2427, udp/2727) – Протокол управления медиашлюзами.
- H.323 (tcp/1720) – Протокол голосовой связи по IP.
@sysadmin1
🔹 Общие сетевые протоколы
- ARP – Протокол разрешения адресов (сопоставляет IP с MAC-адресом).
- TCP – Протокол управления передачей (соединение с контролем передачи).
- UDP – Протокол дейтаграмм пользователя (бесконтактная передача данных).
🔹 Протоколы управления сетью
- DHCP (udp/67, udp/68) – Протокол динамической конфигурации узла (автоматическая выдача IP).
- DNS (udp/53, tcp/53) – Система доменных имен (преобразует доменные имена в IP).
- ICMP – Протокол управляющих сообщений (используется для диагностики сети).
- SNMP (udp/161) – Простой протокол управления сетью (сбор данных и управление устройствами).
- Telnet (tcp/23) – Доступ к удалённому устройству через консоль.
- SSH (tcp/22) – Безопасный удалённый доступ к устройству (зашифрованный вход в консоль).
- RDP (tcp/3389) – Протокол удалённого рабочего стола (графический интерфейс удалённого управления).
🔹 Приложенческие протоколы
- FTP (tcp/20, tcp/21) – Протокол передачи файлов (отправка и получение файлов между устройствами).
- TFTP (udp/69) – Упрощённая версия FTP (простой способ передачи файлов).
- SMB (tcp/445) – Протокол обмена файлами в Windows (сетевой доступ к файлам и принтерам).
- SMTP (tcp/25) – Простой протокол передачи почты (отправка email).
- POP3 (tcp/110) – Протокол почты версии 3 (получение email в клиенте).
- IMAP4 (tcp/143) – Улучшенная версия почтового протокола (удобное управление email).
- HTTP (tcp/80) – Протокол передачи гипертекста (основа веб-коммуникации).
- HTTPS (tcp/443) – Безопасный HTTP (шифрованное соединение в интернете).
- TLS/SSL (tcp/443) – Протоколы безопасного соединения (защита веб-трафика).
- NetBIOS (udp/137, udp/138, tcp/139) – Протоколы для взаимодействия устройств в локальной сети.
🔹 Протоколы VoIP (голосовая связь по IP)
- SIP (tcp/5060-5061) – Протокол установления соединений (VoIP-сигнализация).
- RTP (динамический порт) – Протокол передачи реального времени (VoIP-аудио/видео поток).
- MGCP (udp/2427, udp/2727) – Протокол управления медиашлюзами.
- H.323 (tcp/1720) – Протокол голосовой связи по IP.
@sysadmin1
👍4🔥3❤2✍2💯2
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍3❤2🎉1🏆1
📌 Шпаргалка по управлению LVM (Logical Volume Manager)
📍 Основные компоненты LVM
- PV (Physical Volume) – физический том (жёсткий диск, раздел).
- VG (Volume Group) – группа томов (объединяет PV).
- LV (Logical Volume) – логический том (раздел внутри VG).
🔹 Создание LVM
1️⃣ Создание PV (физического тома)
📌 Размечаем диск как физический том LVM.
2️⃣ Создание VG (группы томов)
📌 Создаём группу томов и добавляем в неё физический диск.
3️⃣ Создание LV (логического тома)
📌 Создаём логический том размером 10 ГБ в группе
🔹 Просмотр информации
📋 Список всех PV, VG, LV
📋 Короткий формат
🔹 Управление LVM
📏 Расширение LV
📌 Добавляем 5 ГБ к логическому тому и расширяем файловую систему.
🔪 Удаление LV
📌 Удаление логического тома.
🔪 Удаление VG
📌 Удаление группы томов.
🔪 Удаление PV
📌 Удаление физического тома.
🔹 Дополнительно
📍 Автоматическое распределение PV в VG
📌 Добавляем новый диск в группу томов.
📍 Сжатие LV (уменьшение размера)
📌 Уменьшаем размер тома до 10 ГБ (осторожно: может привести к потере данных!).
📍 Создание снапшота
📌 Создаём снапшот логического тома.
🔥 Полезные команды
💡 LVM позволяет динамически изменять размеры томов без перезапуска системы!
@sysadmin1
📍 Основные компоненты LVM
- PV (Physical Volume) – физический том (жёсткий диск, раздел).
- VG (Volume Group) – группа томов (объединяет PV).
- LV (Logical Volume) – логический том (раздел внутри VG).
🔹 Создание LVM
1️⃣ Создание PV (физического тома)
pvcreate /dev/sdX
📌 Размечаем диск как физический том LVM.
2️⃣ Создание VG (группы томов)
vgcreate my_vg /dev/sdX
📌 Создаём группу томов и добавляем в неё физический диск.
3️⃣ Создание LV (логического тома)
lvcreate -L 10G -n my_lv my_vg
📌 Создаём логический том размером 10 ГБ в группе
my_vg.🔹 Просмотр информации
📋 Список всех PV, VG, LV
pvdisplay # Физические тома
vgdisplay # Группы томов
lvdisplay # Логические тома
📋 Короткий формат
pvs # PV
vgs # VG
lvs # LV
🔹 Управление LVM
📏 Расширение LV
lvextend -L +5G /dev/my_vg/my_lv
resize2fs /dev/my_vg/my_lv # Для ext4
xfs_growfs /dev/my_vg/my_lv # Для XFS
📌 Добавляем 5 ГБ к логическому тому и расширяем файловую систему.
🔪 Удаление LV
lvremove /dev/my_vg/my_lv
📌 Удаление логического тома.
🔪 Удаление VG
vgremove my_vg
📌 Удаление группы томов.
🔪 Удаление PV
pvremove /dev/sdX
📌 Удаление физического тома.
🔹 Дополнительно
📍 Автоматическое распределение PV в VG
vgextend my_vg /dev/sdY
📌 Добавляем новый диск в группу томов.
📍 Сжатие LV (уменьшение размера)
umount /dev/my_vg/my_lv
e2fsck -f /dev/my_vg/my_lv
resize2fs /dev/my_vg/my_lv 10G
lvreduce -L 10G /dev/my_vg/my_lv
mount /dev/my_vg/my_lv /mnt
📌 Уменьшаем размер тома до 10 ГБ (осторожно: может привести к потере данных!).
📍 Создание снапшота
lvcreate -L 1G -s -n my_snapshot /dev/my_vg/my_lv
📌 Создаём снапшот логического тома.
🔥 Полезные команды
lsblk # Просмотр разделов
df -h # Проверка занятого места
blkid # Информация о файловых системах
💡 LVM позволяет динамически изменять размеры томов без перезапуска системы!
@sysadmin1
👍4❤2🔥2🎉1🤝1
📌 Шпаргалка по настройке Postfix
📌 1. Установка Postfix
Ubuntu/Debian:
CentOS/RHEL:
После установки выбрать "Internet Site" и ввести доменное имя сервера.
📌 2. Основные конфигурационные файлы
📂 /etc/postfix/main.cf – главный конфиг
📂 /etc/postfix/master.cf – управление службами
📂 /etc/postfix/virtual – виртуальные почтовые ящики
📂 /etc/aliases – почтовые алиасы
Перезапуск после изменений:
📌 3. Основные параметры в
📌 4. Разрешение отправки почты
Добавить в
📌 5. Настройка SASL (Аутентификация)
📌 Установить SASL:
📌 Настроить
📌 Добавить в
Перезапустить службы:
📌 6. Настройка DKIM (Подпись почты)
📌 Установить OpenDKIM:
📌 Настроить Postfix (
📌 Сгенерировать ключ DKIM:
Добавить в DNS TXT-запись для
📌 7. Настройка SPF (Защита от подмены)
Добавить в DNS TXT-запись:
Проверка SPF:
📌 8. Настройка DMARC (Доп. защита)
Добавить в DNS TXT-запись:
📌 9. Очередь почты в Postfix
📌 Просмотр очереди:
📌 Удалить все письма:
📌 Перезапустить доставку писем:
📌 10. Логирование и отладка
📌 Проверить логи почты:
📌 Проверить конфигурацию Postfix:
@sysadmin1
📌 1. Установка Postfix
Ubuntu/Debian:
sudo apt update && sudo apt install postfix -y
CentOS/RHEL:
sudo yum install postfix -y
После установки выбрать "Internet Site" и ввести доменное имя сервера.
📌 2. Основные конфигурационные файлы
📂 /etc/postfix/main.cf – главный конфиг
📂 /etc/postfix/master.cf – управление службами
📂 /etc/postfix/virtual – виртуальные почтовые ящики
📂 /etc/aliases – почтовые алиасы
Перезапуск после изменений:
sudo systemctl restart postfix
📌 3. Основные параметры в
main.cfmyhostname = mail.example.com # Имя почтового сервера
mydomain = example.com # Доменное имя
myorigin = $mydomain # Отправитель по умолчанию
inet_interfaces = all # Разрешить работу на всех интерфейсах
inet_protocols = ipv4 # Только IPv4 (по умолчанию IPv6 тоже включен)
mydestination = $myhostname, localhost.$mydomain, localhost
relayhost = # Ретрансляция отключена
📌 4. Разрешение отправки почты
Добавить в
main.cf:mynetworks = 127.0.0.0/8, 192.168.1.0/24 # Разрешенные сети
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination
📌 5. Настройка SASL (Аутентификация)
📌 Установить SASL:
sudo apt install sasl2-bin -y
📌 Настроить
/etc/default/saslauthd:START=yes
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"
📌 Добавить в
main.cf:smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_local_domain = $mydomain
Перезапустить службы:
sudo systemctl restart saslauthd postfix
📌 6. Настройка DKIM (Подпись почты)
📌 Установить OpenDKIM:
sudo apt install opendkim opendkim-tools -y
📌 Настроить Postfix (
main.cf):milter_protocol = 2
milter_default_action = accept
smtpd_milters = unix:/run/opendkim/opendkim.sock
non_smtpd_milters = unix:/run/opendkim/opendkim.sock
📌 Сгенерировать ключ DKIM:
sudo opendkim-genkey -b 2048 -d example.com -D /etc/opendkim/keys -s default -v
Добавить в DNS TXT-запись для
default._domainkey.example.com.📌 7. Настройка SPF (Защита от подмены)
Добавить в DNS TXT-запись:
example.com TXT "v=spf1 mx ~all"
Проверка SPF:
nslookup -type=txt example.com
📌 8. Настройка DMARC (Доп. защита)
Добавить в DNS TXT-запись:
_dmarc.example.com TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com"
📌 9. Очередь почты в Postfix
📌 Просмотр очереди:
mailq
📌 Удалить все письма:
postsuper -d ALL
📌 Перезапустить доставку писем:
postqueue -f
📌 10. Логирование и отладка
📌 Проверить логи почты:
sudo tail -f /var/log/mail.log
📌 Проверить конфигурацию Postfix:
postconf -n
@sysadmin1
🔥4👍2❤1😁1🎉1
Как найти и удалить большие файлы в Linux?
🔍 Находим файлы больше 1 ГБ:
📌 Разбор команды:
-
-
-
-
📂 Выводим ТОП-10 самых больших файлов:
Это покажет нам список самых больших файлов в системе.
🗑 Удаляем ненужные:
После анализа можно удалить файлы вручную:
⚠ Осторожно! Безвозвратное удаление. Лучше сначала проверить файлы перед удалением.
🚀 Автоматическое удаление файлов старше 30 дней и больше 500M:
Эта команда почистит старые большие логи, освобождая место.
@sysadmin1
🔍 Находим файлы больше 1 ГБ:
find / -type f -size +1G 2>/dev/null
📌 Разбор команды:
-
/ — искать по всей системе (можно заменить на конкретную папку, например, /var/log). -
-type f — искать только файлы (без директорий). -
-size +1G — ищем файлы больше 1 гигабайта. -
2>/dev/null — скрываем ошибки доступа. 📂 Выводим ТОП-10 самых больших файлов:
find / -type f -exec du -h {} + 2>/dev/null | sort -rh | head -n 10Это покажет нам список самых больших файлов в системе.
🗑 Удаляем ненужные:
После анализа можно удалить файлы вручную:
rm -f /путь/к/файлу
⚠ Осторожно! Безвозвратное удаление. Лучше сначала проверить файлы перед удалением.
🚀 Автоматическое удаление файлов старше 30 дней и больше 500M:
find /var/log -type f -size +500M -mtime +30 -exec rm -f {} \;Эта команда почистит старые большие логи, освобождая место.
@sysadmin1
👍2🆒2⚡1🔥1🏆1
🔥 Шпаргалка: Обход ограничений root и восстановление пароля root в Linux
1️⃣ Временное получение прав root через sudo
Если root-заблокирован, но есть sudo-пользователь:
Или выполнить команду от имени root:
Если sudo не настроен для пользователя:
(Требуется пароль root, если не установлен — переходи к следующему пункту)
2️⃣ Восстановление пароля root через режим восстановления (Recovery Mode)
1. Перезагрузи систему и на экране GRUB выбери Advanced options → Recovery mode
2. Выбери пункт root - Drop to root shell prompt
3. Проверь файловую систему и перемонтируй ее в режим записи:
4. Установи новый пароль root:
5. Перезагрузи систему:
3️⃣ Восстановление root-доступа через редактирование GRUB
Если Recovery Mode недоступен, редактируем загрузку GRUB:
1. Перезагрузи сервер
2. В меню GRUB выбери нужную ОС и нажми
3. Найди строку, начинающуюся с
4. Нажми
5. Перемонтируй файловую систему:
6. Сбрось пароль root:
7. Перезагрузи систему:
4️⃣ Восстановление root через LiveCD / LiveUSB
Если не удается получить доступ через GRUB, используй загрузочный Linux (LiveCD):
1. Загрузи систему с LiveCD (Ubuntu, Debian, Kali и т. д.)
2. Определи диск с установленной ОС:
3. Подключи диск:
4. Перейди в среду chroot:
5. Сбрось пароль root:
6. Перезагрузи систему:
5️⃣ Восстановление root-доступа в системах с SELinux
Если включен SELinux, после сброса пароля root обязательно обнови контекст:
или
6️⃣ Полное удаление пароля root
Если хочешь полностью удалить пароль root, используй команду:
После этого можно зайти под root без пароля.
⚠️ Важно!
- Используй эти методы только на своих серверах.
- При потере root-доступа заблаговременно настрой sudo или создай резервного пользователя.
- В корпоративных системах возможны дополнительные ограничения (LDAP, PAM, Secure Boot).
@sysadmin1
1️⃣ Временное получение прав root через sudo
Если root-заблокирован, но есть sudo-пользователь:
sudo su -
Или выполнить команду от имени root:
sudo -i
Если sudo не настроен для пользователя:
su - root
(Требуется пароль root, если не установлен — переходи к следующему пункту)
2️⃣ Восстановление пароля root через режим восстановления (Recovery Mode)
1. Перезагрузи систему и на экране GRUB выбери Advanced options → Recovery mode
2. Выбери пункт root - Drop to root shell prompt
3. Проверь файловую систему и перемонтируй ее в режим записи:
mount -o remount,rw /
4. Установи новый пароль root:
passwd root
5. Перезагрузи систему:
reboot
3️⃣ Восстановление root-доступа через редактирование GRUB
Если Recovery Mode недоступен, редактируем загрузку GRUB:
1. Перезагрузи сервер
2. В меню GRUB выбери нужную ОС и нажми
e (Edit) 3. Найди строку, начинающуюся с
linux /boot/... и в конце допиши: init=/bin/bash
4. Нажми
Ctrl + X или F10 для загрузки 5. Перемонтируй файловую систему:
mount -o remount,rw /
6. Сбрось пароль root:
passwd root
7. Перезагрузи систему:
exec /sbin/init
4️⃣ Восстановление root через LiveCD / LiveUSB
Если не удается получить доступ через GRUB, используй загрузочный Linux (LiveCD):
1. Загрузи систему с LiveCD (Ubuntu, Debian, Kali и т. д.)
2. Определи диск с установленной ОС:
fdisk -l
3. Подключи диск:
mount /dev/sdXn /mnt
4. Перейди в среду chroot:
chroot /mnt
5. Сбрось пароль root:
passwd root
6. Перезагрузи систему:
reboot
5️⃣ Восстановление root-доступа в системах с SELinux
Если включен SELinux, после сброса пароля root обязательно обнови контекст:
touch /.autorelabel
или
restorecon -v /etc/shadow
6️⃣ Полное удаление пароля root
Если хочешь полностью удалить пароль root, используй команду:
passwd -d root
После этого можно зайти под root без пароля.
⚠️ Важно!
- Используй эти методы только на своих серверах.
- При потере root-доступа заблаговременно настрой sudo или создай резервного пользователя.
- В корпоративных системах возможны дополнительные ограничения (LDAP, PAM, Secure Boot).
@sysadmin1
👍4💯2❤1🔥1🎉1
🔍 Логирование и аудит действий пользователей в Linux
📌 Мониторинг активности пользователей — ключевой аспект безопасности системы. Разбираем инструменты:
🛡 auditd — мощный инструмент аудита
💾 Логи:
🔧 Настройка:
- Запуск и проверка статуса:
- Добавление правила аудита (отслеживание изменений файла /etc/passwd):
- Просмотр лога:
- Фильтрация по пользователю (UID 1000):
🔙 last — история входов в систему
- Показать список последних входов:
- Фильтр по пользователю:
- Проверка перезагрузок:
🕵 who — активные пользователи
- Кто в системе сейчас:
- Подробная информация:
📊 w — активность пользователей
- Кто в системе и что делает:
- Разбор вывода:
-
-
-
-
📜 history — история команд
- Просмотр истории:
- Очистка истории:
- Логирование всех команд в реальном времени (добавить в
✍ Сохраняй и делись с коллегами! 🚀
👉 @sysadmin1
📌 Мониторинг активности пользователей — ключевой аспект безопасности системы. Разбираем инструменты:
auditd, last, who, w, history. 🛡 auditd — мощный инструмент аудита
💾 Логи:
/var/log/audit/audit.log 🔧 Настройка:
- Запуск и проверка статуса:
systemctl start auditd
systemctl enable auditd
systemctl status auditd
- Добавление правила аудита (отслеживание изменений файла /etc/passwd):
auditctl -w /etc/passwd -p wa -k passwd_changes
- Просмотр лога:
ausearch -k passwd_changes
- Фильтрация по пользователю (UID 1000):
ausearch -ua 1000
🔙 last — история входов в систему
- Показать список последних входов:
last
- Фильтр по пользователю:
last username
- Проверка перезагрузок:
last reboot
🕵 who — активные пользователи
- Кто в системе сейчас:
who
- Подробная информация:
who -a
📊 w — активность пользователей
- Кто в системе и что делает:
w
- Разбор вывода:
-
USER — имя пользователя -
TTY — терминал -
IDLE — время бездействия -
COMMAND — выполняемая команда 📜 history — история команд
- Просмотр истории:
history
- Очистка истории:
history -c && history -w
- Логирование всех команд в реальном времени (добавить в
~/.bashrc): export HISTTIMEFORMAT="%d/%m/%y %T "
export PROMPT_COMMAND="history -a"
✍ Сохраняй и делись с коллегами! 🚀
👉 @sysadmin1
🔥4👍2❤1🎉1👌1
This media is not supported in your browser
VIEW IN TELEGRAM
Fuck - это великолепная утилита, которое исправляет ошибки в предыдущих консольных командах.
Примеры:
➜
➜
...
➜
➜
Установка
На Ubuntu / Mint установите The Fuck с помощью следующих команд:
На FreeBSD установите The Fuck с помощью следующих команд:
На macOS или Linux установить The Fuck можно через Homebrew:
https://github.com/nvbn/thefuck
@sysadmin1
Примеры:
➜
apt-get install vim
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?➜
fuck
sudo apt-get install vim [enter/↑/↓/ctrl+c]
[sudo] password for nvbn:
Reading package lists... Done...
➜
git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin master➜
fuck
git push --set-upstream origin master [enter/↑/↓/ctrl+c]
Counting objects: 9, done.
...Установка
На Ubuntu / Mint установите The Fuck с помощью следующих команд:
sudo apt update
sudo apt install python3-dev python3-pip python3-setuptools
pip3 install thefuck --userНа FreeBSD установите The Fuck с помощью следующих команд:
pkg install thefuckНа macOS или Linux установить The Fuck можно через Homebrew:
brew install thefuckhttps://github.com/nvbn/thefuck
@sysadmin1
😁7🤣4👀3🔥2😍1
В России можно посещать IT-мероприятия хоть каждый день: как оффлайн, так и онлайн
Но где их находить? Как узнавать о них раньше, чем когда все начнут выкладывать фотографии оттуда?
Переходите на канал IT-Мероприятия России. В нём каждый день анонсируются мероприятия со всех городов России
📆 в канале размещаются как онлайн, так и оффлайн мероприятия;
👩💻 можно найти ивенты по любому стеку: программирование, frontend-backend разработка, кибербезопасность, дата-аналитика, osint, devops и другие;
🎙 разнообразные форматы мероприятий: митапы с коллегами по цеху, конференции и вебинары с известными опытными специалистами, форумы и олимпиады от важных представителей индустрии и многое другое
А чтобы не искать по разным форумам и чатам новости о предстоящих ивентах:
🚀 IT-мероприятия России — подписывайся и будь в курсе всех предстоящих мероприятий!
Но где их находить? Как узнавать о них раньше, чем когда все начнут выкладывать фотографии оттуда?
Переходите на канал IT-Мероприятия России. В нём каждый день анонсируются мероприятия со всех городов России
А чтобы не искать по разным форумам и чатам новости о предстоящих ивентах:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤2👍2🎉1🙏1
💡 Типы DNS-записей, которые стоит знать 🖥️🌐
Разбираемся с основными DNS-записями, которые помогают доменам работать корректно! 🔎👇
🔹 A (Address) – привязывает домен к IPv4-адресу. Самый распространенный тип записи.
🔹 CNAME (Canonical Name) – позволяет создать псевдоним для домена, перенаправляя его на другой домен.
🔹 TXT (Text) – добавляет текстовые данные в DNS. Используется для SPF (защита e-mail) и других проверок.
🔹 AAAA – аналог A-записи, но для IPv6-адресов.
🔹 SRV (Service Record) – задаёт хост и порт для сервисов (например, VoIP), используется с A-записями.
🔹 PTR (Pointer Record) – выполняет обратное разрешение: сопоставляет IP-адрес с доменным именем.
🔹 NS (Name Server) – указывает авторитетные DNS-серверы для домена, помогая направлять запросы.
🔹 MX (Mail Exchange) – направляет почтовый трафик на нужный сервер, работает с A-записями.
📌 Эти записи критически важны для работы сайтов, почты и сервисов. Если управляете доменами – сохраните себе! 🚀
@sysadmin1
Разбираемся с основными DNS-записями, которые помогают доменам работать корректно! 🔎👇
🔹 A (Address) – привязывает домен к IPv4-адресу. Самый распространенный тип записи.
🔹 CNAME (Canonical Name) – позволяет создать псевдоним для домена, перенаправляя его на другой домен.
🔹 TXT (Text) – добавляет текстовые данные в DNS. Используется для SPF (защита e-mail) и других проверок.
🔹 AAAA – аналог A-записи, но для IPv6-адресов.
🔹 SRV (Service Record) – задаёт хост и порт для сервисов (например, VoIP), используется с A-записями.
🔹 PTR (Pointer Record) – выполняет обратное разрешение: сопоставляет IP-адрес с доменным именем.
🔹 NS (Name Server) – указывает авторитетные DNS-серверы для домена, помогая направлять запросы.
🔹 MX (Mail Exchange) – направляет почтовый трафик на нужный сервер, работает с A-записями.
📌 Эти записи критически важны для работы сайтов, почты и сервисов. Если управляете доменами – сохраните себе! 🚀
@sysadmin1
❤3👍2🔥1🎉1
🔐 Работа с SSH (OpenSSH, ключи, туннели, Port Forwarding)
1️⃣ Подключение по SSH
2️⃣ Генерация SSH-ключей
- Открытый ключ
- Закрытый ключ
3️⃣ Добавление ключа в агент SSH
4️⃣ Копирование ключа на сервер
5️⃣ Конфигурация SSH-клиента (
Файл
Подключение теперь выполняется просто командой:
📡 Проброс портов (Port Forwarding)
🔄 Локальный порт-форвардинг (L)
Перенаправляет локальный порт (
- Теперь локальный
🔄 Удаленный порт-форвардинг (R)
Перенаправляет порт сервера на локальный компьютер (
- Теперь подключение к
🔄 Динамический порт-форвардинг (SOCKS-прокси)
- Теперь можно использовать
🔀 Обход брандмауэров (Reverse SSH-туннель)
Если сервер за NAT или firewall, создаем обратное подключение:
📑 Полезные команды
🔍 Просмотр информации о сервере:
📡 Подключение без выполнения команд (для туннелей):
⏳ Подключение с поддержкой восстановления соединения:
🔒 Ограничение команд пользователя в
🔥 Дополнительные параметры SSH
🔹 Выключение строгой проверки хоста:
🔹 Использование прокси:
🔹 Перезапуск службы SSH:
🔹 Проверка лога SSH:
@sysadmin1
1️⃣ Подключение по SSH
ssh user@host
ssh -p 2222 user@host # Подключение к нестандартному порту
ssh -i ~/.ssh/id_rsa user@host # Подключение с указанием ключа
2️⃣ Генерация SSH-ключей
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" # Генерация RSA-ключа
ssh-keygen -t ed25519 -C "your_email@example.com" # Генерация Ed25519-ключа (рекомендуется)
- Открытый ключ
id_rsa.pub добавляется на сервер (~/.ssh/authorized_keys). - Закрытый ключ
id_rsa хранится локально. 3️⃣ Добавление ключа в агент SSH
eval "$(ssh-agent -s)" # Запуск агента
ssh-add ~/.ssh/id_rsa # Добавление ключа в агент
4️⃣ Копирование ключа на сервер
ssh-copy-id user@host
cat ~/.ssh/id_rsa.pub | ssh user@host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
5️⃣ Конфигурация SSH-клиента (
~/.ssh/config) Файл
~/.ssh/config позволяет задать настройки подключения: Host myserver
HostName example.com
User myuser
Port 2222
IdentityFile ~/.ssh/id_rsa
ForwardAgent yes
Подключение теперь выполняется просто командой:
ssh myserver
📡 Проброс портов (Port Forwarding)
🔄 Локальный порт-форвардинг (L)
Перенаправляет локальный порт (
-L local_port:remote_host:remote_port): ssh -L 8080:127.0.0.1:80 user@host
- Теперь локальный
localhost:8080 перенаправляется на host:80.🔄 Удаленный порт-форвардинг (R)
Перенаправляет порт сервера на локальный компьютер (
-R remote_port:local_host:local_port): ssh -R 9000:localhost:22 user@host
- Теперь подключение к
host:9000 попадёт на localhost:22.🔄 Динамический порт-форвардинг (SOCKS-прокси)
ssh -D 1080 user@host
- Теперь можно использовать
localhost:1080 как SOCKS-прокси.🔀 Обход брандмауэров (Reverse SSH-туннель)
Если сервер за NAT или firewall, создаем обратное подключение:
ssh -R 2222:localhost:22 user@public-server
ssh -p 2222 localhost # Теперь можно подключаться с public-server обратно
📑 Полезные команды
🔍 Просмотр информации о сервере:
ssh user@host 'uname -a && uptime'
📡 Подключение без выполнения команд (для туннелей):
ssh -N -D 1080 user@host
⏳ Подключение с поддержкой восстановления соединения:
autossh -M 0 -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -N -D 1080 user@host
🔒 Ограничение команд пользователя в
authorized_keys: command="/path/to/script.sh",no-agent-forwarding,no-X11-forwarding ssh-rsa AAAAB3...
🔥 Дополнительные параметры SSH
🔹 Выключение строгой проверки хоста:
ssh -o StrictHostKeyChecking=no user@host
🔹 Использование прокси:
ssh -o ProxyCommand="nc -X 5 -x proxyhost:1080 %h %p" user@host
🔹 Перезапуск службы SSH:
sudo systemctl restart sshd # Для systemd
sudo service ssh restart # Для SysVinit
🔹 Проверка лога SSH:
sudo journalctl -u sshd --no-pager | tail -n 20 # Для systemd
sudo tail -f /var/log/auth.log # Для Debian/Ubuntu
sudo tail -f /var/log/secure # Для CentOS
@sysadmin1
👍4❤3🔥3🎉2👨💻1
🛠Настройка и диагностика сети (ip, ifconfig, netstat, ss, traceroute, ping)
🏷 IP-адресация и настройка сети
📌 Просмотр текущих сетевых настроек
📌 Настройка IP-адреса (временная, до перезагрузки)
📌 Назначение шлюза (маршрут по умолчанию)
📌 Изменение MAC-адреса (требует отключения интерфейса)
🔍 Диагностика сети
📌 Проверка соединения (ping)
📌 Трассировка маршрута (traceroute)
(если нет traceroute, установите:
📌 Просмотр открытых соединений и портов
📌 Проверка DNS (nslookup, dig)
📌 Просмотр ARP-таблицы
📌 Просмотр таблицы маршрутизации
📌 Поиск сетевого интерфейса по IP
🛠 Дополнительные утилиты
📌 Проверка доступности порта (nc/nmap)
📌 Тестирование скорости соединения (iperf3)
📌 Просмотр DHCP-записей (если работает dhclient)
🔥 Полезные команды для быстрого анализа
@sysadmin1
🏷 IP-адресация и настройка сети
📌 Просмотр текущих сетевых настроек
ip a # Показать IP-адреса всех интерфейсов
ip addr show # То же самое, но полный вывод
ip r # Просмотр маршрутов (марштизация)
ip link show # Показать сетевые интерфейсы и их состояние
📌 Настройка IP-адреса (временная, до перезагрузки)
ip addr add 192.168.1.100/24 dev eth0 # Добавить IP к интерфейсу eth0
ip addr del 192.168.1.100/24 dev eth0 # Удалить IP
📌 Назначение шлюза (маршрут по умолчанию)
ip route add default via 192.168.1.1
📌 Изменение MAC-адреса (требует отключения интерфейса)
ip link set dev eth0 down
ip link set dev eth0 address 00:11:22:33:44:55
ip link set dev eth0 up
🔍 Диагностика сети
📌 Проверка соединения (ping)
ping 8.8.8.8 # Проверка доступности IP
ping -c 5 8.8.8.8 # Отправить 5 пакетов
ping -i 0.5 8.8.8.8 # Интервал 0.5 сек
ping -s 1024 8.8.8.8 # Размер пакета 1024 байта
📌 Трассировка маршрута (traceroute)
traceroute 8.8.8.8 # Маршрут до IP-адреса
traceroute -I 8.8.8.8 # Использовать ICMP вместо UDP
(если нет traceroute, установите:
apt install traceroute)📌 Просмотр открытых соединений и портов
netstat -tulnp # Список слушающих портов (старый инструмент)
ss -tulnp # Современная альтернатива netstat
ss -s # Краткая статистика TCP
ss -ant | grep LISTEN # Фильтр активных TCP-портов
📌 Проверка DNS (nslookup, dig)
nslookup google.com # Запрос DNS через nslookup
dig google.com # Запрос DNS через dig
dig google.com +short # Вывести только IP-адрес
📌 Просмотр ARP-таблицы
ip neigh show # Аналог "arp -a"
📌 Просмотр таблицы маршрутизации
ip route show # Аналог "route -n"
📌 Поиск сетевого интерфейса по IP
ip -o addr show | grep "192.168.1.100"
🛠 Дополнительные утилиты
📌 Проверка доступности порта (nc/nmap)
nc -zv 192.168.1.1 22 # Проверить, открыт ли порт 22
nmap -p 22 192.168.1.1 # Аналогично, но через nmap
📌 Тестирование скорости соединения (iperf3)
iperf3 -s # Запустить сервер (на принимающей стороне)
iperf3 -c 192.168.1.1 # Клиент, тест скорости к указанному IP
📌 Просмотр DHCP-записей (если работает dhclient)
cat /var/lib/dhcp/dhclient.leases
🔥 Полезные команды для быстрого анализа
ip a | grep inet # Быстрый просмотр IP-адресов
ss -ant | grep ESTAB # Список активных соединений
ip route get 8.8.8.8 # Проверить маршрут до IP
arp -a # Таблица ARP
@sysadmin1
👍7❤2🎉2⚡1🔥1
📌 Шпаргалка по основным командам терминала
🔹 Работа с файлами и каталогами
📂
📂
📂
📂
📂
📂
📂
📂
🔍 Поиск и фильтрация
🔎
🔎
🔎
🔎
💡 Полезные флаги:
✔
✔
✔
✔
@sysadmin1
🔹 Работа с файлами и каталогами
📂
ls – показать список файлов 📂
cd – перейти в каталог (cd /home/user/docs) 📂
pwd – текущий путь 📂
mkdir – создать папку (mkdir new_folder) 📂
rm – удалить файл (rm file.txt) 📂
rm -r – удалить папку (rm -r folder/) 📂
cp – копировать (cp file.txt backup/) 📂
mv – переместить/переименовать (mv old.txt new.txt) 🔍 Поиск и фильтрация
🔎
find – поиск файлов (find / -name "file.txt") 🔎
grep – поиск текста в файлах (grep "error" log.txt) 🔎
awk – работа с текстом (awk '{print $1}' file.txt) 🔎
sed – замена в файле (sed 's/old/new/g' file.txt') 💡 Полезные флаги:
✔
-r → рекурсивно ✔
-f → без запроса ✔
-i → с подтверждением ✔
-v → подробный вывод @sysadmin1
👍4⚡2🔥2🎉1🏆1