TGViewer
Channel Public Channel
DevOps Ready | IT

DevOps Ready | IT

@devops_ready

Авторский канал по DevOps разработке.
Ресурсы, обучения, задачи, шпаргалки.
Ежедневно информация пополняется!

Cотрудничество: @energy_c
Subscribers
7.63K
Photos
869
Videos
76
Links
489

Showing posts older than #1127 · Back to latest

Older Posts 12 shown
Post #1125 1.15K
Диагностика проблем с DNS в Linux!

Многие сетевые проблемы на Linux-серверах оказываются связаны не с firewall, маршрутизацией или приложением, а именно с DNS. Симптомы обычно такие: curl зависает, пакетный менеджер не работает, API недоступен по домену, но по IP всё открывается.

В таких случаях сначала стоит проверить, как система резолвит DNS. Первое, что нужно посмотреть — какие DNS-серверы используются системой.
cat /etc/resolv.conf


В классических системах этого достаточно. Но в современных дистрибутивах с systemd-resolved файл часто указывает только на локальный stub-resolver.
nameserver 127.0.0.53


Если используется systemd-resolved, реальные DNS лучше смотреть так:
resolvectl status


Команда показывает активные DNS-серверы для интерфейсов и текущее состояние resolver’а.

Дальше стоит проверить, как система реально разрешает имя.
getent hosts google.com


Это полезнее, чем кажется. В отличие от dig и nslookup, getent использует системный механизм разрешения имён и ближе к тому, как работают реальные приложения. Если getent не работает, а dig работает — проблема обычно в локальной конфигурации.

Чтобы исключить сам DNS-сервер, полезно сделать прямой запрос.
dig google.com @8.8.8.8


Или через Cloudflare:
dig google.com @1.1.1.1


Так быстро становится понятно, проблема локальная или внешняя.

Даже если DNS отвечает, стоит посмотреть время ответа.
dig google.com


Смотри на строку:
;; Query time: X msec


Если нужно проверить весь путь разрешения, помогает trace.
dig +trace google.com


Также бывает полезно проверить reverse DNS.
dig -x 8.8.8.8


Обратное разрешение часто используется в почтовой инфраструктуре, мониторинге и системах контроля доступа.

Если используется systemd-resolved, можно очистить локальный кэш.
sudo resolvectl flush-caches


А затем посмотреть статистику.
resolvectl statistics


Если приложение жалуется на DNS, но dig работает корректно, стоит проверить NSS.
cat /etc/nsswitch.conf


Особенно строку hosts, потому что она определяет порядок источников разрешения имён.

Для финальной диагностики полезно посмотреть DNS-трафик в реальном времени.
sudo tcpdump -ni any port 53


🔥 Вывод: хорошая DNS-диагностика обычно начинается с трёх вещей: проверки системного resolver’а, прямых запросов к DNS-серверам и анализа сетевого трафика. Такой подход позволяет найти большинство DNS-проблем намного быстрее, чем полный разбор всей сетевой подсистемы.

🚪 Linux Ready | #практика
  • 🔥 14
  • 👍 10
  • ❤ 6
Post #1123 1.23K
📂 Напоминалка по стилям API-архитектуры!

Например, REST подходит для классических CRUD-операций, WebSocket — для приложений с обменом данными в реальном времени, GraphQL позволяет получать только нужные данные, а gRPC обеспечивает быстрый обмен между сервисами.

На картинке — 6 популярных архитектурных стилей и протоколов API, которые стоит знать каждому разработчику.

Сохрани, чтобы не забыть!

➡️ DevOps Ready | #ресурс
  • 👍 12
  • ❤ 6
  • 🔥 5
Post #1122 1.5K
Как защитить сессионные куки боевого сервера от утечки через уязвимости на тестовых стендах?

Разработчики часто разворачивают dev- и staging-окружения на путях вроде example.com/dev, используя общие куки с флагом Domain=.example.com. В таком сценарии XSS-атака или взлом слабо защищенного dev-стенда позволяет хакеру мгновенно перехватить сессию администратора от основного prod-сервера.

Разделение окружений на изолированные поддомены полностью блокирует этот вектор на уровне браузера.

Пример уязвимой конфигурации, при которой куки улетают на все поддомены и окружения:

$ # НЕПРАВИЛЬНО: кука доступна для dev.example.com и prod.example.com
$ Set-Cookie: session=secret; Domain=.example.com; Path=/


Правильная изоляция сессии, при которой браузер отдаст куку только конкретному хосту:

$ # ПРАВИЛЬНО: жесткая привязка сессии к боевому домену
$ Set-Cookie: session=secret; Domain=prod.example.com; Path=/; SameSite=Strict


🔥 Важно: если вы опустите атрибут Domain вовсе, браузер по умолчанию привяжет куку строго к текущему хосту (Host-only cookie), что является самой безопасной практикой.

➡️ Hacking Ready | #совет
  • 👍 6
  • 🔥 5
  • 🤝 3
  • ❤ 2
Post #1120 1.56K
✍️ Шпаргалка по Linux-командам — полезный справочник для работы с Linux!

На сайте собрана удобная шпаргалка по основным Linux-командам, которая помогает быстро находить нужные команды для повседневной работы. Здесь есть всё необходимое: навигация по файловой системе, управление файлами и каталогами, работа с процессами, сетью, пользователями и правами доступа.

📌 Оставляю ссылочку: wiki.planetahost.ru

➡️ DevOps Ready | #сайт
  • 👍 11
  • 🔥 5
  • 🤝 3
Post #1119 1.44K
Слышали, что tail умеет автоматически завершаться вместе с процессом, за которым вы наблюдаете?

Обычно при просмотре логов через tail -f возникает мелкая проблема. Процесс уже завершился, а tail продолжает висеть в терминале и его приходится останавливать вручную.

Решение встроено в GNU tail:
$ command > /tmp/out.log 2>&1 &


Команда запускается в фоне, а $! содержит PID последнего background-процесса.

Теперь можно привязать tail к этому процессу:
$ tail --pid=$! -f /tmp/out.log


tail будет следить за логом в реальном времени, но как только процесс завершится — завершится и сам.

Это удобно при сборке проектов, деплое, миграциях, тестах и long-running задачах, когда нужен live output ровно до окончания выполнения.

🔥 С --pid терминал освобождается автоматически в нужный момент.

🚪 Linux Ready | #совет
  • ❤ 10
  • 👍 6
  • 🔥 5
Post #1117 1.5K
🐱 Большая Linux-шпаргалка для разработчиков!

Здесь собрано огромное количество полезных команд и практических заметок по Linux: работа с терминалом, файловой системой, процессами, сетью, сервисами, Docker, Git, PostgreSQL, Nginx и не только. Особенно ценно, что это не просто сухой список команд, а именно шпаргалка с примерами, пояснениями и полезными сценариями из практики.

Оставляю ссылочку: GitHub 📱


➡️ DevOps Ready | #репозиторий
  • 🔥 9
  • 👍 6
  • 🤝 5
  • ❤ 1
Post #1116 1.71K
📂 Напоминалка по Pipes в Linux!

Pipes позволяют процессам обмениваться данными напрямую: вывод одной программы становится входом для другой. Именно благодаря этому работают привычные конвейеры команд через символ |.

На картинке показаны анонимные и именованные каналы (FIFO), схема их работы, примеры создания и основные команды для использования.

Сохрани, чтобы не потерять!

➡️ DevOps Ready | #ресурс
  • 👍 13
  • ❤ 5
  • 🔥 5
Post #1111 1.81K
👩‍💻 Быстро очищаем домашнюю директорию от мусора!

В этом посте мы собрали 7 команд, которые помогают находить тяжёлые файлы, скрытый хлам и старые гигабайтные объекты в домашней папке. du, ncdu, find, ls — всё, что нужно для быстрой диагностики и ручной очистки пространства.

➡️ DevOps Ready | #шпора
  • 🔥 12
  • 👍 7
  • 🤝 7
Post #1109 1.57K
  • 🔥 20
  • ❤ 6
  • 👍 5
Post #1104 1.76K
👩‍💻 Управляем пакетами и репозиториями в Linux — стабильно и безопасно!

APT — мощный инструмент, но по-настоящему надёжной систему делает грамотная настройка источников, приоритетов и подписей пакетов.

В этом посте:
• Фиксируем версии и источники пакетов с помощью pinning;

• Меняем зеркала репозиториев для ускорения загрузки;

• Проверяем цифровые подписи и ключи перед установкой;

• Настраиваем приоритеты и предотвращаем неожиданные обновления.


Это обеспечивает контроль, скорость и безопасность системы — особенно важно для рабочих серверов и стабильных окружений.

🚪 Linux Ready | #гайд
  • 👍 9
  • 🔥 8
  • ❤ 6
  • 🤝 1
Post #1102 1.28K
😍 Linux Cheat — полезнейший репозиторий для изучения Linux!

В этом репозитории подробно разбирается внутреннее устройство Linux: процессы, память, системные вызовы, ELF и работа системы на низком уровне. Материал построен на практических примерах за счёт чего сложные темы намного проще понять. Хорошо подойдёт разработчикам, DevOps и тем, кто хочет лучше понимать, как Linux работает под капотом.

Оставляю ссылочку: GitHub 📱


➡️ DevOps Ready | #репозиторий
  • ❤ 11
  • 👍 5
  • 🔥 4
Post #1101 1.09K
Знали, что Bash умеет генерировать десятки путей и аргументов ещё до запуска команды?

Большинство используют циклы или копируют похожие команды несколько раз, хотя Bash умеет делать это самостоятельно.

Например, нужно быстро создать структуру нового проекта:
$ mkdir -p project/{src,tests,docs}


Shell автоматически развернёт команду в несколько аргументов ещё до запуска mkdir.

Точно так же удобно создавать резервные копии:
$ cp app.{conf,conf.bak}


Фактически Bash выполнит:
$ cp app.conf app.conf.bak


Можно работать сразу с несколькими каталогами:
$ echo /var/log/{nginx,apache2,redis}/*.log


Команда мгновенно превратится в набор путей для всех указанных директорий.

Поддерживаются и диапазоны:
$ touch file{1..10}.txt


В результате будут созданы файлы от file1.txt до file10.txt без единого цикла.

🔥 Brace expansion выполняется внутри Bash ещё до запуска программы, поэтому работает быстрее и чище, чем дополнительные shell-конструкции.

🚪 Linux Ready | #совет
  • ❤ 8
  • 🔥 6
  • 👍 4
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →