🚫 IPv6: Перестаньте его отключать
Есть старая привычка эникейщиков: «Глючит сеть? Отключи IPv6 в адаптере». В 2010 году это помогало. В 2025 году это архитектурная ошибка.
Почему нельзя просто снять галочку:
Windows Server: Microsoft официально заявляет: «Мы не тестируем Windows Server без IPv6». Многие внутренние службы (Exchange, Cluster Service, Active Directory) используют его для общения между собой, даже если у вас нет внешнего v6 адреса.
Тормоза: При отключении IPv6 через GUI адаптера, система всё равно пытается резолвить AAAA-записи DNS, ждет таймаута и только потом идет по IPv4. Это добавляет задержки (latency) при открытии сайтов и подключении к БД.
Как правильно (если очень надо): Если ваш провайдер или свитч реально не дружит с v6, не отключайте протокол. Настройте приоритет (Prefer IPv4 over IPv6) через реестр:
Пусть IPv6 живет своей жизнью внутри ядра. Не мешайте механизму работать.
#network #ipv6 #windows #bestpractice #mythbusters
Есть старая привычка эникейщиков: «Глючит сеть? Отключи IPv6 в адаптере». В 2010 году это помогало. В 2025 году это архитектурная ошибка.
Почему нельзя просто снять галочку:
Windows Server: Microsoft официально заявляет: «Мы не тестируем Windows Server без IPv6». Многие внутренние службы (Exchange, Cluster Service, Active Directory) используют его для общения между собой, даже если у вас нет внешнего v6 адреса.
Тормоза: При отключении IPv6 через GUI адаптера, система всё равно пытается резолвить AAAA-записи DNS, ждет таймаута и только потом идет по IPv4. Это добавляет задержки (latency) при открытии сайтов и подключении к БД.
Как правильно (если очень надо): Если ваш провайдер или свитч реально не дружит с v6, не отключайте протокол. Настройте приоритет (Prefer IPv4 over IPv6) через реестр:
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters" -Name "DisabledComponents" -PropertyType DWord -Value 0x20
Пусть IPv6 живет своей жизнью внутри ядра. Не мешайте механизму работать.
#network #ipv6 #windows #bestpractice #mythbusters
🕸 Headscale: Твой личный Tailscale
Все любят Tailscale за магию Mesh-VPN: поставил агент на ноут, телефон и домашний сервер — и они видят друг друга по локальным IP, где бы они ни были (даже за двойным NAT). Но есть минус: Control Server (координатор) проприетарный и лежит у них.
Для тех, кто ценит суверенитет, есть Headscale. Это Open Source реализация координатора Tailscale, которую вы хостите сами.
Зачем мучаться, если Tailscale бесплатен для личного пользования?
1. Безлимит: Никаких ограничений на количество устройств и пользователей.
2. Приватность: Списки ваших устройств и ACL не лежат на чужих серверах.
3. Опыт: Вы поймете, как работают современные оверлейные сети.
Как работает: Поднимаете Headscale на дешевой VPS за 100 рублей. На клиентах (Windows/Android/Linux) указываете URL вашего сервера (--login-server). Профит: ваша личная защищенная сеть поверх всего интернета.
#vpn #homelab #opensource #headscale #security #selfhosted
Все любят Tailscale за магию Mesh-VPN: поставил агент на ноут, телефон и домашний сервер — и они видят друг друга по локальным IP, где бы они ни были (даже за двойным NAT). Но есть минус: Control Server (координатор) проприетарный и лежит у них.
Для тех, кто ценит суверенитет, есть Headscale. Это Open Source реализация координатора Tailscale, которую вы хостите сами.
Зачем мучаться, если Tailscale бесплатен для личного пользования?
1. Безлимит: Никаких ограничений на количество устройств и пользователей.
2. Приватность: Списки ваших устройств и ACL не лежат на чужих серверах.
3. Опыт: Вы поймете, как работают современные оверлейные сети.
Как работает: Поднимаете Headscale на дешевой VPS за 100 рублей. На клиентах (Windows/Android/Linux) указываете URL вашего сервера (--login-server). Профит: ваша личная защищенная сеть поверх всего интернета.
#vpn #homelab #opensource #headscale #security #selfhosted
👤 T-Shaped Admin: Кто стоит дорого?
В воскресенье можно подумать о карьере. На рынке 2025 года есть два типа специалистов, которым платят много.
1. I-Shaped (Узкий спец): Знает Oracle DB на уровне бога. Больше ничего не знает. Рискованно (технология может умереть).
2. T-Shaped (Архитектор):
* Вертикальная палка: Глубокая экспертиза в чем-то одном (например, Linux/Networks).
* Горизонтальная перекладина: Базовое понимание смежных областей (Python, Security, Databases, Cloud, Frontend).
Почему T-Shaped побеждает? Когда падает сервис, "узкий" линуксоид говорит: "У меня в htop всё ок, это проблема базы". И идет пить чай. T-Shaped админ заходит в базу, смотрит медленные запросы, понимает, что разработчик забыл индекс, и временно его создает.
Задача на вечер: Подумайте, где у вас просадка в "горизонтальной перекладине"?
* Боитесь сетей? (Почитайте про BGP/OSPF).
* Не умеете кодить? (Напишите бота на Python).
* Плавайте в безопасности? (Разберите OWASP Top 10).
Расширяйте кругозор. Это лучшая инвестиция.
#career #growth #tshaped #softskills #salary
В воскресенье можно подумать о карьере. На рынке 2025 года есть два типа специалистов, которым платят много.
1. I-Shaped (Узкий спец): Знает Oracle DB на уровне бога. Больше ничего не знает. Рискованно (технология может умереть).
2. T-Shaped (Архитектор):
* Вертикальная палка: Глубокая экспертиза в чем-то одном (например, Linux/Networks).
* Горизонтальная перекладина: Базовое понимание смежных областей (Python, Security, Databases, Cloud, Frontend).
Почему T-Shaped побеждает? Когда падает сервис, "узкий" линуксоид говорит: "У меня в htop всё ок, это проблема базы". И идет пить чай. T-Shaped админ заходит в базу, смотрит медленные запросы, понимает, что разработчик забыл индекс, и временно его создает.
Задача на вечер: Подумайте, где у вас просадка в "горизонтальной перекладине"?
* Боитесь сетей? (Почитайте про BGP/OSPF).
* Не умеете кодить? (Напишите бота на Python).
* Плавайте в безопасности? (Разберите OWASP Top 10).
Расширяйте кругозор. Это лучшая инвестиция.
#career #growth #tshaped #softskills #salary
🕰 Linux: Кто убил сервер в 3 часа ночи? (atop)
Утро понедельника. Сервер перезагрузился ночью. Мониторинг показывает дырку в графиках. top и htop показывают текущую картину, где всё спокойно. Как узнать, что произошло в прошлом?
Ваш спаситель — atop. В отличие от htop, он умеет работать как демон и записывать состояние системы (снапшоты) каждые 10 минут.
Как отправиться в прошлое:
Управление машиной времени:
* t — шаг вперед на 10 минут.
* T — шаг назад.
* b — прыгнуть к конкретному времени (например, 02:55).
Вы увидите полную картину того момента: какой процесс съел CPU, закончилась ли память (OOM) или диск ушел в полку по IOPS.
Если atop не стоит, ставьте прямо сейчас. Когда сервер упадет в следующий раз, вы скажете себе спасибо.
#linux #troubleshooting #atop #monitoring #debug #logs
Утро понедельника. Сервер перезагрузился ночью. Мониторинг показывает дырку в графиках. top и htop показывают текущую картину, где всё спокойно. Как узнать, что произошло в прошлом?
Ваш спаситель — atop. В отличие от htop, он умеет работать как демон и записывать состояние системы (снапшоты) каждые 10 минут.
Как отправиться в прошлое:
# Читаем лог за сегодня (или выберите файл за вчера)
atop -r /var/log/atop/atop_20251215
Управление машиной времени:
* t — шаг вперед на 10 минут.
* T — шаг назад.
* b — прыгнуть к конкретному времени (например, 02:55).
Вы увидите полную картину того момента: какой процесс съел CPU, закончилась ли память (OOM) или диск ушел в полку по IOPS.
Если atop не стоит, ставьте прямо сейчас. Когда сервер упадет в следующий раз, вы скажете себе спасибо.
#linux #troubleshooting #atop #monitoring #debug #logs
🔥 Blameless Post-Mortem: Почему нельзя искать виноватых
Когда падает прод, инстинкт руководителя (и неопытного лида) — найти виновного. «Кто запушил конфиг? Петя? Лишить премии!»
Это путь в никуда. Архитектор строит культуру Blameless Post-Mortem (Разбор полетов без обвинений).
Почему это выгодно:
1. Честность: Если Петя знает, что его накажут, он будет скрывать ошибку до последнего, пока сервер не сгорит. Если знает, что не накажут — он придет и скажет: «Я сломал, давайте чинить». Время реакции сокращается в разы.
2. Системный подход: Ошибка человека — это всегда ошибка системы.
Плохой вопрос: «Почему Петя удалил базу?»
Вопрос архитектора: «Почему система позволила Пете удалить базу одной командой без подтверждения и бэкапа?»
Правило: Мы не чиним людей (увольнением). Мы чиним процессы (автоматизацией и защитой от дурака). В следующий раз, когда что-то сломается, начните разбор с фразы: «Мы не ищем виновных, мы ищем причину сбоя».
#softskills #management #sre #postmortem #culture #devops
Когда падает прод, инстинкт руководителя (и неопытного лида) — найти виновного. «Кто запушил конфиг? Петя? Лишить премии!»
Это путь в никуда. Архитектор строит культуру Blameless Post-Mortem (Разбор полетов без обвинений).
Почему это выгодно:
1. Честность: Если Петя знает, что его накажут, он будет скрывать ошибку до последнего, пока сервер не сгорит. Если знает, что не накажут — он придет и скажет: «Я сломал, давайте чинить». Время реакции сокращается в разы.
2. Системный подход: Ошибка человека — это всегда ошибка системы.
Плохой вопрос: «Почему Петя удалил базу?»
Вопрос архитектора: «Почему система позволила Пете удалить базу одной командой без подтверждения и бэкапа?»
Правило: Мы не чиним людей (увольнением). Мы чиним процессы (автоматизацией и защитой от дурака). В следующий раз, когда что-то сломается, начните разбор с фразы: «Мы не ищем виновных, мы ищем причину сбоя».
#softskills #management #sre #postmortem #culture #devops
🔥5
👑 Windows: Режим Бога (SYSTEM) через PsExec
Бывают ситуации, когда даже прав «Администратора» не хватает. Например, нужно удалить защищенный ключ реестра, убить системный процесс или проверить, почему скрипт в Task Scheduler падает (он запускается от SYSTEM, и у него другое окружение).
Вам нужно стать системой. Используем классику от Марка Руссиновича — PsExec.
Команда для локального запуска:
Разбор флагов:
* -i: Интерактивный режим (показать окно).
* -s: Запуск от имени учетной записи Local System (NT AUTHORITY\SYSTEM).
* -d: Не ждать завершения процесса.
В открывшейся консоли наберите whoami. Вы увидите nt authority\system. Теперь у вас прав больше, чем у Администратора. Вы можете править скрытые ветки реестра и смотреть файлы, доступные только ОС.
⚠️ Warning: Антивирусы часто ругаются на PsExec (HackTool). Добавьте папку Sysinternals в исключения на админской машине.
#windows #sysinternals #security #troubleshooting #godmode #psexec
Бывают ситуации, когда даже прав «Администратора» не хватает. Например, нужно удалить защищенный ключ реестра, убить системный процесс или проверить, почему скрипт в Task Scheduler падает (он запускается от SYSTEM, и у него другое окружение).
Вам нужно стать системой. Используем классику от Марка Руссиновича — PsExec.
Команда для локального запуска:
psexec -i -s -d cmd.exe
Разбор флагов:
* -i: Интерактивный режим (показать окно).
* -s: Запуск от имени учетной записи Local System (NT AUTHORITY\SYSTEM).
* -d: Не ждать завершения процесса.
В открывшейся консоли наберите whoami. Вы увидите nt authority\system. Теперь у вас прав больше, чем у Администратора. Вы можете править скрытые ветки реестра и смотреть файлы, доступные только ОС.
⚠️ Warning: Антивирусы часто ругаются на PsExec (HackTool). Добавьте папку Sysinternals в исключения на админской машине.
#windows #sysinternals #security #troubleshooting #godmode #psexec
👍2
⏱ Curl: Почему сайт тормозит? (Разбираем на атомы)
Когда пользователь говорит «сайт долго грузится», это эмоции. Админу нужны цифры. Проблема в DNS? Или SSL-хендшейк долгий? Или бэкенд тупит?
curl умеет раскладывать тайминги запроса по полочкам.
Команда:
Что значат цифры:
DNS: Сколько искали IP. Если долго — меняйте DNS-сервер.
Connect: TCP-подключение. Если долго — проблемы с сетью/маршрутами.
SSL: Криптография.
TTFB (Time To First Byte): Время, пока сервер думал над ответом. Если здесь 2 секунды — идите бить разработчиков, база тормозит.
Совет: Засуньте эту "колбасу" в алиас curl-time.
#network #curl #troubleshooting #performance #web #cli
Когда пользователь говорит «сайт долго грузится», это эмоции. Админу нужны цифры. Проблема в DNS? Или SSL-хендшейк долгий? Или бэкенд тупит?
curl умеет раскладывать тайминги запроса по полочкам.
Команда:
curl -w "DNS: %{time_namelookup}s \nConnect: %{time_connect}s \nSSL Handshake: %{time_appconnect}s \nTTFB: %{time_starttransfer}s \nTotal: %{time_total}s \n" -o /dev/null -s https://google.com
Что значат цифры:
DNS: Сколько искали IP. Если долго — меняйте DNS-сервер.
Connect: TCP-подключение. Если долго — проблемы с сетью/маршрутами.
SSL: Криптография.
TTFB (Time To First Byte): Время, пока сервер думал над ответом. Если здесь 2 секунды — идите бить разработчиков, база тормозит.
Совет: Засуньте эту "колбасу" в алиас curl-time.
#network #curl #troubleshooting #performance #web #cli
🔥2
👻 Windows: Режим «Призрака» в RDP (Shadow Mode)
Ситуация: Звонит бухгалтер. "У меня 1С не открывается, ошибка какая-то". Вы подключаетесь по RDP — и выкидываете пользователя из сессии (экран блокируется). Приходится кричать в трубку: "Ну что там написано?", а в ответ: "Ой, всё пропало, черный экран!".
В Windows встроен штатный способ подключиться к сессии пользователя, не выкидывая его (он видит, что вы делаете).
Как это сделать:
Узнаем ID сессии пользователя:
Подключаемся в режиме Shadow:
Что значат ключи:
/shadow:1 — подключиться к сессии с ID 1.
/control — разрешить управление мышкой/клавиатурой (без этого будет только просмотр).
/noConsentPrompt — подключиться без спроса (нужна настройка GPO, иначе у пользователя вылезет окошко "Разрешить админу просмотр?").
Идеально для техподдержки. Вы видите проблему глазами пользователя.
#windows #rdp #helpdesk #tips #shadowmode #cmd
Ситуация: Звонит бухгалтер. "У меня 1С не открывается, ошибка какая-то". Вы подключаетесь по RDP — и выкидываете пользователя из сессии (экран блокируется). Приходится кричать в трубку: "Ну что там написано?", а в ответ: "Ой, всё пропало, черный экран!".
В Windows встроен штатный способ подключиться к сессии пользователя, не выкидывая его (он видит, что вы делаете).
Как это сделать:
Узнаем ID сессии пользователя:
qwinsta /server:BUH-PC-01
# Видим: buhgalter ID: 1 Active
Подключаемся в режиме Shadow:
mstsc /shadow:1 /v:BUH-PC-01 /control
Что значат ключи:
/shadow:1 — подключиться к сессии с ID 1.
/control — разрешить управление мышкой/клавиатурой (без этого будет только просмотр).
/noConsentPrompt — подключиться без спроса (нужна настройка GPO, иначе у пользователя вылезет окошко "Разрешить админу просмотр?").
Идеально для техподдержки. Вы видите проблему глазами пользователя.
#windows #rdp #helpdesk #tips #shadowmode #cmd
👍4
🚦 Linux: Какая программа «жрет» интернет? (nethogs)
Сервер тормозит. Канал забит. Вы запускаете top — там всё чисто по CPU. Вы запускаете iftop — там куча IP-адресов, но непонятно, какой именно процесс генерирует этот трафик. Это бэкап? Или Nginx? Или майнер?
Вам нужен nethogs. Это как top, но для трафика. Он группирует скорость не по IP, а по PID и названию процесса.
Запуск:
Что вы увидите:
Сразу видно: Python-скрипт (вероятно, бэкап) выжирает весь аплоад. Убиваем процесс, спасаем сеть.
Установка: apt install nethogs / yum install nethogs
#linux #network #troubleshooting #nethogs #cli #traffic
Сервер тормозит. Канал забит. Вы запускаете top — там всё чисто по CPU. Вы запускаете iftop — там куча IP-адресов, но непонятно, какой именно процесс генерирует этот трафик. Это бэкап? Или Nginx? Или майнер?
Вам нужен nethogs. Это как top, но для трафика. Он группирует скорость не по IP, а по PID и названию процесса.
Запуск:
sudo nethogs eth0
Что вы увидите:
PID USER PROGRAM SENT RECEIVED
1234 root /usr/bin/python3 105 KB/s 10 KB/s
5678 www-data /usr/sbin/nginx 10 KB/s 5 KB/s
Сразу видно: Python-скрипт (вероятно, бэкап) выжирает весь аплоад. Убиваем процесс, спасаем сеть.
Установка: apt install nethogs / yum install nethogs
#linux #network #troubleshooting #nethogs #cli #traffic
👍2
🔑 CMD: Вспоминаем забытый пароль от Wi-Fi
Классика: Приходит начальник с новым айфоном. "Подключи меня к нашему Wi-Fi в переговорке". А вы этот пароль вводили 2 года назад и забыли. Он "зазвездочен" в настройках Windows.
Не надо лезть в админку роутера. Windows помнит всё в открытом виде.
Одна команда в консоли:
(Где Office_Guest — имя вашей сети)
Листаем вниз до раздела Security settings -> Key Content. Там и лежит ваш пароль открытым текстом.
Совет: Если забыли точное название сети, сначала введите netsh wlan show profiles, чтобы увидеть весь список сохраненных сетей.
Работает на любом ноутбуке с Windows. Спасает в 10 случаях из 10.
#windows #wifi #cmd #hacks #adminlife #network
Классика: Приходит начальник с новым айфоном. "Подключи меня к нашему Wi-Fi в переговорке". А вы этот пароль вводили 2 года назад и забыли. Он "зазвездочен" в настройках Windows.
Не надо лезть в админку роутера. Windows помнит всё в открытом виде.
Одна команда в консоли:
netsh wlan show profile name="Office_Guest" key=clear
(Где Office_Guest — имя вашей сети)
Листаем вниз до раздела Security settings -> Key Content. Там и лежит ваш пароль открытым текстом.
Совет: Если забыли точное название сети, сначала введите netsh wlan show profiles, чтобы увидеть весь список сохраненных сетей.
Работает на любом ноутбуке с Windows. Спасает в 10 случаях из 10.
#windows #wifi #cmd #hacks #adminlife #network
❤8
💀 Cron мертв. Да здравствуют Systemd Timers
Мы все привыкли писать crontab -e. Это просто, но убого: ❌ Если задача упала, вы узнаете об этом только если настроили почту. ❌ Логи надо перенаправлять вручную (>> /var/log/my.log 2>&1). ❌ Нельзя сказать: «Запусти бэкап только ПОСЛЕ того, как загрузилась база данных».
В 2025 году Архитектор использует Systemd Timers.
Как это сделать:
Создаем сервис (/etc/systemd/system/backup.service): Описываем, что делать.
Создаем таймер (/etc/systemd/system/backup.timer): Описываем, когда делать.
Активируем: systemctl enable --now backup.timer
Бонусы:
* systemctl list-timers — показывает, когда был последний запуск и когда следующий.
* journalctl -u backup.service — все логи из коробки.
* Можно добавить OnFailure=alert.service, чтобы телеграфировать об ошибках.
#linux #systemd #cron #automation #modern #bestpractice
Мы все привыкли писать crontab -e. Это просто, но убого: ❌ Если задача упала, вы узнаете об этом только если настроили почту. ❌ Логи надо перенаправлять вручную (>> /var/log/my.log 2>&1). ❌ Нельзя сказать: «Запусти бэкап только ПОСЛЕ того, как загрузилась база данных».
В 2025 году Архитектор использует Systemd Timers.
Как это сделать:
Создаем сервис (/etc/systemd/system/backup.service): Описываем, что делать.
[Service]
Type=oneshot
ExecStart=/usr/local/bin/backup.sh
Создаем таймер (/etc/systemd/system/backup.timer): Описываем, когда делать.
[Timer]
OnCalendar=*-*-* 03:00:00 # Каждый день в 3 ночи
Persistent=true # Если сервер был выключен, запустить сразу при включении!
[Install]
WantedBy=timers.target
Активируем: systemctl enable --now backup.timer
Бонусы:
* systemctl list-timers — показывает, когда был последний запуск и когда следующий.
* journalctl -u backup.service — все логи из коробки.
* Можно добавить OnFailure=alert.service, чтобы телеграфировать об ошибках.
#linux #systemd #cron #automation #modern #bestpractice
🚀 PowerShell: Ускоряем чтение логов в 100 раз (XPath)
Задача: Найти в Event Log событие блокировки пользователя (ID 4740) за последний час. Обычный админ пишет так:
Проблема: PowerShell сначала выкачивает ВСЕ миллион событий из журнала к себе в память, и только потом отсеивает нужные. Это вешает сервер.
Сеньор использует Server-side filtering (XPath):
Результат: Вместо 2 минут команда отрабатывает за 0.3 секунды. Фильтруйте данные на источнике, а не в пайплайне.
#powershell #windows #performance #scripting #optimization #xml
Задача: Найти в Event Log событие блокировки пользователя (ID 4740) за последний час. Обычный админ пишет так:
# 🐢 Медленно (Client-side filtering)
Get-WinEvent -LogName Security |
Where-Object { $_.Id -eq 4740 -and $_.TimeCreated -gt (Get-Date).AddHours(-1) }
Проблема: PowerShell сначала выкачивает ВСЕ миллион событий из журнала к себе в память, и только потом отсеивает нужные. Это вешает сервер.
Сеньор использует Server-side filtering (XPath):
# 🐇 Быстро (Фильтрация на уровне движка Windows)
$XML = "*[System[(EventID=4740) and TimeCreated[timediff(@SystemTime) <= 3600000]]]"
Get-WinEvent -LogName Security -FilterXPath $XML
Результат: Вместо 2 минут команда отрабатывает за 0.3 секунды. Фильтруйте данные на источнике, а не в пайплайне.
#powershell #windows #performance #scripting #optimization #xml
💣 Bash: Защита от «Ой, я запустил это на Проде»
У вас есть скрипт cleanup.sh или reset-db.sh. Однажды вы, уставший, случайно запустите его не на тестовом сервере, а на srv-prod-01.
Добавьте этот Safety Check в начало любого опасного скрипта. Он спасет вам карьеру.
Этот простой if заставляет мозг проснуться перед тем, как нажать Enter.
#bash #scripting #safety #production #failsafe #devops
У вас есть скрипт cleanup.sh или reset-db.sh. Однажды вы, уставший, случайно запустите его не на тестовом сервере, а на srv-prod-01.
Добавьте этот Safety Check в начало любого опасного скрипта. Он спасет вам карьеру.
#!/bin/bash
# 1. Получаем имя хоста
CURRENT_HOST=$(hostname)
# 2. Проверяем, есть ли "prod" в имени
if [[ "$CURRENT_HOST" == *"prod"* ]]; then
echo "⚠️ ВНИМАНИЕ! Вы запускаете опасный скрипт на ПРОДАКШЕНЕ ($CURRENT_HOST)!"
echo "Введите 'YES', чтобы продолжить, или что угодно для отмены:"
read -r CONFIRM
if [ "$CONFIRM" != "YES" ]; then
echo "❌ Отмена операции."
exit 1
fi
fi
echo "🚀 Поехали..."
# Дальше идет ваша логика
Этот простой if заставляет мозг проснуться перед тем, как нажать Enter.
#bash #scripting #safety #production #failsafe #devops
🔒 Linux: Как защитить файл от rm -rf (Даже от Root)
Вы думаете, что пользователь root может всё? Ошибаетесь. Есть уровень файловой системы, где права rwx (777) не имеют значения. Это атрибуты ext4/xfs.
Если вы хотите защитить критический конфиг (например, /etc/resolv.conf, который вечно перезаписывается NetworkManager-ом) или логи от хакера — используйте Immutable bit.
1. Делаем файл бессмертным:
Теперь попробуйте rm, mv или echo "test" > .... Вы получите: Operation not permitted. Даже под sudo. Даже под root.
2. Как проверить, почему файл не удаляется: Если ls -l показывает, что права есть, а удалить нельзя — смотрите атрибуты:
Видите букву i? Это оно.
3. Как вернуть всё назад:
Где применять: Защита скриптов автозагрузки, критических конфигов и бинарников от изменения вирусами-шифровальщиками.
#linux #security #chattr #filesystem #hacks #root
Вы думаете, что пользователь root может всё? Ошибаетесь. Есть уровень файловой системы, где права rwx (777) не имеют значения. Это атрибуты ext4/xfs.
Если вы хотите защитить критический конфиг (например, /etc/resolv.conf, который вечно перезаписывается NetworkManager-ом) или логи от хакера — используйте Immutable bit.
1. Делаем файл бессмертным:
sudo chattr +i /etc/critical_config.conf
Теперь попробуйте rm, mv или echo "test" > .... Вы получите: Operation not permitted. Даже под sudo. Даже под root.
2. Как проверить, почему файл не удаляется: Если ls -l показывает, что права есть, а удалить нельзя — смотрите атрибуты:
lsattr /etc/critical_config.conf
# Вывод: ----i---------e---- /etc/critical_config.conf
Видите букву i? Это оно.
3. Как вернуть всё назад:
sudo chattr -i /etc/critical_config.conf
Где применять: Защита скриптов автозагрузки, критических конфигов и бинарников от изменения вирусами-шифровальщиками.
#linux #security #chattr #filesystem #hacks #root
🚀 Linux: Хватит ждать netstat. Используй ss
Когда на сервере 10,000 соединений (DDoS или HighLoad), команда netstat -tunlap может зависнуть на минуту, съедая 100% CPU. Почему? Потому что она читает /proc файловой системы для каждого сокета. Это медленно.
В 2025 году используйте ss (Socket Statistics). Она берет данные напрямую из ядра через Netlink API.
Маст-хэв команды:
Общая сводка (идеально для проверки на DDoS):
Покажет мгновенно: "TCP: 50000 established".
Кто слушает порты (аналог netstat):
Киллер-фича: Показать самые "тяжелые" соединения по памяти:
Если вы все еще пишете netstat, вы теряете время.
#linux #network #performance #ss #netstat #troubleshooting
Когда на сервере 10,000 соединений (DDoS или HighLoad), команда netstat -tunlap может зависнуть на минуту, съедая 100% CPU. Почему? Потому что она читает /proc файловой системы для каждого сокета. Это медленно.
В 2025 году используйте ss (Socket Statistics). Она берет данные напрямую из ядра через Netlink API.
Маст-хэв команды:
Общая сводка (идеально для проверки на DDoS):
ss -s
Покажет мгновенно: "TCP: 50000 established".
Кто слушает порты (аналог netstat):
ss -tulpn
Киллер-фича: Показать самые "тяжелые" соединения по памяти:
ss -tm
Если вы все еще пишете netstat, вы теряете время.
#linux #network #performance #ss #netstat #troubleshooting
🧹 PowerShell: Чистим AD от "мертвых" компьютеров
Конец года — лучшее время для инвентаризации. В Active Directory часто копятся записи компьютеров, которые уже год как на свалке. Это дыра в безопасности и мусор в отчетах.
Найдем компьютеры, которые не входили в сеть более 180 дней.
Нюанс: Мы используем свойство LastLogonDate. Оно реплицируется между контроллерами (в отличие от LastLogon), но с задержкой в 14 дней. Для поиска "старья" (180+ дней) эта погрешность неважна.
Скрипт:
Задача: Запустите в режиме "только чтение". Вы удивитесь, сколько у вас в домене машин с Windows 7, которых физически уже не существует.
#windows #activedirectory #powershell #cleanup #security #scripting
Конец года — лучшее время для инвентаризации. В Active Directory часто копятся записи компьютеров, которые уже год как на свалке. Это дыра в безопасности и мусор в отчетах.
Найдем компьютеры, которые не входили в сеть более 180 дней.
Нюанс: Мы используем свойство LastLogonDate. Оно реплицируется между контроллерами (в отличие от LastLogon), но с задержкой в 14 дней. Для поиска "старья" (180+ дней) эта погрешность неважна.
Скрипт:
$DaysInactive = 180
$TimeLimit = (Get-Date).AddDays(-$DaysInactive)
Get-ADComputer -Filter {LastLogonDate -lt $TimeLimit -and Enabled -eq $true} -Properties LastLogonDate, OperatingSystem |
Select-Object Name, LastLogonDate, OperatingSystem |
Sort-Object LastLogonDate |
Format-Table -AutoSize
# Хотите сразу отключить их? Раскомментируйте:
# | Disable-ADAccount -WhatIf
Задача: Запустите в режиме "только чтение". Вы удивитесь, сколько у вас в домене машин с Windows 7, которых физически уже не существует.
#windows #activedirectory #powershell #cleanup #security #scripting
👍3
❄️ Read-Only Friday: Входим в "Зону смерти"
19 декабря — это рубеж. Начиная с сегодняшнего дня и до 12 января мы входим в зону повышенного риска.
Почему нельзя деплоить (даже "маленькие фиксы"):
1. Внимание рассеяно: Половина команды мыслями уже выбирает подарки или планирует отпуск. Вероятность человеческой ошибки (Human Error) возрастает на 200%.
2. Закон подлости: Если баг вылезет, он вылезет 31 декабря в 18:00.
3. Саппорт недоступен: Если ваш апдейт положит базу, вендор Oracle/Microsoft может отвечать на тикет 48 часов.
Манифест на сегодня: ✅ Читаем логи. ✅ Пишем документацию. ✅ Делаем бэкапы (и проверяем их!). ❌ Не обновляем ядра. ❌ Не меняем правила Firewall.
Ваше спокойствие на каникулах куется сегодня. Ничего не трогайте.
#readonlyfriday #codefreeze #adminlife #devops #newyear #safety
19 декабря — это рубеж. Начиная с сегодняшнего дня и до 12 января мы входим в зону повышенного риска.
Почему нельзя деплоить (даже "маленькие фиксы"):
1. Внимание рассеяно: Половина команды мыслями уже выбирает подарки или планирует отпуск. Вероятность человеческой ошибки (Human Error) возрастает на 200%.
2. Закон подлости: Если баг вылезет, он вылезет 31 декабря в 18:00.
3. Саппорт недоступен: Если ваш апдейт положит базу, вендор Oracle/Microsoft может отвечать на тикет 48 часов.
Манифест на сегодня: ✅ Читаем логи. ✅ Пишем документацию. ✅ Делаем бэкапы (и проверяем их!). ❌ Не обновляем ядра. ❌ Не меняем правила Firewall.
Ваше спокойствие на каникулах куется сегодня. Ничего не трогайте.
#readonlyfriday #codefreeze #adminlife #devops #newyear #safety
❤2✍2💯2
🐠 Linux: Превращаем сервер в аквариум
Если вы все сделали правильно (см. Пост 1), то работы у вас мало. Самое время расслабиться и помедитировать, глядя в терминал.
Встречайте asciiquarium. Это анимация аквариума в ASCII-графике. Рыбки плавают, водоросли колышутся, иногда проплывает утка или лебедь.
Установка (для релакса):
Запускаем: asciiquarium Нажимаем F11 (Full Screen). Всё. Вы заняты. Вы "мониторите".
#linux #fun #cli #asciiquarium #friday #relax
Если вы все сделали правильно (см. Пост 1), то работы у вас мало. Самое время расслабиться и помедитировать, глядя в терминал.
Встречайте asciiquarium. Это анимация аквариума в ASCII-графике. Рыбки плавают, водоросли колышутся, иногда проплывает утка или лебедь.
Установка (для релакса):
# Ubuntu/Debian (через Snap проще всего)
sudo snap install asciiquarium
# Или классика (требует perl-curses)
sudo apt install asciiquarium
Запускаем: asciiquarium Нажимаем F11 (Full Screen). Всё. Вы заняты. Вы "мониторите".
#linux #fun #cli #asciiquarium #friday #relax
📝 Git: "Что я вообще делал на этой неделе?"
Пятница — время писать отчеты (Status Report). Но память подводит: кажется, что всю неделю только пили кофе и чинили принтеры. Давайте спросим у Git, чем мы реально занимались.
Алиас "git standup": Покажет список ваших коммитов за последние 7 дней во всех репозиториях текущей папки.
Сделаем красиво (добавьте в .gitconfig):
Теперь просто пишем git standup — и отчет для менеджера готов за 1 секунду.
#git #productivity #alias #cli #devops #reporting
Пятница — время писать отчеты (Status Report). Но память подводит: кажется, что всю неделю только пили кофе и чинили принтеры. Давайте спросим у Git, чем мы реально занимались.
Алиас "git standup": Покажет список ваших коммитов за последние 7 дней во всех репозиториях текущей папки.
git log --all --since='7 days ago' --author="$(git config user.name)" --oneline --no-merges --date=short --pretty=format:"%ad: %s"
Сделаем красиво (добавьте в .gitconfig):
[alias]
standup = !git log --all --since='7 days ago' --author=\"$(git config user.name)\" --oneline --no-merges --date=short --pretty=format:\"%ad: %s\"
Теперь просто пишем git standup — и отчет для менеджера готов за 1 секунду.
#git #productivity #alias #cli #devops #reporting
🎭 Синдром самозванца: Ты не один
Конец года — время подведения итогов. И часто в голову лезет мысль:
"Я ничего не знаю. Вокруг все пишут на Go, деплоят в K8s и тюнят eBPF, а я тут скрипты на Bash ковыряю. Меня скоро разоблачат."
Коллеги, это Синдром самозванца. Им страдают 70% сеньоров.
Факты, которые лечат:
1. IT бесконечно: Никто не знает всего. Тот парень, который крут в Kubernetes, скорее всего, плавает в базах данных.
2. Google — это нормально: Сеньор отличается от джуна не тем, что помнит все флаги tar, а тем, что быстрее находит решение.
3. Ваша ценность — стабильность: Бизнесу плевать на то, какой модный стек вы знаете. Бизнесу важно, чтобы сервер работал. Если вы это обеспечиваете — вы профи.
Выдохните. Вы проделали отличную работу в этом году.
#career #psychology #impostersyndrome #motivation #adminlife #softskills
Конец года — время подведения итогов. И часто в голову лезет мысль:
"Я ничего не знаю. Вокруг все пишут на Go, деплоят в K8s и тюнят eBPF, а я тут скрипты на Bash ковыряю. Меня скоро разоблачат."
Коллеги, это Синдром самозванца. Им страдают 70% сеньоров.
Факты, которые лечат:
1. IT бесконечно: Никто не знает всего. Тот парень, который крут в Kubernetes, скорее всего, плавает в базах данных.
2. Google — это нормально: Сеньор отличается от джуна не тем, что помнит все флаги tar, а тем, что быстрее находит решение.
3. Ваша ценность — стабильность: Бизнесу плевать на то, какой модный стек вы знаете. Бизнесу важно, чтобы сервер работал. Если вы это обеспечиваете — вы профи.
Выдохните. Вы проделали отличную работу в этом году.
#career #psychology #impostersyndrome #motivation #adminlife #softskills
❤5👍1
🗺 NextTrace: Трассировка, на которую приятно смотреть
Мы привыкли к traceroute или mtr. Это сухие строки с IP-адресами и задержками. Но в 2025 году мы хотим видеть, как именно пакет летит из Москвы в Амстердам, а оттуда в Нью-Йорк.
Встречайте NextTrace. Это traceroute нового поколения на Go.
Что он делает:
Геолокация: Сразу показывает страну, город и провайдера (AS) для каждого хопа.
Визуализация: Умеет рисовать маршрут прямо на ASCII-карте в терминале или генерировать ссылку на 3D-карту в браузере.
Параллельность: Работает быстрее классических утилит.
Запуск:
Вы увидите, как ваши пакеты пересекают океан. Залипательное зрелище для субботнего вечера.
#network #tools #nexttrace #visualization #cli #routing
Мы привыкли к traceroute или mtr. Это сухие строки с IP-адресами и задержками. Но в 2025 году мы хотим видеть, как именно пакет летит из Москвы в Амстердам, а оттуда в Нью-Йорк.
Встречайте NextTrace. Это traceroute нового поколения на Go.
Что он делает:
Геолокация: Сразу показывает страну, город и провайдера (AS) для каждого хопа.
Визуализация: Умеет рисовать маршрут прямо на ASCII-карте в терминале или генерировать ссылку на 3D-карту в браузере.
Параллельность: Работает быстрее классических утилит.
Запуск:
# Установка одной строкой (Linux/MacOS)
curl nxtrace.org/nt | bash
# Запуск с картой
nexttrace --map google.com
Вы увидите, как ваши пакеты пересекают океан. Залипательное зрелище для субботнего вечера.
#network #tools #nexttrace #visualization #cli #routing
👍2