🐧 Linux Kernel 6.12: Теперь официально Real-Time
Свершилось. После 20 лет разработки патчи PREEMPT_RT наконец-то вошли в основную ветку ядра (mainline) в версии 6.12. Это тектонический сдвиг.
Что это значит для нас? Раньше, чтобы Linux гарантировал реакцию на событие за микросекунды (нужно для роботов, станков, аудио-процессинга), приходилось патчить ядро вручную. Теперь любой дистрибутив с ядром 6.12+ может стать Real-Time системой "из коробки".
Бонус фича: QR-коды в панике 😱 Теперь при Kernel Panic (экран смерти) ядро может генерировать QR-код.
Больше не нужно переписывать hex-коды руками с монитора в серверной.
Навел камеру → получил лог ошибки на телефон.
Как проверить версию ядра:
Админы, обслуживающие embedded-системы и High-Frequency Trading — открывайте шампанское. 🍾
#linux #kernel #realtime #news #opensource
Свершилось. После 20 лет разработки патчи PREEMPT_RT наконец-то вошли в основную ветку ядра (mainline) в версии 6.12. Это тектонический сдвиг.
Что это значит для нас? Раньше, чтобы Linux гарантировал реакцию на событие за микросекунды (нужно для роботов, станков, аудио-процессинга), приходилось патчить ядро вручную. Теперь любой дистрибутив с ядром 6.12+ может стать Real-Time системой "из коробки".
Бонус фича: QR-коды в панике 😱 Теперь при Kernel Panic (экран смерти) ядро может генерировать QR-код.
Больше не нужно переписывать hex-коды руками с монитора в серверной.
Навел камеру → получил лог ошибки на телефон.
Как проверить версию ядра:
uname -sr
# Ожидаем: Linux 6.12.x-generic (скоро во всех репозиториях)
Админы, обслуживающие embedded-системы и High-Frequency Trading — открывайте шампанское. 🍾
#linux #kernel #realtime #news #opensource
🕵️♂️ PowerShell: Кто ждет перезагрузки?
В контексте разговоров о патчах и Hotpatching, важно знать правду: действительно ли ваши серверы применили обновления? Часто сервер висит в статусе PendingReboot неделями, оставаясь уязвимым.
Скрипт проверяет 4 места в реестре, где Windows прячет флаг "хочу ребут".
Код:
📌 Задача: Добавьте этот чек в свой утренний мониторинг. Сервер, ожидающий перезагрузки — это не защищенный сервер.
#powershell #scripting #windowsupdate #automation #security
В контексте разговоров о патчах и Hotpatching, важно знать правду: действительно ли ваши серверы применили обновления? Часто сервер висит в статусе PendingReboot неделями, оставаясь уязвимым.
Скрипт проверяет 4 места в реестре, где Windows прячет флаг "хочу ребут".
Код:
function Get-PendingReboot {
param([string]$ComputerName = "localhost")
$HKLM = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $ComputerName)
# 1. Component Based Servicing
$CBS = $HKLM.OpenSubKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending')
# 2. Windows Update
$WU = $HKLM.OpenSubKey('SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired')
# 3. File Rename Operations
$SM = $HKLM.OpenSubKey('SYSTEM\CurrentControlSet\Control\Session Manager')
$Rename = $SM.GetValue('PendingFileRenameOperations')
# Итог
[PSCustomObject]@{
Computer = $ComputerName
CBSPending = [bool]$CBS
WUPending = [bool]$WU
FileRenamePending = [bool]$Rename
IS_REBOOT_REQUIRED = ([bool]$CBS -or [bool]$WU -or [bool]$Rename)
}
}
# Использование:
# Get-PendingReboot -ComputerName "SRV-AD01"
📌 Задача: Добавьте этот чек в свой утренний мониторинг. Сервер, ожидающий перезагрузки — это не защищенный сервер.
#powershell #scripting #windowsupdate #automation #security
🔍 Linux: Когда логи молчат — говорит strace
Бывает так: сервис висит, CPU 100%, а в логах (/var/log/... или journalctl) — тишина. Эникейщик перезагружает сервер. Архитектор запускает strace.
strace перехватывает системные вызовы (system calls), которые процесс отправляет ядру. Это рентген для любого приложения.
1. Подключаемся к зависшему процессу:
(где 1234 — PID процесса)
2. Смотрим, куда процесс пытается достучаться (файлы): Если приложение падает с "File not found", но не говорит, какой файл ищет:
3. Анализируем сетевую активность (без tcpdump): Видим, к каким IP пытается подключиться процесс.
4. Замеряем время выполнения операций (ищем тормоза): Флаг -T покажет время каждого сисколла.
⚠️ Важно: strace замедляет работу процесса. На тяжелом проде используйте с осторожностью или смотрите в сторону perf.
#linux #debug #strace #cli #troubleshooting
Бывает так: сервис висит, CPU 100%, а в логах (/var/log/... или journalctl) — тишина. Эникейщик перезагружает сервер. Архитектор запускает strace.
strace перехватывает системные вызовы (system calls), которые процесс отправляет ядру. Это рентген для любого приложения.
1. Подключаемся к зависшему процессу:
strace -p 1234
(где 1234 — PID процесса)
2. Смотрим, куда процесс пытается достучаться (файлы): Если приложение падает с "File not found", но не говорит, какой файл ищет:
strace -e trace=open,openat -p 1234
3. Анализируем сетевую активность (без tcpdump): Видим, к каким IP пытается подключиться процесс.
strace -e trace=connect -p 1234
4. Замеряем время выполнения операций (ищем тормоза): Флаг -T покажет время каждого сисколла.
strace -T -p 1234
⚠️ Важно: strace замедляет работу процесса. На тяжелом проде используйте с осторожностью или смотрите в сторону perf.
#linux #debug #strace #cli #troubleshooting
🆚 Reverse Proxy: Nginx vs Traefik
В 2025 году выбор прокси — это выбор парадигмы. Старая школа против Cloud-Native.
1. Nginx
Философия: «Конфиг — это закон». Всё прописывается в файлах .conf.
Плюсы: Невероятная производительность (C++), кэширование, работа со статикой, стандарт индустрии.
Минусы: Для обновления конфига нужен reload. В динамической среде (где контейнеры создаются и умирают ежеминутно) требует «костылей» (шаблонизаторы типа consul-template).
Вердикт: Идеален как фронт-балансировщик, ingress-контроллер для монолитов и отдачи статики.
2. Traefik
Философия: «Конфиг — это Discovery». Он сам слушает Docker/Kubernetes API и на лету создает маршруты.
Плюсы: Магия автоматизации. Повесил лейбл на контейнер — Traefik уже знает, куда слать трафик и сам выписал Let's Encrypt сертификат. Встроенный Dashboard.
Минусы: Медленнее Nginx на высоком трафике (написан на Go). Сложнее в тонкой настройке заголовков/буферов.
Вердикт: Король микросервисов и Docker Swarm/K8s.
📌 Итог: Если у вас статические IP и виртуальные машины — ставьте Nginx. Если у вас Docker/K8s и сервисы скачут по нодам — Traefik сэкономит вам сотни часов написания конфигов.
#devops #nginx #traefik #proxy #architecture #сравнение
В 2025 году выбор прокси — это выбор парадигмы. Старая школа против Cloud-Native.
1. Nginx
Философия: «Конфиг — это закон». Всё прописывается в файлах .conf.
Плюсы: Невероятная производительность (C++), кэширование, работа со статикой, стандарт индустрии.
Минусы: Для обновления конфига нужен reload. В динамической среде (где контейнеры создаются и умирают ежеминутно) требует «костылей» (шаблонизаторы типа consul-template).
Вердикт: Идеален как фронт-балансировщик, ingress-контроллер для монолитов и отдачи статики.
2. Traefik
Философия: «Конфиг — это Discovery». Он сам слушает Docker/Kubernetes API и на лету создает маршруты.
Плюсы: Магия автоматизации. Повесил лейбл на контейнер — Traefik уже знает, куда слать трафик и сам выписал Let's Encrypt сертификат. Встроенный Dashboard.
Минусы: Медленнее Nginx на высоком трафике (написан на Go). Сложнее в тонкой настройке заголовков/буферов.
Вердикт: Король микросервисов и Docker Swarm/K8s.
📌 Итог: Если у вас статические IP и виртуальные машины — ставьте Nginx. Если у вас Docker/K8s и сервисы скачут по нодам — Traefik сэкономит вам сотни часов написания конфигов.
#devops #nginx #traefik #proxy #architecture #сравнение
🕸 PowerShell: Забудь про nslookup
Мы по привычке пишем nslookup, когда падает DNS. Но эта утилита — наследие старых времен, она возвращает текст, который трудно парсить.
В PowerShell есть родной инструмент архитектора: Resolve-DnsName.
В чем сила? Он возвращает объекты.
Примеры:
Базовый запрос (лучше чем ping):
Получить только IP (для скриптов):
Проверка конкретного DNS-сервера (например, 8.8.8.8):
Проверка TXT записей (SPF/DMARC): Это боль в nslookup, но кайф здесь:
💡 Совет: Добавьте алиас в профиль, если привыкли к короткому имени: Set-Alias -Name dns -Value Resolve-DnsName
#windows #powershell #dns #network #команды
Мы по привычке пишем nslookup, когда падает DNS. Но эта утилита — наследие старых времен, она возвращает текст, который трудно парсить.
В PowerShell есть родной инструмент архитектора: Resolve-DnsName.
В чем сила? Он возвращает объекты.
Примеры:
Базовый запрос (лучше чем ping):
Resolve-DnsName google.com
Получить только IP (для скриптов):
(Resolve-DnsName google.com).IPAddress
Проверка конкретного DNS-сервера (например, 8.8.8.8):
Resolve-DnsName -Name adminfuture.com -Server 8.8.8.8
Проверка TXT записей (SPF/DMARC): Это боль в nslookup, но кайф здесь:
Resolve-DnsName -Name google.com -Type TXT
💡 Совет: Добавьте алиас в профиль, если привыкли к короткому имени: Set-Alias -Name dns -Value Resolve-DnsName
#windows #powershell #dns #network #команды
🗑 Bash: Правильная ротация бэкапов
Сделать бэкап легко. Сложно сделать так, чтобы через полгода диск не забился старыми архивами. Многие пишут сложные скрипты на Python, но старый добрый find умеет это делать одной строкой.
Задача:
Оставить бэкапы за последние 7 дней.
Всё, что старше — удалить.
Скрипт (cleanup.sh):
🔥 Pro-Tip: Перед тем как ставить флаг -delete в cron, запустите команду без него (просто с -print), чтобы убедиться, что find нашел именно то, что вы хотите удалить. rm в Linux не прощает ошибок.
#linux #bash #backup #scripting #automation #чеклисты
Сделать бэкап легко. Сложно сделать так, чтобы через полгода диск не забился старыми архивами. Многие пишут сложные скрипты на Python, но старый добрый find умеет это делать одной строкой.
Задача:
Оставить бэкапы за последние 7 дней.
Всё, что старше — удалить.
Скрипт (cleanup.sh):
#!/bin/bash
BACKUP_DIR="/var/backups/db"
DAYS_TO_KEEP=7
# Проверяем, что директория существует (защита от дурака)
if [ -d "$BACKUP_DIR" ]; then
echo "🧹 Очистка старых бэкапов в $BACKUP_DIR..."
# Находим файлы старше N дней и удаляем
# -mtime +$DAYS_TO_KEEP -> старше дней
# -name "*.gz" -> только архивы (чтобы не удалить лишнее!)
# -delete -> удаляет без вопросов
find "$BACKUP_DIR" -type f -name "*.tar.gz" -mtime +$DAYS_TO_KEEP -print -delete
echo "✅ Готово."
else
echo "❌ Ошибка: Директория $BACKUP_DIR не найдена."
exit 1
fi
🔥 Pro-Tip: Перед тем как ставить флаг -delete в cron, запустите команду без него (просто с -print), чтобы убедиться, что find нашел именно то, что вы хотите удалить. rm в Linux не прощает ошибок.
#linux #bash #backup #scripting #automation #чеклисты
👍2
🏗 Архитектура: Как НЕ нужно называть домен Active Directory
Вы поднимаете новый контроллер домена. Рука тянется написать company.local? Остановитесь. Имя домена AD выбирается один раз, а последствия вы будете разгребать годами. Миграция/переименование домена — это ад, которого лучше избежать на старте.
Вот 3 главные ошибки и одно правильное решение.
❌ Ошибка 1: Зона .local (company.local) Классика 2000-х, которая в 2025 году стала проблемой.
Почему плохо: Конфликтует с протоколом mDNS (Bonjour), который используют macOS, Linux и IoT-устройства для поиска соседей.
Последствия: Глюки при подключении маков, принтеров и Linux-серверов. Плюс — вы никогда не купите доверенный SSL-сертификат для .local.
❌ Ошибка 2: Совпадение с публичным сайтом (company.ru) Называете AD так же, как ваш внешний сайт.
Почему плохо: Привет, Split-Brain DNS. Контроллеры домена считают, что company.ru — это они.
Последствия: Юзеры внутри офиса вводят company.ru, чтобы попасть на сайт фирмы, а попадают на страницу входа IIS контроллера домена (или получают ошибку). Приходится костылить www и мучаться с записями.
❌ Ошибка 3: Однословные имена (CORP) Single Label Domains (SLD).
Почему плохо: Устарело. Многие современные приложения (включая продукты Microsoft) просто откажутся работать с таким доменом корректно.
✅ Как сделать правильно (Best Practice)
Используйте субдомен от вашего реального публичного домена.
Пример: если ваш сайт future-admin.ru, назовите AD: 👉 corp.future-admin.ru 👉 ad.future-admin.ru 👉 int.future-admin.ru
В чем профит:
SSL: Вы можете купить Wildcard-сертификат *.corp.future-admin.ru и он будет валиден везде.
DNS: Никаких конфликтов с внешним сайтом.
Azure/Entra ID: Идеальная синхронизация с облаком без лишних суффиксов.
Собственность: Вы гарантированно владеете этим пространством имен в интернете.
💡 Совет архитектора: Даже если у вас маленькая фирма «Рога и Копыта», стройте AD так, будто завтра вы будете интегрироваться с Azure или поглощать конкурентов.
#activedirectory #windows #architecture #bestpractice #dns #security
Вы поднимаете новый контроллер домена. Рука тянется написать company.local? Остановитесь. Имя домена AD выбирается один раз, а последствия вы будете разгребать годами. Миграция/переименование домена — это ад, которого лучше избежать на старте.
Вот 3 главные ошибки и одно правильное решение.
❌ Ошибка 1: Зона .local (company.local) Классика 2000-х, которая в 2025 году стала проблемой.
Почему плохо: Конфликтует с протоколом mDNS (Bonjour), который используют macOS, Linux и IoT-устройства для поиска соседей.
Последствия: Глюки при подключении маков, принтеров и Linux-серверов. Плюс — вы никогда не купите доверенный SSL-сертификат для .local.
❌ Ошибка 2: Совпадение с публичным сайтом (company.ru) Называете AD так же, как ваш внешний сайт.
Почему плохо: Привет, Split-Brain DNS. Контроллеры домена считают, что company.ru — это они.
Последствия: Юзеры внутри офиса вводят company.ru, чтобы попасть на сайт фирмы, а попадают на страницу входа IIS контроллера домена (или получают ошибку). Приходится костылить www и мучаться с записями.
❌ Ошибка 3: Однословные имена (CORP) Single Label Domains (SLD).
Почему плохо: Устарело. Многие современные приложения (включая продукты Microsoft) просто откажутся работать с таким доменом корректно.
✅ Как сделать правильно (Best Practice)
Используйте субдомен от вашего реального публичного домена.
Пример: если ваш сайт future-admin.ru, назовите AD: 👉 corp.future-admin.ru 👉 ad.future-admin.ru 👉 int.future-admin.ru
В чем профит:
SSL: Вы можете купить Wildcard-сертификат *.corp.future-admin.ru и он будет валиден везде.
DNS: Никаких конфликтов с внешним сайтом.
Azure/Entra ID: Идеальная синхронизация с облаком без лишних суффиксов.
Собственность: Вы гарантированно владеете этим пространством имен в интернете.
💡 Совет архитектора: Даже если у вас маленькая фирма «Рога и Копыта», стройте AD так, будто завтра вы будете интегрироваться с Azure или поглощать конкурентов.
#activedirectory #windows #architecture #bestpractice #dns #security
👍1
⛔ Read-Only Friday: Манифест спокойных выходных
Коллеги, напоминаем золотое правило: В пятницу мы ничего не трогаем. Сервер работает? Не дыши на него. Клиент просит «быстренько обновить сертификат»? Переносим на понедельник.
Почему? Потому что закон Мерфи работает без выходных: если что-то может упасть после патча, оно упадет в 18:00 пятницы, когда вы уже открываете пиво.
Чем заняться админу в пятницу (Safe List):
1. 🧹 Документация. Опишите ту схему сети, которую держите в голове полгода.
2. 👀 Мониторинг. Посмотрите на красивые графики в Grafana. Не настраивайте, просто смотрите.
3. 🗑 Чистка. Удалите старые логи или снапшоты (аккуратно!).
4. 🎓 Обучение. Почитайте про Docker или новый Windows Server.
Соблюдаешь Read-Only Friday — спишь спокойно в субботу. Согласны? Ставь 🔥.
#readonlyfriday #adminlife #humor #bestpractice #stressmanagement
Коллеги, напоминаем золотое правило: В пятницу мы ничего не трогаем. Сервер работает? Не дыши на него. Клиент просит «быстренько обновить сертификат»? Переносим на понедельник.
Почему? Потому что закон Мерфи работает без выходных: если что-то может упасть после патча, оно упадет в 18:00 пятницы, когда вы уже открываете пиво.
Чем заняться админу в пятницу (Safe List):
1. 🧹 Документация. Опишите ту схему сети, которую держите в голове полгода.
2. 👀 Мониторинг. Посмотрите на красивые графики в Grafana. Не настраивайте, просто смотрите.
3. 🗑 Чистка. Удалите старые логи или снапшоты (аккуратно!).
4. 🎓 Обучение. Почитайте про Docker или новый Windows Server.
Соблюдаешь Read-Only Friday — спишь спокойно в субботу. Согласны? Ставь 🔥.
#readonlyfriday #adminlife #humor #bestpractice #stressmanagement
🔥10
💅 Linux: Хватит использовать df -h. Поставь duf
Мы привыкли к черно-белым таблицам df, в которых всё сливается. В 2025 году терминал может быть красивым и понятным.
Встречайте duf (Disk Usage/Free Utility). Это современная замена стандартной утилите, написанная на Go.
Почему это круто: ✅ Цветные графики: Визуальные бары занятого места. ✅ Группировка: Сам отделяет локальные диски, сетевые шары, флешки и псевдо-ФС (tmpfs). ✅ JSON-вывод: Удобно парсить скриптами.
Установка:
Просто наберите duf и почувствуйте разницу. Глаз архитектора должен радоваться.
#linux #cli #tools #opensource #ui
Мы привыкли к черно-белым таблицам df, в которых всё сливается. В 2025 году терминал может быть красивым и понятным.
Встречайте duf (Disk Usage/Free Utility). Это современная замена стандартной утилите, написанная на Go.
Почему это круто: ✅ Цветные графики: Визуальные бары занятого места. ✅ Группировка: Сам отделяет локальные диски, сетевые шары, флешки и псевдо-ФС (tmpfs). ✅ JSON-вывод: Удобно парсить скриптами.
Установка:
# Ubuntu/Debian
sudo apt install duf
# MacOS (Brew)
brew install duf
# Arch
pacman -S duf
Просто наберите duf и почувствуйте разницу. Глаз архитектора должен радоваться.
#linux #cli #tools #opensource #ui
🦖 Linux: Neofetch умер, да здравствует Fastfetch!
Воскресенье — время навести красоту в терминале. Мы все любили neofetch за тот самый скриншот с логотипом дистрибутива, который не стыдно показать в чате. Но проект давно заброшен.
В 2025 году стандартом стал Fastfetch. Он написан на C, работает мгновенно и поддерживает все современные OS (включая Windows 11 и macOS Sequoia).
Установка:
Зачем? Кроме эстетики, это самый быстрый способ глянуть сводку: ядро, аптайм, кол-во пакетов, разрешение экрана и тему оболочки.
Добавьте fastfetch в свой .bashrc или .zshrc — и каждый вход на сервер будет радовать глаз.
#linux #tools #customization #fun #cli
Воскресенье — время навести красоту в терминале. Мы все любили neofetch за тот самый скриншот с логотипом дистрибутива, который не стыдно показать в чате. Но проект давно заброшен.
В 2025 году стандартом стал Fastfetch. Он написан на C, работает мгновенно и поддерживает все современные OS (включая Windows 11 и macOS Sequoia).
Установка:
# Ubuntu / Debian
sudo apt install fastfetch
# macOS
brew install fastfetch
# Windows (Winget)
winget install fastfetch
Зачем? Кроме эстетики, это самый быстрый способ глянуть сводку: ядро, аптайм, кол-во пакетов, разрешение экрана и тему оболочки.
Добавьте fastfetch в свой .bashrc или .zshrc — и каждый вход на сервер будет радовать глаз.
#linux #tools #customization #fun #cli
🧪 Зачем админу HomeLab?
На собеседованиях на позиции Senior/Lead часто спрашивают: «Что крутится у вас дома?». Почему? Потому что HomeLab — это полигон, где вы учитесь быстрее, чем на работе. На проде страшно ломать, дома — весело.
Starter Pack для админа 2025: Если у вас есть старый ноутбук или Raspberry Pi, вот что нужно поднять (в Docker, конечно):
Pi-hole / AdGuard Home: Режем рекламу на уровне DNS для всей квартиры. Семья скажет спасибо.
WireGuard / Headscale: Свой VPN. Безопасный доступ домой из любой точки мира.
Home Assistant: Умный дом без привязки к облакам вендоров.
Uptime Kuma: Красивый мониторинг внешних ресурсов.
Vaultwarden: Свой менеджер паролей (аналог Bitwarden).
Это не просто игрушки. Это опыт настройки сетей, контейнеризации, безопасности и Nginx Proxy Manager в безопасной среде.
#homelab #selfhosted #docker #learning #petproject
На собеседованиях на позиции Senior/Lead часто спрашивают: «Что крутится у вас дома?». Почему? Потому что HomeLab — это полигон, где вы учитесь быстрее, чем на работе. На проде страшно ломать, дома — весело.
Starter Pack для админа 2025: Если у вас есть старый ноутбук или Raspberry Pi, вот что нужно поднять (в Docker, конечно):
Pi-hole / AdGuard Home: Режем рекламу на уровне DNS для всей квартиры. Семья скажет спасибо.
WireGuard / Headscale: Свой VPN. Безопасный доступ домой из любой точки мира.
Home Assistant: Умный дом без привязки к облакам вендоров.
Uptime Kuma: Красивый мониторинг внешних ресурсов.
Vaultwarden: Свой менеджер паролей (аналог Bitwarden).
Это не просто игрушки. Это опыт настройки сетей, контейнеризации, безопасности и Nginx Proxy Manager в безопасной среде.
#homelab #selfhosted #docker #learning #petproject
❤3
🌐 DNS: Шпаргалка архитектора. Не только A-записи
На картинке — база, которую должен знать любой Junior. Но архитектор отличается тем, что знает не только «что это», но и «как это не сломать».
Разберем основные типы записей с точки зрения граблей и Best Practices.
🔹 A / AAAA (Address) Классика. Связь имени и IP.
Pro Tip: Если внедряете IPv6, всегда следите за паритетом. Если есть A, но нет AAAA, некоторые клиенты могут «тупить» при попытке подключения по v6, ожидая таймаута.
🔹 CNAME (Canonical Name) Алиас. Одно имя ссылается на другое.
⚠️ Главное табу: Никогда не вешайте CNAME на корневой домен (APEX / @). Это ломает почту (MX) и другие записи.
Исключение: CNAME Flattening (или ALIAS records) у продвинутых провайдеров типа Cloudflare, которые «притворяются» A-записью.
🔹 MX (Mail Exchange) Указывает, куда слать почту.
Pro Tip: Цифра приоритета (10, 20) важна. Чем меньше число, тем выше приоритет. Резервный сервер всегда должен иметь число больше.
🔹 SRV (Service) Самая загадочная запись для новичков, но критическая для Windows-админов.
Зачем: Указывает не только хост, но и порт + вес сервиса.
Где живет: Active Directory держится на SRV. Если клиенты «теряют» домен, а пинги ходят — 99% проблема в битых SRV-записях в _msdcs.
🔹 TXT (Text) На слайде нет, но в 2025 году это маст-хэв.
Зачем: Это уже не просто заметки. Это безопасность почты (SPF, DKIM, DMARC) и верификация владения доменом для SSL/Google/Microsoft.
🛠 Инструмент для проверки: Забудьте про nslookup. Используйте мощь:
Windows (PowerShell):
Linux / macOS:
Сохраняй шпаргалку, чтобы не путать CNAME с A-записью в пятницу вечером. 😉
#dns #network #basics #troubleshooting #шпаргалка #adminfuture
На картинке — база, которую должен знать любой Junior. Но архитектор отличается тем, что знает не только «что это», но и «как это не сломать».
Разберем основные типы записей с точки зрения граблей и Best Practices.
🔹 A / AAAA (Address) Классика. Связь имени и IP.
Pro Tip: Если внедряете IPv6, всегда следите за паритетом. Если есть A, но нет AAAA, некоторые клиенты могут «тупить» при попытке подключения по v6, ожидая таймаута.
🔹 CNAME (Canonical Name) Алиас. Одно имя ссылается на другое.
⚠️ Главное табу: Никогда не вешайте CNAME на корневой домен (APEX / @). Это ломает почту (MX) и другие записи.
Исключение: CNAME Flattening (или ALIAS records) у продвинутых провайдеров типа Cloudflare, которые «притворяются» A-записью.
🔹 MX (Mail Exchange) Указывает, куда слать почту.
Pro Tip: Цифра приоритета (10, 20) важна. Чем меньше число, тем выше приоритет. Резервный сервер всегда должен иметь число больше.
🔹 SRV (Service) Самая загадочная запись для новичков, но критическая для Windows-админов.
Зачем: Указывает не только хост, но и порт + вес сервиса.
Где живет: Active Directory держится на SRV. Если клиенты «теряют» домен, а пинги ходят — 99% проблема в битых SRV-записях в _msdcs.
🔹 TXT (Text) На слайде нет, но в 2025 году это маст-хэв.
Зачем: Это уже не просто заметки. Это безопасность почты (SPF, DKIM, DMARC) и верификация владения доменом для SSL/Google/Microsoft.
🛠 Инструмент для проверки: Забудьте про nslookup. Используйте мощь:
Windows (PowerShell):
Resolve-DnsName -Name domain.com -Type ALL
Linux / macOS:
dig domain.com ANY +noall +answer
Сохраняй шпаргалку, чтобы не путать CNAME с A-записью в пятницу вечером. 😉
#dns #network #basics #troubleshooting #шпаргалка #adminfuture
🔥3
❄️ 1 Декабря: Начало конца (года)
Коллеги, на календаре 1 декабря. В мире IT это означает одно: Code Freeze близко.
Если вы планировали: — Мигрировать почтовик; — Обновлять ядро корп-файервола; — Переезжать на новый Kubernetes-кластер;
...то у вас есть максимум 2 недели. После 15-20 декабря наступает негласный (или гласный) режим Read-Only.
Правила выживания в декабре:
1. Завершаем, а не начинаем. Доделываем хвосты, закрываем тикеты. Новые глобальные проекты — в бэклог на январь.
2. Закупка железа/лицензий. Бюджеты закрываются. Если вам нужен новый сервер — счет должен быть оплачен вчера.
3. График дежурств. Утвердите, кто будет "трезвым водителем" инфраструктуры в новогоднюю ночь, уже сейчас.
Не станьте тем админом, который деплоит продакшен 30 декабря. Чудес не бывает, бывают только факапы.
#adminlife #planning #codefreeze #management #bestpractice
Коллеги, на календаре 1 декабря. В мире IT это означает одно: Code Freeze близко.
Если вы планировали: — Мигрировать почтовик; — Обновлять ядро корп-файервола; — Переезжать на новый Kubernetes-кластер;
...то у вас есть максимум 2 недели. После 15-20 декабря наступает негласный (или гласный) режим Read-Only.
Правила выживания в декабре:
1. Завершаем, а не начинаем. Доделываем хвосты, закрываем тикеты. Новые глобальные проекты — в бэклог на январь.
2. Закупка железа/лицензий. Бюджеты закрываются. Если вам нужен новый сервер — счет должен быть оплачен вчера.
3. График дежурств. Утвердите, кто будет "трезвым водителем" инфраструктуры в новогоднюю ночь, уже сейчас.
Не станьте тем админом, который деплоит продакшен 30 декабря. Чудес не бывает, бывают только факапы.
#adminlife #planning #codefreeze #management #bestpractice
🔥3
🕵️♂️ Linux: Что случилось, пока я спал?
Утро понедельника начинается не с кофе, а с вопроса: «Почему этот сервис лежит?». Читать весь лог за выходные — долго. Используем фильтры времени в journalctl.
Задача: Показать все ошибки, случившиеся с момента ухода с работы в пятницу (например, с 18:00).
Команда:
Если нужно посмотреть конкретный сервис:
Одной командой вы отсекаете 99% информационного шума и видите только проблемы выходных.
#linux #systemd #logs #troubleshooting #команды
Утро понедельника начинается не с кофе, а с вопроса: «Почему этот сервис лежит?». Читать весь лог за выходные — долго. Используем фильтры времени в journalctl.
Задача: Показать все ошибки, случившиеся с момента ухода с работы в пятницу (например, с 18:00).
Команда:
# --since принимает дату и время
# -p err (priority error) покажет только ошибки и хуже
# -x добавит пояснения к ошибкам (если есть в каталоге)
journalctl --since "2025-11-28 18:00:00" -p err -xb
Если нужно посмотреть конкретный сервис:
journalctl -u nginx --since "2 days ago"
Одной командой вы отсекаете 99% информационного шума и видите только проблемы выходных.
#linux #systemd #logs #troubleshooting #команды
🐢 Сервер тормозит: Метод USE
«Всё тормозит» — худшая заявка от пользователя. С чего начать диагностику? Не тыкайте наугад в top. Используйте методологию USE, разработанную Бренданом Греггом (гуру производительности).
Shutterstock
Для каждого ресурса (CPU, Memory, Disk, Network) проверяем три параметра:
U — Utilization (Утилизация): Сколько времени ресурс был занят работой? (Например, диск загружен на 90%).
S — Saturation (Насыщение): Есть ли очередь задач, которые не могут обработаться? (Высокий Load Average при низкой утилизации CPU).
E — Errors (Ошибки): Есть ли явные ошибки оборудования или драйвера? (Dropped packets, I/O errors).
Шпаргалка команд для Linux:
CPU: vmstat 1, top (Utilization), uptime (Saturation).
Memory: free -m (Utilization), vmstat 1 (si/so - Saturation/Swapping).
Disk: iostat -xz 1 (%util, await).
Network: sar -n DEV 1, ip -s link (Errors/Drops).
Сначала ищем узкое место, потом лечим.
#performance #linux #troubleshooting #architecture #brendangregg
«Всё тормозит» — худшая заявка от пользователя. С чего начать диагностику? Не тыкайте наугад в top. Используйте методологию USE, разработанную Бренданом Греггом (гуру производительности).
Shutterstock
Для каждого ресурса (CPU, Memory, Disk, Network) проверяем три параметра:
U — Utilization (Утилизация): Сколько времени ресурс был занят работой? (Например, диск загружен на 90%).
S — Saturation (Насыщение): Есть ли очередь задач, которые не могут обработаться? (Высокий Load Average при низкой утилизации CPU).
E — Errors (Ошибки): Есть ли явные ошибки оборудования или драйвера? (Dropped packets, I/O errors).
Шпаргалка команд для Linux:
CPU: vmstat 1, top (Utilization), uptime (Saturation).
Memory: free -m (Utilization), vmstat 1 (si/so - Saturation/Swapping).
Disk: iostat -xz 1 (%util, await).
Network: sar -n DEV 1, ip -s link (Errors/Drops).
Сначала ищем узкое место, потом лечим.
#performance #linux #troubleshooting #architecture #brendangregg
🔥2
📋 PowerShell: Утренний репорт сервисов
В понедельник важно убедиться, что критические службы Active Directory и Exchange (или ваши бизнес-приложения) живы. Вместо того чтобы кликать по оснасткам services.msc, запускаем скрипт.
Скрипт проверяет статус и аптайм служб:
Если видите STOPPED или Uptime 0d 0h (значит, перезапускался утром) — это повод копнуть глубже.
#windows #powershell #monitoring #scripting #automation
В понедельник важно убедиться, что критические службы Active Directory и Exchange (или ваши бизнес-приложения) живы. Вместо того чтобы кликать по оснасткам services.msc, запускаем скрипт.
Скрипт проверяет статус и аптайм служб:
$Services = "DNS", "ADWS", "LanmanServer", "Spooler" # Добавьте свои
Get-Service -Name $Services | Select-Object Name, Status, @{
Name="Uptime";
Expression={
if ($_.Status -eq 'Running') {
# Получаем PID и время старта процесса
$proc = Get-CimInstance Win32_Process -Filter "ProcessId = $((Get-CimInstance Win32_Service -Filter "Name='$($_.Name)'").ProcessId)"
if ($proc) {
$span = New-TimeSpan -Start $proc.CreationDate -End (Get-Date)
"{0}d {1}h" -f $span.Days, $span.Hours
} else { "N/A" }
} else { "STOPPED" }
}
} | Format-Table -AutoSize
Если видите STOPPED или Uptime 0d 0h (значит, перезапускался утром) — это повод копнуть глубже.
#windows #powershell #monitoring #scripting #automation
☠️ Windows Hardening: Убиваем LLMNR и NBT-NS
Если вы проведете аудит безопасности (или пригласите пентестеров), первое, за что они скажут «спасибо» — это включенные протоколы LLMNR и NBT-NS.
В чем суть: Когда Windows не может найти компьютер через DNS, она кричит на всю локальную сеть: «Эй, кто-нибудь знает этот адрес?». Злоумышленник (или утилита Responder) отвечает: «Да, это я, давай свои хеши паролей». И Windows их отдает. Это классическая атака LLMNR Poisoning.
Как закрыть дыру (GPO): Вам не нужны эти протоколы в современной сети с настроенным DNS.
1. LLMNR: Computer Configuration -> Administrative Templates -> Network -> DNS Client 👉 Turn off multicast name resolution = Enabled
2. NBT-NS (NetBIOS): Раздавайте через DHCP опцию: 👉 001 Microsoft Disable Netbios Option = 0x2
Или в свойствах TCP/IP v4 вручную: Disable NetBIOS over TCP/IP.
Результат: Сеть становится тише, а вектор атаки Man-in-the-Middle внутри периметра закрывается.
#windows #security #gpo #hardening #activedirectory
Если вы проведете аудит безопасности (или пригласите пентестеров), первое, за что они скажут «спасибо» — это включенные протоколы LLMNR и NBT-NS.
В чем суть: Когда Windows не может найти компьютер через DNS, она кричит на всю локальную сеть: «Эй, кто-нибудь знает этот адрес?». Злоумышленник (или утилита Responder) отвечает: «Да, это я, давай свои хеши паролей». И Windows их отдает. Это классическая атака LLMNR Poisoning.
Как закрыть дыру (GPO): Вам не нужны эти протоколы в современной сети с настроенным DNS.
1. LLMNR: Computer Configuration -> Administrative Templates -> Network -> DNS Client 👉 Turn off multicast name resolution = Enabled
2. NBT-NS (NetBIOS): Раздавайте через DHCP опцию: 👉 001 Microsoft Disable Netbios Option = 0x2
Или в свойствах TCP/IP v4 вручную: Disable NetBIOS over TCP/IP.
Результат: Сеть становится тише, а вектор атаки Man-in-the-Middle внутри периметра закрывается.
#windows #security #gpo #hardening #activedirectory
👍1
🏗 Docker: Multistage Build — худеем в 10 раз
Типичная ошибка новичка: в Docker-образе лежат исходники, компиляторы (GCC, Go), кэши и сам бинарник. Образ весит 800 МБ. Архитектор использует Multistage Build.
Суть: в одном Dockerfile мы сначала собираем приложение, а потом копируем только результат в чистый, крошечный образ.
Пример (Go/C++/Rust):
Профит:
1. Размер: Было 800 МБ → Стало 20 МБ.
2. Безопасность: В проде нет компиляторов и исходного кода — хакеру сложнее развернуться.
3. Скорость: Быстрее пушится в Registry и скачивается на сервер.
Если ваши образы весят гигабайты — сегодня самое время их переписать.
#docker #devops #optimization #bestpractice #architecture
Типичная ошибка новичка: в Docker-образе лежат исходники, компиляторы (GCC, Go), кэши и сам бинарник. Образ весит 800 МБ. Архитектор использует Multistage Build.
Суть: в одном Dockerfile мы сначала собираем приложение, а потом копируем только результат в чистый, крошечный образ.
Пример (Go/C++/Rust):
# Этап 1: Сборка (Builder)
FROM golang:1.21 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp main.go
# Этап 2: Финал (Production)
# Берем Alpine (5 МБ) или Distroless
FROM alpine:latest
WORKDIR /root/
# Копируем ТОЛЬКО бинарник из первого этапа
COPY --from=builder /app/myapp .
CMD ["./myapp"]
Профит:
1. Размер: Было 800 МБ → Стало 20 МБ.
2. Безопасность: В проде нет компиляторов и исходного кода — хакеру сложнее развернуться.
3. Скорость: Быстрее пушится в Registry и скачивается на сервер.
Если ваши образы весят гигабайты — сегодня самое время их переписать.
#docker #devops #optimization #bestpractice #architecture
👍1