⚡ PowerShell: Как узнать, кто удалил файл на сетевом диске?
«Я ничего не трогал, оно само исчезло!» — классика. 🤡 Если в Active Directory включен аудит доступа к объектам, PowerShell поможет быстро найти виновника без долгого копания в Event Viewer.
Скрипт для поиска события удаления (Event ID 4660):
Нюанс: Чтобы это работало, на нужной папке в свойствах безопасности (вкладка «Аудит») должен быть включен аудит на удаление.
#windows #powershell #security #audit #active_directory #sysadmin 📂
«Я ничего не трогал, оно само исчезло!» — классика. 🤡 Если в Active Directory включен аудит доступа к объектам, PowerShell поможет быстро найти виновника без долгого копания в Event Viewer.
Скрипт для поиска события удаления (Event ID 4660):
# Укажите время, за которое ищем логи (последние 24 часа)
$TimeFilter = (Get-Date).AddDays(-1)
$Events = Get-WinEvent -FilterHashtable @{
LogName = 'Security'
ID = 4660
StartTime = $TimeFilter
} -ErrorAction SilentlyContinue
foreach ($Event in $Events) {
[xml]$EventXml = $Event.ToXml()
$User = $EventXml.Event.EventData.Data | Where-Object { $_.Name -eq 'SubjectUserName' } | Select-Object -ExpandProperty '#text'
$Time = $Event.TimeCreated
Write-Host "🗑️ Файл был удален пользователем: $User в $Time" -ForegroundColor Red
}
Нюанс: Чтобы это работало, на нужной папке в свойствах безопасности (вкладка «Аудит») должен быть включен аудит на удаление.
#windows #powershell #security #audit #active_directory #sysadmin 📂
🧠 Skill: Протокол SSH Multiplexing — ускоряем работу в 10 раз
Если ты часто прыгаешь по одним и тем же серверам, то знаешь, как бесит ждать 2-3 секунды, пока SSH установит соединение. В 2026 году админы используют Multiplexing, чтобы переиспользовать уже открытое TCP-соединение для новых сессий. 🚀
Как настроить в своем ~/.ssh/config:
Что это дает:
1. Первое подключение: Обычное (ввод пароля/ключа).
2. Второе и последующие: Мгновенное открытие консоли (0.1 сек).
3. ControlPersist 10m: Соединение будет висеть в фоне 10 минут после закрытия последней сессии, чтобы ты мог вернуться мгновенно.
Это критически ускоряет работу Ansible и твоих собственных Bash-скриптов, которые ходят по серверам. 🏎️
#skills #ssh #linux #performance #sysadmin #productivity #automation 🌐
Если ты часто прыгаешь по одним и тем же серверам, то знаешь, как бесит ждать 2-3 секунды, пока SSH установит соединение. В 2026 году админы используют Multiplexing, чтобы переиспользовать уже открытое TCP-соединение для новых сессий. 🚀
Как настроить в своем ~/.ssh/config:
Host *
ControlMaster auto
ControlPath ~/.ssh/sockets/%r@%h-%p
ControlPersist 10m
Что это дает:
1. Первое подключение: Обычное (ввод пароля/ключа).
2. Второе и последующие: Мгновенное открытие консоли (0.1 сек).
3. ControlPersist 10m: Соединение будет висеть в фоне 10 минут после закрытия последней сессии, чтобы ты мог вернуться мгновенно.
Это критически ускоряет работу Ansible и твоих собственных Bash-скриптов, которые ходят по серверам. 🏎️
#skills #ssh #linux #performance #sysadmin #productivity #automation 🌐
🏛️ Пятничный лонгрид: Искусство «ленивого» админа или почему твоя документация — это код
Все мы знаем классику: админ, который работает 24/7, постоянно в мыле и с красными глазами, считается «героем». Но в 2026 году настоящий герой — это тот, кто в пятницу вечером спокойно пьёт кофе, потому что его инфраструктура умеет «лечить» сама себя. ☕🧘♂️
Давай разберем три столпа, на которых держится спокойный сон сисадмина.
1. Документация в стиле README.md
Забудь про Word-файлы в папке «Общее». Если инструкции нет в Git-репозитории рядом с кодом или скриптами — её не существует.
Правило: Любое изменение в системе = коммит в репозиторий с описанием.
Инструмент: Изучи Obsidian или Logseq для личной базы знаний (Zettelkasten). Это позволяет связывать ошибки (например, «Падение БД») с их решениями графами связей.
2. Bash/PowerShell как «внешняя память»
Если ты ввел команду в консоли дважды — запиши её в скрипт. Если трижды — параметризируй её (сделай переменные).
Bash: Используй history | grep "что-то_сложное", чтобы вспомнить тот самый длинный конвейер из awk и sed, который ты мучил в прошлый вторник.
PowerShell: Создай свой модуль MyCompany.Utils.psm1 и храни там функции для сброса паролей, очистки квот и выгрузки отчетов.
3. Сетевая топология — карта твоего мира
Самый быстрый способ найти проблему в сети — взглянуть на актуальную схему. Но рисовать её в Visio руками — это ад. В 2026-м мы используем Diagrams as Code.
Попробуй Mermaid.js: Ты просто пишешь текст, а Git-лаборатория или Obsidian рисуют схему:
🚀 Пятничный совет «на миллион»:
Прежде чем уйти домой, проверь три вещи:
* Бэкапы: Зайди и посмотри глазами, что сегодняшний бэкап весит не 0 байт.
* Snapshot-ы: Удали старые снапшоты виртуалок. В понедельник они превратятся в «тормоза» дисковой подсистемы.
* Уведомления: Убедись, что телефон не в режиме «Не беспокоить» для критических алертов от Zabbix/Grafana.
Хороших выходных, коллеги! И пусть ваш uptime стремится к бесконечности. 📈☕
#friday #longread #sysadmin #lifehack #documentation #automation #admin_future #it_culture
Все мы знаем классику: админ, который работает 24/7, постоянно в мыле и с красными глазами, считается «героем». Но в 2026 году настоящий герой — это тот, кто в пятницу вечером спокойно пьёт кофе, потому что его инфраструктура умеет «лечить» сама себя. ☕🧘♂️
Давай разберем три столпа, на которых держится спокойный сон сисадмина.
1. Документация в стиле README.md
Забудь про Word-файлы в папке «Общее». Если инструкции нет в Git-репозитории рядом с кодом или скриптами — её не существует.
Правило: Любое изменение в системе = коммит в репозиторий с описанием.
Инструмент: Изучи Obsidian или Logseq для личной базы знаний (Zettelkasten). Это позволяет связывать ошибки (например, «Падение БД») с их решениями графами связей.
2. Bash/PowerShell как «внешняя память»
Если ты ввел команду в консоли дважды — запиши её в скрипт. Если трижды — параметризируй её (сделай переменные).
Bash: Используй history | grep "что-то_сложное", чтобы вспомнить тот самый длинный конвейер из awk и sed, который ты мучил в прошлый вторник.
PowerShell: Создай свой модуль MyCompany.Utils.psm1 и храни там функции для сброса паролей, очистки квот и выгрузки отчетов.
3. Сетевая топология — карта твоего мира
Самый быстрый способ найти проблему в сети — взглянуть на актуальную схему. Но рисовать её в Visio руками — это ад. В 2026-м мы используем Diagrams as Code.
Попробуй Mermaid.js: Ты просто пишешь текст, а Git-лаборатория или Obsidian рисуют схему:
graph TD
User-->Internet
Internet-->Firewall[pfsense]
Firewall-->Switch(L3 Switch)
Switch-->Server1[Proxmox Node 1]
Switch-->Server2[Proxmox Node 2]
Server1-->VM1[Nginx Proxy]
🚀 Пятничный совет «на миллион»:
Прежде чем уйти домой, проверь три вещи:
* Бэкапы: Зайди и посмотри глазами, что сегодняшний бэкап весит не 0 байт.
* Snapshot-ы: Удали старые снапшоты виртуалок. В понедельник они превратятся в «тормоза» дисковой подсистемы.
* Уведомления: Убедись, что телефон не в режиме «Не беспокоить» для критических алертов от Zabbix/Grafana.
Помни: Лучший сисадмин — это тот, чьего имени в компании не знают, потому что «всё просто работает».#friday #longread #sysadmin #lifehack #documentation #automation #admin_future #it_culture
💿 Windows Storage: Как вычислить «паршивую овцу» в дисковом массиве?
Бывает, что сервер или кластер (S2D) начинает безбожно тупить, но все статусы светятся зеленым «Healthy». В 90% случаев проблема в одном диске, который еще не сдох, но уже «тормозит» весь массив огромными задержками (latency). 🐌
Стандартный мониторинг это часто пропускает, поэтому лезем под капот к счетчикам надежности (Reliability Counters).
🛠 Скрипт для поиска проблемных дисков:
📊 Как читать результат (нормативы):
1. Read/WriteLatMax_ms: Это пиковая задержка в миллисекундах.
* SSD: Норма до 20ms. Пики > 50ms — повод напрячься. ⚡
* HDD: Норма до 200ms. Пики > 1000ms (1 сек) — диск «умирает» или перегружен. 🐢
2. Read/WriteErrors: В идеальном мире здесь должен быть 0. Любое число больше нуля — это ошибки чтения/записи. Пора проверять кабели, бэкплейн или готовить замену диску. 🛠
💡 Когда запускать?
* Когда SQL или 1С начинают «фризить» без видимых причин. 📉
* При регламентном объезде серверов раз в месяц.
* Если диск периодически отваливается из RAID-массива.
Этот скрипт — твой рентген для дисковой подсистемы. Сохраняй в шпаргалки! 📝
#windows #powershell #storage #sysadmin #troubleshooting #s2d #hardware 🛡
Бывает, что сервер или кластер (S2D) начинает безбожно тупить, но все статусы светятся зеленым «Healthy». В 90% случаев проблема в одном диске, который еще не сдох, но уже «тормозит» весь массив огромными задержками (latency). 🐌
Стандартный мониторинг это часто пропускает, поэтому лезем под капот к счетчикам надежности (Reliability Counters).
🛠 Скрипт для поиска проблемных дисков:
Get-PhysicalDisk | ForEach-Object {
$disk = $_
$stats = $disk | Get-StorageReliabilityCounter
# Пытаемся выцепить имя узла (актуально для кластеров)
$NodeName = "Unknown"
if ($disk.FriendlyName -like "*.*") {
$NodeName = $disk.FriendlyName.Split(".")[1]
}
[PSCustomObject]@{
Node = $NodeName
Model = $disk.Model
MediaType = $disk.MediaType
SerialNumber = $disk.SerialNumber
# Конвертация: 100 наносекунд -> миллисекунды
ReadLatMax_ms = [math]::Round($stats.ReadLatencyMax / 10000, 2)
WriteLatMax_ms = [math]::Round($stats.WriteLatencyMax / 10000, 2)
ReadErrors = $stats.ReadErrorsTotal
WriteErrors = $stats.WriteErrorsTotal
}
} | Sort-Object WriteErrors, WriteLatMax_ms -Descending | Format-Table -AutoSize
📊 Как читать результат (нормативы):
1. Read/WriteLatMax_ms: Это пиковая задержка в миллисекундах.
* SSD: Норма до 20ms. Пики > 50ms — повод напрячься. ⚡
* HDD: Норма до 200ms. Пики > 1000ms (1 сек) — диск «умирает» или перегружен. 🐢
2. Read/WriteErrors: В идеальном мире здесь должен быть 0. Любое число больше нуля — это ошибки чтения/записи. Пора проверять кабели, бэкплейн или готовить замену диску. 🛠
💡 Когда запускать?
* Когда SQL или 1С начинают «фризить» без видимых причин. 📉
* При регламентном объезде серверов раз в месяц.
* Если диск периодически отваливается из RAID-массива.
Этот скрипт — твой рентген для дисковой подсистемы. Сохраняй в шпаргалки! 📝
#windows #powershell #storage #sysadmin #troubleshooting #s2d #hardware 🛡
👍3🔥1👏1
🐧 Linux: Спасаем базу данных от OOM Killer
Бывало такое?
Серверу не хватило памяти, пришел OOM Killer (Out of Memory) и убил... нет, не зависший PHP-скрипт, а твой основной PostgreSQL.
💀 Почему? Потому что БД потребляет больше всего памяти, и для ядра она выглядит как самый "жирный" кандидат на расстрел.
Решение: Настроить oom_score_adj. Это число от -1000 (бессмертный) до +1000 (убить первым).
Как защитить критический процесс: Находим PID процесса (например, postgres):
Запрещаем OOM Killer'у трогать его (ставим -1000):
Как сделать это вечным (в systemd): Добавьте в unit-файл сервиса (systemctl edit postgresql):
Теперь, когда память кончится, Linux убьет веб-сервер, кэш, SSH-сессию, но база данных останется стоять до последнего.
#linux #kernel #oom #postgresql #sysadmin #reliability #systemd 🛡️
Бывало такое?
Серверу не хватило памяти, пришел OOM Killer (Out of Memory) и убил... нет, не зависший PHP-скрипт, а твой основной PostgreSQL.
💀 Почему? Потому что БД потребляет больше всего памяти, и для ядра она выглядит как самый "жирный" кандидат на расстрел.
Решение: Настроить oom_score_adj. Это число от -1000 (бессмертный) до +1000 (убить первым).
Как защитить критический процесс: Находим PID процесса (например, postgres):
pgrep -f postgres | head -1
Запрещаем OOM Killer'у трогать его (ставим -1000):
echo -1000 > /proc/[PID]/oom_score_adj
Как сделать это вечным (в systemd): Добавьте в unit-файл сервиса (systemctl edit postgresql):
[Service]
OOMScoreAdjust=-900
Теперь, когда память кончится, Linux убьет веб-сервер, кэш, SSH-сессию, но база данных останется стоять до последнего.
#linux #kernel #oom #postgresql #sysadmin #reliability #systemd 🛡️
🪟 Windows: Кто «стучит» в интернет? Ловим malware без Wireshark
Подозрение, что сервер соединяется с C&C-сервером хакеров или майнинг-пулом? Wireshark ставить нельзя, а Firewall логи слишком объемные. В Windows есть скрытый журнал, который пишет только DNS-запросы.
Как включить «черный ящик» DNS: По умолчанию этот лог выключен, чтобы не тратить ресурс.
Открываем Event Viewer (eventvwr.msc).
Идем: Applications and Services Logs -> Microsoft -> Windows -> DNS Client Events -> Operational.
Правой кнопкой -> Enable Log.
Что мы увидим: Теперь каждое разрешение имени (хост -> IP) будет падать в событие ID 3008.
QueryOptions: 100000000 QueryName: bad-hacker-site.com
Это лучший способ найти скрытые майнеры или «маячки» внутри корпоративной сети, не перехватывая гигабайты трафика.
#windows #security #forensics #dns #sysadmin #troubleshooting #blueteam 🕵️♂️
Подозрение, что сервер соединяется с C&C-сервером хакеров или майнинг-пулом? Wireshark ставить нельзя, а Firewall логи слишком объемные. В Windows есть скрытый журнал, который пишет только DNS-запросы.
Как включить «черный ящик» DNS: По умолчанию этот лог выключен, чтобы не тратить ресурс.
Открываем Event Viewer (eventvwr.msc).
Идем: Applications and Services Logs -> Microsoft -> Windows -> DNS Client Events -> Operational.
Правой кнопкой -> Enable Log.
Что мы увидим: Теперь каждое разрешение имени (хост -> IP) будет падать в событие ID 3008.
QueryOptions: 100000000 QueryName: bad-hacker-site.com
Это лучший способ найти скрытые майнеры или «маячки» внутри корпоративной сети, не перехватывая гигабайты трафика.
#windows #security #forensics #dns #sysadmin #troubleshooting #blueteam 🕵️♂️
🔥3✍2👍2
🌐 Networking: Headscale — свой Mesh-VPN без чужих облаков
Классические VPN (OpenVPN/IPsec) с их "звездой" и единой точкой отказа в 2026 году выглядят архаично.
Все переходят на Tailscale (Mesh-сеть на базе WireGuard), но админы боятся использовать чужие контроллеры управления.
Твой выбор: Headscale.
Это Open Source реализация контроллера Tailscale, которую ты хостишь у себя.
В чем соль:
NAT Traversal: Тебе не нужно открывать порты. Устройства находят друг друга за любыми NAT-ами (используя STUN/DERP).
Mesh: Трафик идет от сервера А к серверу Б напрямую (P2P), а не через центральный шлюз.
ACL: Ты управляешь доступом через JSON-правила (кто кого видит).
Команда для регистрации клиента: tailscale up --login-server https://vpn.tvoja-kompaniya.ru --authkey [KEY]
Это идеальная замена корпоративному VPN для удаленщиков и связи между серверами в разных облаках.
#networking #vpn #wireguard #headscale #opensource #devops #privacy 🕸️
Классические VPN (OpenVPN/IPsec) с их "звездой" и единой точкой отказа в 2026 году выглядят архаично.
Все переходят на Tailscale (Mesh-сеть на базе WireGuard), но админы боятся использовать чужие контроллеры управления.
Твой выбор: Headscale.
Это Open Source реализация контроллера Tailscale, которую ты хостишь у себя.
В чем соль:
NAT Traversal: Тебе не нужно открывать порты. Устройства находят друг друга за любыми NAT-ами (используя STUN/DERP).
Mesh: Трафик идет от сервера А к серверу Б напрямую (P2P), а не через центральный шлюз.
ACL: Ты управляешь доступом через JSON-правила (кто кого видит).
Команда для регистрации клиента: tailscale up --login-server https://vpn.tvoja-kompaniya.ru --authkey [KEY]
Это идеальная замена корпоративному VPN для удаленщиков и связи между серверами в разных облаках.
#networking #vpn #wireguard #headscale #opensource #devops #privacy 🕸️
👍3🔥1👏1
🐧 Linux: Ошибка "Read-only file system"? Спасаем данные без ребута 🛠️
Страшный сон админа: файловая система внезапно ушла в read-only из-за ошибок в логах или сбоя питания.
Сервисы встали, база упала. Прежде чем бежать за новым диском, можно попробовать «пересобрать» её на лету.
Шаг 1: Проверяем, что случилось
тут будет причина (обычно битые блоки или сбой журнала).
Шаг 2: Магия перемонтирования Если диск физически жив, можно принудительно вернуть ему режим записи:
Шаг 3: Исправление «на ходу» (для ext4) fsck -n /dev/sda1 — только проверка (без правок). Если ошибок много, используем debugfs для вытаскивания критичных конфигов, пока диск окончательно не «отвалился».
Совет: Если такое случилось на виртуалке, проверь задержки (latency) на СХД — часто диск уходит в RO, если гипервизор не ответил вовремя. 📡
#linux #filesystem #troubleshooting #sysadmin #ext4 #storage
Страшный сон админа: файловая система внезапно ушла в read-only из-за ошибок в логах или сбоя питания.
Сервисы встали, база упала. Прежде чем бежать за новым диском, можно попробовать «пересобрать» её на лету.
Шаг 1: Проверяем, что случилось
dmesg | grep -i "error|jbd2"
тут будет причина (обычно битые блоки или сбой журнала).
Шаг 2: Магия перемонтирования Если диск физически жив, можно принудительно вернуть ему режим записи:
mount -o remount,rw /
Шаг 3: Исправление «на ходу» (для ext4) fsck -n /dev/sda1 — только проверка (без правок). Если ошибок много, используем debugfs для вытаскивания критичных конфигов, пока диск окончательно не «отвалился».
Совет: Если такое случилось на виртуалке, проверь задержки (latency) на СХД — часто диск уходит в RO, если гипервизор не ответил вовремя. 📡
#linux #filesystem #troubleshooting #sysadmin #ext4 #storage
🪟 Windows: Отключаем "Search Highlights" и лишний мусор через реестр 🧹
Заметили, как поиск в Windows 11/Server 2025 стал забиваться картинками, новостями и рекламой ("Search Highlights")? Это не только бесит, но и жрет ресурсы процесса SearchHost.exe. Для админской машины это лишний мусор.
Убираем всё лишнее одной командой в PowerShell:
Результат: Чистый, быстрый поиск только по локальным файлам и приложениям. Минимум сетевого трафика в сторону Bing. ✨
#windows #registry #powershell #optimization #sysadmin #clean #windows11
Заметили, как поиск в Windows 11/Server 2025 стал забиваться картинками, новостями и рекламой ("Search Highlights")? Это не только бесит, но и жрет ресурсы процесса SearchHost.exe. Для админской машины это лишний мусор.
Убираем всё лишнее одной командой в PowerShell:
# Отключаем интернет-результаты в поиске и "интересные факты"
$path = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Search"
Set-ItemProperty -Path $path -Name "BingSearchEnabled" -Value 0
Set-ItemProperty -Path $path -Name "SearchboxTaskbarMode" -Value 0
# Отключаем Search Highlights (те самые картинки в поиске)
$path2 = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search"
if (!(Test-Path $path2)) { New-Item $path2 -Force }
Set-ItemProperty -Path $path2 -Name "EnableAllowedDaysCondition" -Value 0
Результат: Чистый, быстрый поиск только по локальным файлам и приложениям. Минимум сетевого трафика в сторону Bing. ✨
#windows #registry #powershell #optimization #sysadmin #clean #windows11
✍4
🧠 Skill: "Terraform Drift Detection" — навык №1 в 2026 году ☁️
В эпоху IaC (Infrastructure as Code) самая большая проблема — это Drift (отклонение).
Это когда кто-то зашел в консоль AWS/Azure/Yandex руками и поменял тип инстанса или открыл порт, а в коде Terraform осталось старое значение.
Почему это опасно: При следующем запуске terraform apply твои ручные правки либо затрутся, либо всё упадет с ошибкой.
Что учить:
1. Terraform Plan Automation: Настрой запуск terraform plan в CI/CD раз в час.
2. Инструменты: Посмотри в сторону Driftctl или встроенного режима --refresh-only.
3. Команда для проверки "разрыва" между кодом и реальностью: terraform plan -refresh-only
Умение находить и устранять такие расхождения без даунтайма — это то, за что сегодня платят Senior DevOps инженерам. 🚀
#devops #terraform #iac #cloud #skills #automation #gitops
В эпоху IaC (Infrastructure as Code) самая большая проблема — это Drift (отклонение).
Это когда кто-то зашел в консоль AWS/Azure/Yandex руками и поменял тип инстанса или открыл порт, а в коде Terraform осталось старое значение.
Почему это опасно: При следующем запуске terraform apply твои ручные правки либо затрутся, либо всё упадет с ошибкой.
Что учить:
1. Terraform Plan Automation: Настрой запуск terraform plan в CI/CD раз в час.
2. Инструменты: Посмотри в сторону Driftctl или встроенного режима --refresh-only.
3. Команда для проверки "разрыва" между кодом и реальностью: terraform plan -refresh-only
Умение находить и устранять такие расхождения без даунтайма — это то, за что сегодня платят Senior DevOps инженерам. 🚀
#devops #terraform #iac #cloud #skills #automation #gitops
🐧 Linux: Ищем утечки памяти через slabtop 🧠
Бывает, что
Как найти виновника: Запусти встроенную утилиту:
(Флаг -s c сортирует по размеру кэша).
Куда смотреть: Если в топе висят
Как быстро «сбросить» кэш (без вреда для системы):
(2 — освобождает dentry и иноды. 1 — только pagecache. 3 — всё вместе).
#linux #kernel #performance #memory #troubleshooting #sysadmin #slab
Бывает, что
free -m показывает: память занята, но top клянется, что ни один процесс не потребляет много. Скорее всего, память «утекла» в Slab — кэш ядра для объектов (дескрипторы файлов, иноды и т.д.). В 2026 году при активном использовании контейнеров это частая беда.Как найти виновника: Запусти встроенную утилиту:
sudo slabtop -s c
(Флаг -s c сортирует по размеру кэша).
Куда смотреть: Если в топе висят
dentry или inode_cache , значит, система открыла миллионы мелких файлов и не закрыла их.Как быстро «сбросить» кэш (без вреда для системы):
echo 2 > /proc/sys/vm/drop_caches
(2 — освобождает dentry и иноды. 1 — только pagecache. 3 — всё вместе).
#linux #kernel #performance #memory #troubleshooting #sysadmin #slab
🪟 Windows: Продвинутый мониторинг сетевых соединений без TCPView 🌐
Забудь про сторонний софт. Если тебе нужно увидеть, какой процесс занимает порт прямо сейчас и сколько трафика он генерирует, в PowerShell есть мощнейшая связка.
Команда дня:
1. Out-GridView: Откроет отдельное окно с таблицей, где можно мгновенно фильтровать по IP или имени процесса.
2, Native: Работает на любом сервере "из коробки" (даже в Server Core).
3. Безопасность: Помогает быстро вычислить подозрительные процессы, которые стучатся на внешние IP. 🕵️♂️
#windows #powershell #networking #security #sysadmin #monitor #tcp
Забудь про сторонний софт. Если тебе нужно увидеть, какой процесс занимает порт прямо сейчас и сколько трафика он генерирует, в PowerShell есть мощнейшая связка.
Команда дня:
Get-NetTCPConnection -State Established |
Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, State,
@{Name="ProcessName";Expression={(Get-Process -Id $_.OwningProcess).Name}} |
Sort-Object LocalPort |
Out-GridView
1. Out-GridView: Откроет отдельное окно с таблицей, где можно мгновенно фильтровать по IP или имени процесса.
2, Native: Работает на любом сервере "из коробки" (даже в Server Core).
3. Безопасность: Помогает быстро вычислить подозрительные процессы, которые стучатся на внешние IP. 🕵️♂️
#windows #powershell #networking #security #sysadmin #monitor #tcp
👍3
🛡️ Skill: "API Rate Limiting" — защита от «дружественного» DDoS 🚧
В 2026 году почти любая инфраструктура — это API. Самая частая причина падения сервиса — не хакеры, а свои же разработчики, которые случайно запустили кривой цикл запросов.
Навык: Умение настроить Rate Limiting на уровне Nginx или Ingress Controller.
Пример для Nginx:
1. Описываем зону (10 запросов в секунду на один IP): limit_req_zone $binary_remote_addr zone=mylimit:10m rate=10r/s;
2. Применяем к локации: limit_req zone=mylimit burst=20 nodelay;
Что это дает: Даже если клиент начнет спамить запросами, твой бэкенд получит ровно столько, сколько может обработать. Остальное Nginx вежливо отсечет с ошибкой 429. Это база стабильности любого продакшена. 💎
#devops #nginx #api #security #scalability #microservices #skills
В 2026 году почти любая инфраструктура — это API. Самая частая причина падения сервиса — не хакеры, а свои же разработчики, которые случайно запустили кривой цикл запросов.
Навык: Умение настроить Rate Limiting на уровне Nginx или Ingress Controller.
Пример для Nginx:
1. Описываем зону (10 запросов в секунду на один IP): limit_req_zone $binary_remote_addr zone=mylimit:10m rate=10r/s;
2. Применяем к локации: limit_req zone=mylimit burst=20 nodelay;
Что это дает: Даже если клиент начнет спамить запросами, твой бэкенд получит ровно столько, сколько может обработать. Остальное Nginx вежливо отсечет с ошибкой 429. Это база стабильности любого продакшена. 💎
#devops #nginx #api #security #scalability #microservices #skills
🐧 Linux: Сетевой тюнинг — боремся с очередями (Softirq) 🚄
Если у тебя мощный сервер, гигабитный канал, но сетевая подсистема тормозит, а одно из ядер CPU загружено на 100% (в графе %si в top), ты столкнулся с проблемой обработки прерываний сетевой карты. В 2026 году при 10Gbps+ сетях это база.
Решение: Раскидываем обработку пакетов по всем ядрам CPU с помощью RSS (Receive Side Scaling) и RPS (Receive Packet Steering).
Как включить маски для очередей (пример для eth0 и 8 ядер):
Почему это важно: Это позволяет системе обрабатывать входящий трафик параллельно на всех ядрах, а не душить одно ядро софт-прерываниями. Пинг падает, пропускная способность растет. 🏎️
#linux #networking #performance #sysadmin #kernel #optimization #10gbps
Если у тебя мощный сервер, гигабитный канал, но сетевая подсистема тормозит, а одно из ядер CPU загружено на 100% (в графе %si в top), ты столкнулся с проблемой обработки прерываний сетевой карты. В 2026 году при 10Gbps+ сетях это база.
Решение: Раскидываем обработку пакетов по всем ядрам CPU с помощью RSS (Receive Side Scaling) и RPS (Receive Packet Steering).
Как включить маски для очередей (пример для eth0 и 8 ядер):
# Разрешаем обработку пакетов на всех 8 ядрах (маска f = 11111111)
echo f > /sys/class/net/eth0/queues/rx-0/rps_cpus
Почему это важно: Это позволяет системе обрабатывать входящий трафик параллельно на всех ядрах, а не душить одно ядро софт-прерываниями. Пинг падает, пропускная способность растет. 🏎️
#linux #networking #performance #sysadmin #kernel #optimization #10gbps
🔥1
🪟 Windows: Секретный "God Mode" и быстрый доступ к администрированию 🛠️
Иногда нужно быстро найти глубокую настройку в Windows Server или Win11, но новый интерфейс "Параметры" только путает. Есть способ вывести абсолютно все настройки системы (более 200 штук) в одну папку с человеческим поиском.
Как создать "Все задачи":
1. Создай на рабочем столе новую папку.
2. Переименуй её в это: GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}
Открыв эту папку, ты получишь список всех инструментов управления — от настройки iSCSI и ODBC до управления сертификатами и планами электропитания. Всё в одном месте, без бесконечных кликов по меню. 💎
#windows #sysadmin #lifehack #tips #windows11 #windowsserver #management
Иногда нужно быстро найти глубокую настройку в Windows Server или Win11, но новый интерфейс "Параметры" только путает. Есть способ вывести абсолютно все настройки системы (более 200 штук) в одну папку с человеческим поиском.
Как создать "Все задачи":
1. Создай на рабочем столе новую папку.
2. Переименуй её в это: GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}
Открыв эту папку, ты получишь список всех инструментов управления — от настройки iSCSI и ODBC до управления сертификатами и планами электропитания. Всё в одном месте, без бесконечных кликов по меню. 💎
#windows #sysadmin #lifehack #tips #windows11 #windowsserver #management
🔥2👍1👏1
🌐 Skill: "Ghost in the Network" — находим конфликты IP за 1 секунду 👻
Конфликт IP-адресов — это ад.
У одного пользователя интернет работает, у другого — нет, и они «выбивают» друг друга.
Стандартный ping тут бесполезен.
Твой лучший друг — arping.
Пинг идет на сетевой уровень (L3).
Если IP занят двумя устройствами, пинг может приходить то от одного, то от другого.
Arping работает на L2 (MAC-адреса).
Как найти вора: sudo arping -I eth0 -c 5 192.168.1.50
Куда смотреть: Если в ответе ты видишь два разных MAC-адреса для одного IP — поздравляю, ты нашел виновника.
Теперь идешь в таблицу коммутатора, ищешь порт по MAC и выключаешь его.
Проблема решена. ✅
#networking #arp #troubleshooting #sysadmin #skills #ip_conflict #linux
Конфликт IP-адресов — это ад.
У одного пользователя интернет работает, у другого — нет, и они «выбивают» друг друга.
Стандартный ping тут бесполезен.
Твой лучший друг — arping.
Пинг идет на сетевой уровень (L3).
Если IP занят двумя устройствами, пинг может приходить то от одного, то от другого.
Arping работает на L2 (MAC-адреса).
Как найти вора: sudo arping -I eth0 -c 5 192.168.1.50
Куда смотреть: Если в ответе ты видишь два разных MAC-адреса для одного IP — поздравляю, ты нашел виновника.
Теперь идешь в таблицу коммутатора, ищешь порт по MAC и выключаешь его.
Проблема решена. ✅
#networking #arp #troubleshooting #sysadmin #skills #ip_conflict #linux
🌐 Skill: "Zero Trust" — убиваем VPN ради безопасности и удобства 🔐
В 2026 году классический VPN (когда ты даешь юзеру доступ сразу ко всей подсети) — это дыра в безопасности. Тренд года — Identity-Aware Proxy (IAP). Это когда доступ дается не к сети, а к конкретному приложению (SSH, Web, DB) только после проверки личности через SSO.
Навык: Настройка Cloudflare Tunnel или Boundary от HashiCorp.
Почему это круче:
1. Сервер вообще не светит портами наружу (даже 80 и 443).
2. Юзеру не нужно включать VPN-клиент и ждать коннекта.
3. Полный аудит: ты видишь не "IP зашел в сеть", а "Админ Иван открыл SSH-сессию на сервер БД".
Команда (пример для Cloudflare Tunnel):
Это будущее корпоративных сетей.
Тот, кто умеет строить ZTNA (Zero Trust Network Access), стоит на рынке в два раза дороже обычного "VPN-мастера". 🚀
#devops #security #zerotrust #ztna #cloudflare #infrastructure #skills
В 2026 году классический VPN (когда ты даешь юзеру доступ сразу ко всей подсети) — это дыра в безопасности. Тренд года — Identity-Aware Proxy (IAP). Это когда доступ дается не к сети, а к конкретному приложению (SSH, Web, DB) только после проверки личности через SSO.
Навык: Настройка Cloudflare Tunnel или Boundary от HashiCorp.
Почему это круче:
1. Сервер вообще не светит портами наружу (даже 80 и 443).
2. Юзеру не нужно включать VPN-клиент и ждать коннекта.
3. Полный аудит: ты видишь не "IP зашел в сеть", а "Админ Иван открыл SSH-сессию на сервер БД".
Команда (пример для Cloudflare Tunnel):
cloudflared tunnel run --url localhost:8080 my-internal-app
Это будущее корпоративных сетей.
Тот, кто умеет строить ZTNA (Zero Trust Network Access), стоит на рынке в два раза дороже обычного "VPN-мастера". 🚀
#devops #security #zerotrust #ztna #cloudflare #infrastructure #skills
❤1🔥1👏1
🐧 Linux: Как оживить сервер, если /bin/bash случайно удален 😱
Классический кошмар: ты (или скрипт) случайно удалил bash или критическую библиотеку libc.so, и теперь ни одна команда не работает.
SSH-сессия еще жива, но на любое действие система отвечает:
```
command not found
```
Решение: Используй встроенные возможности самого SSH и командной оболочки, которая еще в памяти.
Если у тебя открыта сессия, ты можешь использовать Zsh или Dash (который часто является /bin/sh), чтобы восстановить файлы.
Если же нет ничего, помни: busybox — твой лучший друг.
Хак: Восстановление через копирование по сети без scp: Если на сервере нет ничего, но жив cat:
На своей машине:
На сервере (через вызов загрузчика):
Совет: Всегда держи установленным пакет busybox-static. Он содержит всё необходимое в одном бинарнике и не зависит от внешних библиотек.
#linux #troubleshooting #sysadmin #bash #recovery #server_rescue 🛠️
Классический кошмар: ты (или скрипт) случайно удалил bash или критическую библиотеку libc.so, и теперь ни одна команда не работает.
SSH-сессия еще жива, но на любое действие система отвечает:
```
command not found
```
Решение: Используй встроенные возможности самого SSH и командной оболочки, которая еще в памяти.
Если у тебя открыта сессия, ты можешь использовать Zsh или Dash (который часто является /bin/sh), чтобы восстановить файлы.
Если же нет ничего, помни: busybox — твой лучший друг.
Хак: Восстановление через копирование по сети без scp: Если на сервере нет ничего, но жив cat:
На своей машине:
cat /bin/bash | ssh user@server "cat > /tmp/bash"
На сервере (через вызов загрузчика):
/lib64/ld-linux-x86-64.so.2 /tmp/bash
Совет: Всегда держи установленным пакет busybox-static. Он содержит всё необходимое в одном бинарнике и не зависит от внешних библиотек.
#linux #troubleshooting #sysadmin #bash #recovery #server_rescue 🛠️
👏1
⚡ PowerShell: Работаем с API как профи через RestMethod 🌐
В 2026 году админ постоянно взаимодействует с API: Jira, GitLab, мониторинг или облака. Многие до сих пор мучаются с curl в Windows, хотя в PowerShell есть нативный и гораздо более мощный инструмент.
Команда дня:
Почему это круто:
1. Splatting: Передача параметров через хэш-таблицу (@params) делает код чистым и читаемым.
2. Auto-Object: В отличие от Invoke-WebRequest, этот командлет сразу конвертирует JSON в объект. Тебе не нужно парсить текст!
3. Native Auth: Поддерживает современные протоколы авторизации из коробки.
#windows #powershell #api #automation #sysadmin #rest #devops 🚀
В 2026 году админ постоянно взаимодействует с API: Jira, GitLab, мониторинг или облака. Многие до сих пор мучаются с curl в Windows, хотя в PowerShell есть нативный и гораздо более мощный инструмент.
Команда дня:
$params = @{
Uri = "https://api.your-service.com/v1/task"
Method = "Post"
Headers = @{ "Authorization" = "Bearer $Token" }
ContentType = "application/json"
Body = @{ title = "Fix Server"; priority = 1 } | ConvertTo-Json
}
$response = Invoke-RestMethod @params
$response.id # Работаем с результатом сразу как с объектом!
Почему это круто:
1. Splatting: Передача параметров через хэш-таблицу (@params) делает код чистым и читаемым.
2. Auto-Object: В отличие от Invoke-WebRequest, этот командлет сразу конвертирует JSON в объект. Тебе не нужно парсить текст!
3. Native Auth: Поддерживает современные протоколы авторизации из коробки.
#windows #powershell #api #automation #sysadmin #rest #devops 🚀
🔥1
🛡️ Skill: Стратегия бэкапов «3-2-1-1-0» — стандарт 2026 года 📦
Обычного правила «3-2-1» больше недостаточно из-за активности вирусов-шифровальщиков. В 2026 году профи используют расширенную схему, чтобы спать спокойно.
Разбор формулы:
* 3 копии данных (оригинал + 2 бэкапа).
* 2 разных носителя (например, диск и облако).
* 1 копия вне офиса (Offsite).
* 1 копия Immutable (неизменяемая) или Offline (Air-gapped). Это защита от шифровальщиков: даже если админский аккаунт взломан, удалить этот бэкап нельзя.
* 0 ошибок. Регулярная автоматическая проверка восстановления (Restore Test).
Инструмент недели: Посмотри в сторону Veeam Hardened Repository (на базе Linux XFS) или Restic с флагом append-only. Это база твоей выживаемости как специалиста.
#backup #security #disaster_recovery #sysadmin #bestpractices #restic #veeam 🛡️
Обычного правила «3-2-1» больше недостаточно из-за активности вирусов-шифровальщиков. В 2026 году профи используют расширенную схему, чтобы спать спокойно.
Разбор формулы:
* 3 копии данных (оригинал + 2 бэкапа).
* 2 разных носителя (например, диск и облако).
* 1 копия вне офиса (Offsite).
* 1 копия Immutable (неизменяемая) или Offline (Air-gapped). Это защита от шифровальщиков: даже если админский аккаунт взломан, удалить этот бэкап нельзя.
* 0 ошибок. Регулярная автоматическая проверка восстановления (Restore Test).
Инструмент недели: Посмотри в сторону Veeam Hardened Repository (на базе Linux XFS) или Restic с флагом append-only. Это база твоей выживаемости как специалиста.
#backup #security #disaster_recovery #sysadmin #bestpractices #restic #veeam 🛡️
👍2❤1
🕵️♂️ Пятничный лонгрид: Анатомия сбоя. Почему мы чиним следствия, а не причины (и как перестать это делать)
Пятница. 16:45.
Прилетает алерт: «Прод лежит».
У тебя подскакивает пульс.
Руки сами тянутся к консоли, чтобы написать
🛑 Остановись.Убери руки от клавиатуры.
В 2026 году перезагрузка сервера без понимания причины — это не решение, а уничтожение улик.
Сегодня поговорим о том, что отличает «эникейщика» от Site Reliability Engineer (SRE): искусстве расследования.
1. Правило «Пяти почему» (The 5 Whys)
Мы часто лечим симптомы.
«Упал сервис — подняли сервис».
Это путь к выгоранию, потому что сервис упадет снова, когда ты будешь спать.
Применяй метод Toyota:
Проблема: Упал интернет-магазин (502 Bad Gateway).
1. Почему? PHP-FPM перестал отвечать.
2. Почему? Закончилась оперативная память, пришел OOM Killer.
3. Почему? Один процесс съел 4 ГБ RAM.
4. Почему? Пользователь загрузил картинку размером 50 МБ, а библиотека обработки изображений попыталась разжать её в память.
5. Почему? (Корневая причина): На фронтенде нет валидации размера загружаемого файла, а на бэкенде нет лимитов памяти на воркер.
Решение: Не «добавить памяти серверу», а «поставить лимит на загрузку».
2. Не путай совпадение с причиной (Correlation vs Causation)
«Я обновил ядро, и через час упала база. Наверное, ядро кривое». Возможно. А возможно, именно в этот час запустился «тяжелый» отчет бухгалтерии, который запускается раз в месяц.
Инструмент: В 2026 году мы смотрим на eBPF и трассировку. Не гадай. Используй perf, sysdig или biosnoop. Если ты не видишь, почему процесс встал (ждет диска? сети? мьютекса?), ты просто играешь в лотерею.
3. Теория «Черного ящика» и гигиена логов
Если твой лог выглядит как стена текста INFO: processed item, он бесполезен. В момент аварии тебе нужно знать, что случилось ДО падения.
Правило: Логи должны быть структурированы (JSON). Грепать текст в 2026-м — моветон.
Совет: Настрой ротацию так, чтобы при краше сохранялся coredump или хотя бы последние 1000 строк лога в отдельный файл crash_report_date.log.
🚀 Пятничный ритуал «Закрытия гештальтов»:
Чтобы уйти на выходные и реально отдохнуть, сделай эти 3 действия прямо сейчас:
* Browser Bankruptcy: Закрой эти 50 вкладок с документацией, которые ты «потом почитаешь». Если это важно — добавь в закладки/Obsidian. Если нет — закрой. Освободи RAM своего мозга.
* Clean Desktop: Удали с рабочего стола (и из папки Загрузки) временные скрипты test.sh, sql_dump_new_final.sql и скриншоты ошибок. Цифровой мусор создает тревожность.
* Silence is Golden: Проверь расписание дежурств (On-Call). Если в эти выходные ты не дежурный — выключи уведомления рабочего чата. Совсем. Мир не рухнет, а твоя нервная система скажет спасибо.
Помни: Хороший инженер — это не тот, кто быстро чинит, а тот, кто знает, почему оно сломалось, и делает так, чтобы это не повторилось.
Выдыхаем, коллеги. Эта неделя была долгой, но мы справились. 🍺🔌
#friday #longread #troubleshooting #sre #sysadmin #psychology #admin_future #debug
Пятница. 16:45.
Прилетает алерт: «Прод лежит».
У тебя подскакивает пульс.
Руки сами тянутся к консоли, чтобы написать
systemctl restart nginx или ребутнуть виртуалку.🛑 Остановись.Убери руки от клавиатуры.
В 2026 году перезагрузка сервера без понимания причины — это не решение, а уничтожение улик.
Сегодня поговорим о том, что отличает «эникейщика» от Site Reliability Engineer (SRE): искусстве расследования.
1. Правило «Пяти почему» (The 5 Whys)
Мы часто лечим симптомы.
«Упал сервис — подняли сервис».
Это путь к выгоранию, потому что сервис упадет снова, когда ты будешь спать.
Применяй метод Toyota:
Проблема: Упал интернет-магазин (502 Bad Gateway).
1. Почему? PHP-FPM перестал отвечать.
2. Почему? Закончилась оперативная память, пришел OOM Killer.
3. Почему? Один процесс съел 4 ГБ RAM.
4. Почему? Пользователь загрузил картинку размером 50 МБ, а библиотека обработки изображений попыталась разжать её в память.
5. Почему? (Корневая причина): На фронтенде нет валидации размера загружаемого файла, а на бэкенде нет лимитов памяти на воркер.
Решение: Не «добавить памяти серверу», а «поставить лимит на загрузку».
2. Не путай совпадение с причиной (Correlation vs Causation)
«Я обновил ядро, и через час упала база. Наверное, ядро кривое». Возможно. А возможно, именно в этот час запустился «тяжелый» отчет бухгалтерии, который запускается раз в месяц.
Инструмент: В 2026 году мы смотрим на eBPF и трассировку. Не гадай. Используй perf, sysdig или biosnoop. Если ты не видишь, почему процесс встал (ждет диска? сети? мьютекса?), ты просто играешь в лотерею.
3. Теория «Черного ящика» и гигиена логов
Если твой лог выглядит как стена текста INFO: processed item, он бесполезен. В момент аварии тебе нужно знать, что случилось ДО падения.
Правило: Логи должны быть структурированы (JSON). Грепать текст в 2026-м — моветон.
Совет: Настрой ротацию так, чтобы при краше сохранялся coredump или хотя бы последние 1000 строк лога в отдельный файл crash_report_date.log.
🚀 Пятничный ритуал «Закрытия гештальтов»:
Чтобы уйти на выходные и реально отдохнуть, сделай эти 3 действия прямо сейчас:
* Browser Bankruptcy: Закрой эти 50 вкладок с документацией, которые ты «потом почитаешь». Если это важно — добавь в закладки/Obsidian. Если нет — закрой. Освободи RAM своего мозга.
* Clean Desktop: Удали с рабочего стола (и из папки Загрузки) временные скрипты test.sh, sql_dump_new_final.sql и скриншоты ошибок. Цифровой мусор создает тревожность.
* Silence is Golden: Проверь расписание дежурств (On-Call). Если в эти выходные ты не дежурный — выключи уведомления рабочего чата. Совсем. Мир не рухнет, а твоя нервная система скажет спасибо.
Помни: Хороший инженер — это не тот, кто быстро чинит, а тот, кто знает, почему оно сломалось, и делает так, чтобы это не повторилось.
Выдыхаем, коллеги. Эта неделя была долгой, но мы справились. 🍺🔌
#friday #longread #troubleshooting #sre #sysadmin #psychology #admin_future #debug
🔥2🤝2👏1