gram news
Аватар канала Linux: Системный администратор

Linux: Системный администратор

@linux_odmin

Здесь вы найдете полезные советы, практические материалы и интересные инсайты по администрированию Linux. Погружаемся в мир команд, скриптов и серверов вместе! 🚀 Авторский канал действующего админа 👨🏼‍💻

1,920подписчиков

Открыть канал

Последние посты

  • Linux: Системный администратор

    11 сент., 06:36

    🔥 Когда tcpdump врёт: ловим только то, что проходит через iptablesИногда вы запускаете tcpdump, видите трафик — но приложение его не получает. Почему?📌 tcpdump по умолчанию работает на уровне интерфейса, а не IP-стека. Он видит весь трафик — даже тот, что будет дропнут iptables.🛠 Как посмотреть только то, что прошло фильтрацию iptables?1. Создаём временный NFLOG-правилo:iptables -I INPUT -p tcp --dport 22 -j NFLOG --nflog-group 12. Слушаем лог-группу с tcpdump:tcpdump -i nflog:1 -nn -vv3. Потом удалим правило:iptables -D INPUT -p tcp --dport 22 -j NFLOG --nflog-group 1
  • Linux: Системный администратор

    8 сент., 05:34

    Хотите быстро проверить, через какой интерфейс и IP ваш Linux-сервер выйдет к определённому адресу, без реального подключения?Решение: Используйте ip route get — лёгкая команда для диагностики маршрутизации:ip route get 8.8.8.8Что покажет: - Какой IP-адрес будет использоваться для исходящего соединения; - Какой сетевой интерфейс (dev eth0 и т.д.); - Какой шлюз (via) задействован.Пример вывода:8.8.8.8 via 192.168.1.1 dev eth0 src 192.168.1.10 uid 0Пояснение: - Полезно для диагностики проблем с маршрутизацией, VPN, балансировкой каналов. - Проверка без реальной отправки пакетов: не создаёт нагрузку и не требует открытых портов.
  • Linux: Системный администратор

    1 сент., 07:32

    Как быстро сбросить сетевой интерфейс без перезапуска системыИногда после правки конфигурации сети нужно мягко применить изменения без ребута. Особенно на продакшене.🔧 Простейший способ — с помощью ip:ip link set eth0 down ip addr flush dev eth0 ip link set eth0 upЧто делают эти команды: - set down — переводит интерфейс в неактивное состояние. - flush — очищает IP-адреса интерфейса. - set up — активирует интерфейс заново.Когда применять: 🔹 После ручной настройки IP через ip/ifconfig; 🔹 После внесения изменений в /etc/network/interfaces, Netplan, systemd-networkd и пр.; 🔹 Для быстрой переинициализации интерфейса без влияния на другие службы.
  • Linux: Системный администратор

    26 авг., 06:42

    🔐 Fail2Ban для защиты SSH: настройка за 2 минутыSSH — первая цель сканеров и брутфорсеров. Один fail2ban-джейл — и атаки больше не проблема.🛠 Минимальная настройка fail2ban для SSH:1. Установи fail2ban (если ещё нет):apt install fail2ban # Debian/Ubuntu dnf install fail2ban # RHEL/AlmaLinux2. Создай кастомную конфигурацию:cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local3. Включи и настрой SSH-защиту в jail.local:[sshd] enabled = true port = ssh
  • Linux: Системный администратор

    23 авг., 11:00

    Диагностика “висящих” TCP-соединений: как быстро найти виновникаКогда приложение “подвисает”, а сеть вроде работает — проверь состояние TCP-соединений. Часто помогает ss.Команда:ss -o state time-wait '( sport = :http or sport = :https )'Покажет TCP-соединения в TIME-WAIT на 80/443 портах. Много? Возможно, приложение не успевает освобождать сокеты.А если хочется увидеть, кто держит ESTABLISHED соединения:ss -tp state establishedФлаг -p покажет PID/имя процесса — удобно для отладки.Ограничь количество TIME-WAIT через sysctl, если сервер под нагрузкой:sysctl -w net.ipv4.tcp_tw_reuse=1 sysctl -w net.ipv4.tcp_fin_timeout=15
  • Linux: Системный администратор

    12 авг., 07:31

    🔥 WireGuard через systemd: автоподключение при старте + автоматический рестартWireGuard крут, но не всегда подключается сам при перезагрузке. Особенно, если интерфейс поднимается раньше, чем сеть. Решение — systemd-сервис с зависимостями.📌 Настраиваем правильный автозапуск1. Создай кастомный systemd unit:sudo systemctl edit wg-quick@wg02. Вставь следующее:[Unit] Description=WireGuard via wg-quick for %i After=network-online.target Wants=network-online.target[Service] Restart=on-failure RestartSec=5
  • Linux: Системный администратор

    10 авг., 06:56

    🛡️ Быстрая проверка iptables-правил с логированием трафикаНужно быстро понять, почему пакет не доходит? Добавь временное логирование в iptables — это упростит отладку.💡 Шаги:1. Вставь логирующее правило перед DROP:iptables -I INPUT -s 192.168.0.100 -j LOG --log-prefix "DROP DEBUG: " --log-level 4👉 Меняй -s и -j под нужное направление/адрес.2. Проверь логи (обычно dmesg или syslog):dmesg | grep "DROP DEBUG" # или grep "DROP DEBUG" /var/log/syslog3. Удалить правило после отладки:
  • Linux: Системный администратор

    8 авг., 12:00

    🚀 Подборка полезных IT каналов в MaxСистемное администрирование, DevOps 📌https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. https://max.ru/tipsysdmin Типичный Сисадмин https://max.ru/channel_win_sysadmin Системный Администратор Windows https://max.ru/channel_linux_admin Linux: Системный администратор https://max.ru/channel_linuxmod Linux https://max.ru/channel_i_linux Системный администратор https://max.ru/channel_devopslib DevOps, SRE, Sysadmin https://max.ru/channel_devops_star DevOps Star (Звезда Девопса)Excel лайфхак 📌 https://t.me/Excel_lifehack Excel лайфхак
    MAXСистемный Администратор | Sysadmin Windows & Linux Server. …Купить рекламу: https://telega.in/m/i_odmin Блог практикующего админа. Настройка Windows Server, Active Directory (AD), GPO и терминальных серверов (RDP). Раб…
  • Linux: Системный администратор

    6 авг., 06:06

    ⚠️ systemd-networkd и маршруты: частая ошибка с static routesЕсли ты настраиваешь сеть через systemd-networkd и вручную прописываешь маршруты, будь внимателен: непрописанный gateway может сломать всё подключение.📄 Пример .network файла с правильным static route:[Match] Name=eth0[Network] Address=192.168.1.10/24 Gateway=192.168.1.1[Route] Destination=10.10.0.0/16 Gateway=192.168.1.1🔍 Типичная ошибка:[Route]
  • Linux: Системный администратор

    3 авг., 06:37

    💡 Как быстро сбросить зависший SSH-сеанс без ожидания таймаутаИногда SSH-соединение замирает (например, при потере сети), и попытка закрыть его обычным Ctrl+C не работает. Не жди таймаута — есть правильный способ разорвать зависший сеанс.🔧 Решение: спец-последовательность OpenSSHНажми Enter, затем ~. (тильда + точка) — и SSH сразу завершится:<Enter>~.🔍 Как это работает~. — escape-последовательность, встроенная в OpenSSH-клиент. Работает только в начале новой строки.👉 Другие полезные комбинации: - ~? — список доступных escape-команд - ~# — переслать локальный порт (вручную) - ~& — фоновый режим⚠️ Работает только в интерактивных SSH-сессиях, не в скриптах.
  • Linux: Системный администратор

    30 июл., 21:01

    🎉 Поздравляем с Днём системного администратора!Фразы, которые сисадмин говорит вслух:— Сейчас посмотрим. — Уже почти готово. — Попробуйте ещё раз.И фразы, которые он думает:— Перезагрузите уже наконец... — Нет, принтер не сломан. — Да, пароль действительно нужно вводить правильно.Пусть сегодня никто не отвлекает по пустякам, а мониторинг будет скучным.
  • Linux: Системный администратор

    29 июл., 06:19

    💥 WireGuard: Быстрая настройка через systemd без ifupdown и NetplanХочешь минимализм без танцев с бубном? Вот как быстро поднять WireGuard-туннель чисто через systemd — особенно удобно на серверах без NetworkManager.📌 1. Создай конфиг /etc/wireguard/wg0.conf:[Interface] Address = 10.0.0.1/24 PrivateKey = <your_private_key> ListenPort = 51820[Peer] PublicKey = <peer_pub_key> AllowedIPs = 10.0.0.2/32⚠️ Убедись, что chmod 600 wg0.conf — приватный ключ должен быть защищён.📌 2. Активируй через systemd:systemctl enable wg-quick@wg0
  • Linux: Системный администратор

    25 июл., 11:10

    🚀 Подборка полезных IT каналов в MaxСистемное администрирование, DevOps 📌https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. https://max.ru/tipsysdmin Типичный Сисадмин https://max.ru/channel_win_sysadmin Системный Администратор Windows https://max.ru/channel_linux_admin Linux: Системный администратор https://max.ru/channel_linuxmod Linux https://max.ru/channel_i_linux Системный администратор https://max.ru/channel_devopslib DevOps, SRE, Sysadmin https://max.ru/channel_devops_star DevOps Star (Звезда Девопса)Excel лайфхак 📌 https://t.me/Excel_lifehack Excel лайфхак
    MAXСистемный Администратор | Sysadmin Windows & Linux Server. …Купить рекламу: https://telega.in/m/i_odmin Блог практикующего админа. Настройка Windows Server, Active Directory (AD), GPO и терминальных серверов (RDP). Раб…
  • Linux: Системный администратор

    21 июл., 08:08

    🔒 Как быстро заблокировать IP через nftables без перезапуска правилИногда нужно срочно отрубить наглого сканера или атакующего IP, но без пересборки всего firewall-правила. Вот как это делается динамически, через nftables.🔹 Шаг 1: создаём таблицу и цепочку (если ещё нет)nft add table inet filter nft add chain inet filter input { type filter hook input priority 0 \; }🔹 Шаг 2: создаём сет blocked_ipsnft add set inet filter blocked_ips { type ipv4_addr \; flags timeout \; }> timeout позволяет задавать TTL для блокировок.🔹 Шаг 3: добавляем правило на блокировку из сетаnft add rule inet filter input ip saddr @blocked_ips drop🔹 Шаг 4: баним IP с TTL 1 час
  • Linux: Системный администратор

    15 июл., 07:31

    ⏰ Systemd вместо cron: как настроить таймеры правильноПривет, друзья! Сегодня покажу, как можно элегантно заменить cron с помощью systemd-таймеров. Это удобно, прозрачно и гибко — особенно в серверной среде, где важен контроль над логами, зависимостями и запуском задач.💡 Почему лучше, чем cron?- логи идут через journalctl - удобная отладка: systemctl status, list-timers - можно задать зависимости и условия запуска🛠 Пример: скрипт бэкапа раз в деньДопустим, у нас есть скрипт /usr/local/bin/backup.sh. Создадим два юнит-файла:🔹 backup.service[Unit] Description=Daily backup job[Service]
  • Linux: Системный администратор

    2 июл., 07:55

    🛠 strace: незаменимый инструмент для отладки зависших процессовПривет, друзья! Сегодня расскажу про одну из моих любимых утилит — strace. Она помогает понять, что именно делает (или не делает) ваш процесс.Представьте: процесс висит. Никаких логов. CPU не грузит. Что делать?✅ Запускаем strace:sudo strace -p <PID>Где <PID> — идентификатор зависшего процесса.📌 Вы сразу увидите системные вызовы, которые делает процесс: может, он ждёт файл, завис на сокете или лочит какой-то ресурс.Если хотите записать всё в лог:sudo strace -ff -o debug_log -p <PID>- -ff — создаёт отдельный файл для каждого потока. - -o — префикс имени лог-файла (например, debug_log.1234).
  • Linux: Системный администратор

    25 июн., 07:58

    🛡 Сегодня расскажу, как быстро проверить безопасность конфигурации SSH-сервераОткрытый SSH — это ворота на сервер. И если конфигурация слабая, то защита — как дверь из картона. Проверим, насколько хорошо у вас настроен sshd.✅ Вот простой чеклист, что стоит сделать:# 1. Отключить root-доступ PermitRootLogin no# 2. Включить только ключевую авторизацию PasswordAuthentication no# 3. Установить ограничение по IP (если возможно) # Можно использовать firewall или AllowUsers с указанием IP# 4. Ограничить количество подключений: MaxAuthTries 3 LoginGraceTime 30 MaxSessions 2
  • Linux: Системный администратор

    23 июн., 07:25

    🔧 Сегодня покажу вам простой способ ограничить ресурсы для процессов с помощью cgroups v2Иногда на сервере какой-нибудь процесс начинает «жрать» всё подряд — CPU, память, I/O. Чтобы таких ситуаций избежать, можно использовать cgroups v2.📦 Пример: ограничим использование CPU и памяти для скрипта# Создаём директорию cgroup CGROUP=/sys/fs/cgroup/mylimit mkdir $CGROUP# Ограничим память до 200M echo $((20010241024)) > $CGROUP/memory.max# Ограничим CPU до 20% от одного ядра echo 20000 > $CGROUP/cpu.max # 20000 микросекунд из 100000# Запускаем процесс с этими ограничениями echo $ > $CGROUP/cgroup.procs ./your_script.sh
  • Linux: Системный администратор

    18 июн., 08:58

    👋 Привет, коллеги!Сегодня хочу поделиться тем, что стоит автоматизировать на сервере в первую очередь. Это база, которая поможет вам сэкономить кучу времени и спать спокойно 😴🔧 Что обязательно автоматизировать:1. Резервное копирование (бэкапы) > Без бэкапов нет продакшена. Это аксиома.- Автоматизируйте регулярные бэкапы баз данных, конфигов, важных каталогов. - Используйте rsnapshot, borg, restic, duplicity. - Настройте оповещения об ошибках и ротацию архивов.2. Установка и обновление пакетов > Старое ПО = потенциальная уязвимость.- unattended-upgrades (Debian/Ubuntu), dnf-automatic (RHEL/AlmaLinux). - Обновляйте хотя бы критические патчи безопасности.3. Мониторинг и алерты
  • Linux: Системный администратор

    10 июн., 06:39

    💡 Как я ускоряю поиск по логам в LinuxСегодня покажу вам приём, который не раз спасал мне нервы при анализе логов.Представим, что нужно найти ошибки в большом лог-файле, например /var/log/nginx/access.log. Обычно все начинают с:cat access.log | grep "500"Но это медленно. Лучше так:grep "500" access.logЕщё лучше — использовать less и внутри него grep-подобный поиск:less +F access.logА затем нажать /500 — и перейти по найденным совпадениям. Работает быстро, особенно на больших логах.А если хочется реального профита, то вот мой любимый трюк: