Admin Future
239 subscribers
50 photos
1 video
4 files
87 links
Превращаем эникейщиков в System Architects.
🚀 Твой навигатор в мире IT-инфраструктуры:

▪️ Hard Skills: Linux, Windows, Network, Security
▪️ Tools: Лучший софт и скрытые фишки
▪️ Mindset: Как думать, чтобы платили много


Админ - @maksimshap
Download Telegram
🚚 MTU: Почему "большие" пакеты застревают?

Вы настроили VPN (WireGuard/OpenVPN), пинг идет, а сайты не открываются или RDP зависает. В 90% случаев виноват MTU (Maximum Transmission Unit).

Представьте, что сеть — это труба диаметром 1500 мм (байт). Это стандарт Ethernet. VPN добавляет свои заголовки, и полезная нагрузка становится 1420 байт. Если сервер пытается пропихнуть вам пакет размером 1500 байт через эту VPN-трубу, происходит одно из двух:

1. Фрагментация: Роутер рубит пакет на два куска (нагрузка на CPU, тормоза).

2. Drop: Если на пакете стоит флаг DF (Don't Fragment), роутер просто уничтожает его. Связь рвется.

Как найти идеальный размер (Ping Test): В Windows используем флаг -f (не фрагментировать) и -l (размер):

ping google.com -f -l 1472

(1472 + 28 байт заголовков = 1500. Если проходит — ок. Если "Packet needs to be fragmented" — уменьшайте число, пока не пройдет).

#network #mtu #vpn #troubleshooting #theory #fragmentation #ping
🧟‍♂️ Linux: Атака зомби. Как убить то, что уже мертво?

Вы смотрите в top и видите: zombie: 5. Новички пытаются сделать kill -9 <PID_ZOMBIE> . Спойлер: Это бесполезно. Зомби нельзя убить, потому что он уже мертв.

Что такое Zombie Process: Это процесс, который завершил выполнение, освободил память, но его запись осталась в таблице процессов, потому что "Родитель" (Parent Process) не прочитал его код завершения (exit code).

Как починить правильно: Нужно найти родителя и "пнуть" его (или убить).

1. Ищем зомби и их родителей:

ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'

Вывод: Z 1050 1051 [php-fpm] <defunct> (Где 1050 — PPID родителя, 1051 — PID зомби).

2. Решение: Отправьте сигнал родителю, чтобы он "прибрался за детьми":

kill -SIGCHLD 1050

Если не помогло — убивайте родителя: kill -9 1050. Зомби исчезнет вместе с ним (или его подберет процесс init).

#linux #processes #zombie #troubleshooting #kernel #theory
💿 Linux: CPU спит, а сервер тормозит? (iotop)

Ситуация: Сайт открывается медленно. Вы смотрите top — загрузка процессора (Load Average) высокая, но User и System CPU почти по нулям. Где затык? Смотрите на колонку wa (iowait). Если она высокая — процессор тупо ждет, пока диск запишет данные.

Чтобы найти виновника, используйте iotop.

Запуск:

sudo iotop -oPa

(Флаги: -o показывать только активных, -P группировать процессы, -a накапливать статистику).

Что вы увидите: Прямо как в диспетчере задач, вы увидите, кто именно насилует диск: MySQL, делающий тяжелый JOIN, или Logrotate, сжимающий гигабайты логов.

Нет утилиты? sudo apt install iotop / sudo yum install iotop. Это мастхэв на любом сервере с базой данных.

#linux #iotop #performance #disk #io #troubleshooting
👻 AD: Как найти действительно неактивных пользователей?

Вы хотите почистить домен от уволенных сотрудников. Вы смотрите свойство LastLogon. Но оно показывает старую дату. Вы удаляете юзера, а через час звонит директор: "Почему меня не пускает?".

Проблема: Атрибут LastLogon не реплицируется. Он обновляется только на том контроллере домена, через который прошел вход. Решение: Используйте LastLogonDate (это конвертированный LastLogonTimeStamp, который реплицируется, но с задержкой 9-14 дней).

PowerShell скрипт для поиска "мертвых душ" (> 90 дней):


$Date = (Get-Date).AddDays(-90)

Get-ADUser -Filter {LastLogonDate -lt $Date -and Enabled -eq $true} -Properties LastLogonDate |
Select-Object Name, LastLogonDate, SamAccountName |
Sort-Object LastLogonDate |
Format-Table -AutoSize

Используйте этот список для проверки. Если дата входа была 3 месяца назад — смело отключайте (Disable), а удаляйте еще через месяц.

#windows #powershell #activedirectory #cleanup #audit #sysadmin
2
📡 DHCP: Принцип DORA. Почему нет интернета?

Когда пользователь подключает кабель, происходит магия получения IP-адреса. Если магия не сработала, Windows пишет "Unidentified Network" (APIPA 169.254.x.x).

Чтобы чинить, нужно знать 4 шага процесса DORA:

D — Discover (Поиск): Клиент кричит на всю сеть (Broadcast): "Есть тут кто живой? Дайте IP!".

Ошибка здесь: Если VLAN настроен криво или нет DHCP Relay, крик никто не услышит.

O — Offer (Предложение): Сервер слышит и отвечает: "Я тут (10.0.0.1)! Могу дать тебе 10.0.0.50".

R — Request (Запрос): Клиент соглашается: "Ок, беру 10.0.0.50, подтверди!".

A — Acknowledge (Подтверждение): Сервер записывает клиента в базу и дает добро: "Забирай. Вот тебе еще шлюз и DNS".

Траблшутинг: Включите Wireshark и фильтр bootp.

Видите только Discover? 👉 Проблема с сетью (DHCP Relay / VLAN) или сервер лежит.

Видите Offer, но нет Request? 👉 Клиенту не нравится предложение (возможно, конфликт IP).

#network #dhcp #dora #theory #troubleshooting #basics #wireshark
🔗 Symlink vs Hard Link: В чем реальная разница?

Мы все постоянно пишем ln -s , создавая символические ссылки (Symlink). Но есть еще "Жесткие ссылки" (Hard Links). В чем соль? В Inode.

В Linux файл — это не имя. Файл — это набор данных на диске, у которого есть номер (Inode). А "Имя файла" — это просто указатель на этот номер.

Разница на пальцах:

1. Hard Link (ln file link): Это второе имя для того же самого Inode.

* Если удалить оригинальный файл — ссылка продолжит работать (данные не удалятся, пока на них указывает хоть одно имя).

* Ограничение: Нельзя делать на папки и между разными дисками.

2. Soft (Symbolic) Link (ln -s file link): Это новый файл, внутри которого написан путь к оригиналу.

* Если удалить оригинал — ссылка станет "битой" (указывает в пустоту).

* Плюс: Работает везде, даже между разными файловыми системами.

Как проверить: Команда ls -li покажет номер Inode в первом столбце. У хард-линков он одинаковый.

#linux #inodes #filesystem #theory #basics #interview
⏱️ PowerShell: Сколько сервер не перезагружался?

Босс спрашивает: "Когда последний раз патчили Exchange?" или "Почему сервер тормозит, может память утекла за месяц?". Заходить на каждый сервер по RDP, чтобы открыть диспетчер задач — это путь джуна.

Скрипт Архитектора, который покажет Uptime сразу по списку машин.

Скрипт:

$Servers = "SRV-DC01", "SRV-SQL01", "PC-Admin"

foreach ($S in $Servers) {
$OS = Get-CimInstance Win32_OperatingSystem -ComputerName $S -ErrorAction SilentlyContinue
if ($OS) {
$Uptime = (Get-Date) - $OS.LastBootUpTime
Write-Host "$S : $($Uptime.Days) дн. $($Uptime.Hours) ч." -ForegroundColor Green
} else {
Write-Host "$S : Недоступен" -ForegroundColor Red
}
}

Результат: SRV-DC01 : 45 дн. 12 ч. SRV-SQL01 : 0 дн. 4 ч.

Быстро, чисто, без лишних движений.

#windows #powershell #uptime #monitoring #scripting #adminlife
🕸️ CIDR: Магия слеша (/24, /32)

В конфигах сети мы пишем 192.168.1.0/24 . Но новички часто путаются: "А /30 — это больше адресов или меньше?".

Главное правило: Чем больше цифра после слеша, тем меньше сеть. Представьте пирог. Слэш — это на сколько кусков мы его режем.

Шпаргалка для Админа:

* /32 = 1 IP (Только сам хост). Используется для жесткой привязки в фаерволах.

* /30 = 2 IP (Всего 4, но 2 служебных). Идеально для линка "точка-точка" между роутерами.

* /29 = 6 IP. Обычно столько выдает провайдер на офис.

* /24 = 254 IP. Стандартная локалка (маска 255.255.255.0).

* /16 = 65 534 IP. Огромная сеть (маска 255.255.0.0).

Сохраните. Когда нужно будет нарезать VLAN-ы, спасет от перекрытия адресов.

#network #cidr #subnetting #ip #theory #basics #cheatsheet
👍2
🚀 Linux: Забудь про netstat. Используй ss

Если ваши пальцы по привычке набирают netstat -tulpn , остановитесь. Утилита netstat (пакет net-tools) официально устарела (deprecated) уже более 10 лет назад. Она медленная, потому что парсит файлы /proc построчно. Если у вас 10 000 соединений, netstat повесит консоль.

Король умер. Да здравствует ss (Socket Statistics).

Почему ss лучше: Она берет данные напрямую из ядра через Netlink API. Это работает мгновенно.

Шпаргалка:

1. Показать все слушающие порты (аналог netstat):

ss -tulpn

2. Показать все установленные соединения SSH:

ss -o state established '( dport = :ssh or sport = :ssh )'

3. Показать статистику по памяти сокетов (важно при DDoS):

ss -s

Приучайте себя к новому стандарту.

#linux #networking #ss #netstat #performance #tools #cli
👍1
🎟️ Windows: "Доступ дал, а не пускает!" (Kerberos Purge)

Классика: Вы добавили пользователя в группу "Бухгалтерия", чтобы он открыл сетевую папку. Он пробует — "Отказано в доступе". Вы говорите: "Перезагрузись" или "Выйди и зайди". Это работает, но это долго и бесит юзера, у которого открыто 20 вкладок.

Причина: Windows использует Kerberos. При входе пользователь получает TGT (Ticket Granting Ticket), в котором "зашиты" его группы. Тикет живет 10 часов. Пока он не обновится, система не знает про новую группу.

Решение без перезагрузки: Очистите кэш тикетов прямо в сеансе пользователя.

Команда (в CMD/PowerShell пользователя):

klist purge

После этого при следующей попытке открыть папку Windows запросит новый тикет у контроллера домена, уже с новыми правами. Магия!

#windows #kerberos #ad #troubleshooting #access #cmd #lifehack
🔦 SFP модули: Что значат цвета защелок?

Вы стоите в серверной с пучком оптики. У вас есть модуль с синей защелкой и модуль с черной. Если воткнуть не тот кабель — линк не поднимется (или сгорит приемник).

Шпаргалка по цветовой маркировке SFP (1G/10G), которая спасет вам нервы.

1. Черная / Бежевая (SX / SR):
Тип: Multi-Mode (Многомод).
Длина волны: 850 нм.
Дистанция: Короткая (до 300-550 м).
Применение: Внутри стойки или серверной. Дешево.

2. 🔵 Синяя (LX / LR):
Тип: Single-Mode (Одномод).
Длина волны: 1310 нм.
Дистанция: Длинная (до 10 км).
Применение: Между зданиями или этажами.

3. 🟡 Желтая / 🟣 Фиолетовая (ZX / ER):
Тип: Single-Mode.
Дистанция: Сверхдальняя (40-80 км).

Золотое правило: Черная защелка + Оранжевый патч-корд (OM2/OM3). Синяя защелка + Желтый патч-корд (OS2). Не смешивайте их!

#network #hardware #sfp #fiber #datacenter #layer1 #cheatsheet
🔥5
💿 Linux: Почему SSD тормозит? Проверь выравнивание (Alignment)

Вы купили супер-быстрый NVMe диск. Поставили базу данных. А скорость записи удручает. В 90% случаев проблема в выравнивании разделов (Partition Alignment).

Современные диски имеют физический сектор 4KB. Если ваш раздел начинается не с начала физического сектора (а, например, со смещением в 512 байт), то одна запись операционной системы превращается в две операции на диске (Read-Modify-Write). Это убивает производительность (Write Amplification).

Как проверить за 1 секунду:

lsblk -t

Куда смотреть:

1. Колонка PHY-SEC : Должна быть 4096 (или больше).

2. Колонка Min-IO : Минимальный размер ввода-вывода.

3. Главное: Если стартовый сектор (можно глянуть в fdisk -l ) не делится на 8 без остатка — у вас проблемы.

Если видите Alignment offset отличный от 0 — пересоздавайте разделы правильно. Это "бесплатный" прирост скорости до 30%.

#linux #storage #ssd #performance #alignment #tuning #lsblk
🎯 WMI Filters: Групповые политики с лазерным прицелом

Вам нужно применить политику только к ноутбукам с Windows 11. Создавать отдельную OU (Organizational Unit) и переносить туда компьютеры? Долго и ломает структуру.

Используйте WMI-фильтры. Это SQL-запросы к железу перед применением политики.

Сценарий: Применить GPO только к Windows 11/Server 2025.

1. В Group Policy Management идем в раздел WMI Filters -> New .

2. Пишем запрос:

SELECT * FROM Win32_OperatingSystem WHERE Version LIKE "10.0.26%" AND ProductType="1"

(Где ProductType="1" — это рабочие станции, а не серверы).

3. Привязываем фильтр к нужной GPO.

Теперь политика "постучится" на Windows 10, увидит несоответствие версии и пройдет мимо. Чисто, красиво, профессионально.

#windows #gpo #wmi #activedirectory #sysadmin #automation #filtering
📦 TCP vs UDP: Почему VoIP и игры выбирают ненадежность?

Джуниор спрашивает: "TCP гарантирует доставку, а UDP теряет пакеты. Почему мы вообще используем UDP для звонков и YouTube?"

Ответ в Заголовках (Overhead).

1. TCP (Тяжеловес):
* Заголовок 20-60 байт.
* Рукопожатие, подтверждение каждого пакета (ACK), контроль порядка, повторная отправка.
* Результат: Если пакет потерялся, видео "замрет" и будет ждать его. Вы увидите лаг.

2. UDP (Спринтер):
* Заголовок всего 8 байт.
* Отправил и забыл. Никаких проверок.
* Результат: Если пакет с куском голоса потерялся — вы услышите микро-щелчок, но разговор продолжится в реальном времени.

Суть: В разговоре лучше пропустить букву, чем замолчать на 2 секунды, вспоминая её. Поэтому SIP, RTP и стриминг — это всегда UDP. Не блокируйте его на фаерволах!

#network #tcp #udp #protocols #theory #voip #streaming #basics
📊 Linux: Хватит щуриться в df -h. Ставь duf

Вы пишете df -h , чтобы проверить место. И видите кривую таблицу, где заголовки съехали, а tmpfs перемешана с реальными дисками. В 2026 году это несерьезно.

Поставьте duf (Disk Usage/Free).

Почему это мастхэв:
1. Красота: Рисует цветные бары (сколько занято/свободно). Глаз считывает инфо за 0.1 сек.
2. Группировка: Сам отделяет локальные диски, сетевые шары и псевдо-ФС (tmpfs).
3. JSON: Умеет отдавать вывод в JSON для скриптов мониторинга.

Установка:

sudo apt install duf

Один раз увидите — и удалите алиас на df .

#linux #storage #duf #cli #tools #visualization #diskusage
2
📶 CMD: Твой Wi-Fi врет тебе (netsh)

Значок Wi-Fi в трее показывает "3 палочки". Но интернет тормозит. Почему? Потому что "палочки" — это маркетинг. Они не показывают ни уровень шума, ни реальную скорость линка.

Посмотрите правде в глаза через консоль.

Команда:

netsh wlan show interfaces

Куда смотреть в выводе:
1. Signal: Точное значение в % (например, 80%).
2. Radio type: Вы сидите на старом 802.11n или современном 802.11ax?
3. Receive/Transmit Rate: Реальная скорость канала в Мбит/с. Если там "54 Mbps", то гигабитный интернет вам не поможет.

Лайфхак: Запустите это в цикле, ходя по офису с ноутбуком, чтобы найти "мертвые зоны", где сигнал падает ниже 60%.

#windows #wifi #cmd #troubleshooting #network #netsh #wireless
2👏1
💾 Правило 3-2-1

В пятницу вечером самое время спросить себя: "Если завтра сгорит серверная, а облако заблокируют — я восстановлю данные?".

Существует только один стандарт надежности бэкапов. Правило 3-2-1.

Разбор:

1. 3 копии данных: Одна боевая (оригинал) + Две резервных.

* Почему: Вероятность смерти одного диска — 1/100. Трех сразу — 1/1 000 000.

2. 2 разных носителя: Не храните все копии на одном RAID-массиве или одном типе дисков.

* Пример: HDD сервера + Ленточная библиотека (или NAS другого бренда).

3. 1 копия оффсайт: Одна копия должна лежать физически в другом здании (или облаке).

* Почему: Пожар, потоп или кража в офисе уничтожат и сервер, и локальный бэкап.

Если у вас нет пункта №3 — считайте, у вас нет бэкапов.

#backup #security #theory #321rule #bestpractice #disasterrecovery #adminlife
Сегодня Пятница:
Всем хороших выходных! Пусть ваш Signal будет 100%, а Disk Usage не превышает 50%! 🍻
6👍1🔥1
🛡️ SSH: Защита от Bruteforce без Fail2Ban? Используем SSH ProxyJump и внутренние лимиты

Многие по привычке ставят Fail2Ban, который парсит логи и забивает таблицу iptables тысячами правил. Но в современных дистрибутивах можно ограничить количество попыток соединений на уровне самого демона или использовать «прыжковый» сервер.

Если вам нужно быстро ограничить аппетиты ботов, обратите внимание на параметр MaxStartups в sshd_config.

Как настроить:

В файле /etc/ssh/sshd_config: MaxStartups 10:30:60

Что это значит:

1. 10: До 10 одновременных неавторизованных подключений разрешены.

2. 30: Если их больше 10, SSH начнет сбрасывать новые попытки с вероятностью 30%.

3. 60: Если попыток больше 60, все новые подключения будут блокироваться до завершения старых.

Это защищает от перегрузки процесса SSH и делает атаку методом перебора бессмысленной.

#security #ssh #linux #devops #hardening #admin
3
🪟 Windows Server: Почему тормозит RDP? Отключаем UDP.

Замечали, что иногда курсор в RDP-сессии двигается рывками, а текст печатается с задержкой? По умолчанию современный RDP (начиная с версии 8.0) пытается использовать протокол UDP для ускорения графики. Но на нестабильных каналах или при наличии определенных файерволов это дает обратный эффект.

Как «вылечить» и сделать сессию плавной: Нужно принудительно заставить RDP работать только через TCP.

1. Нажмите Win + R, введите gpedit.msc.

2. Путь: Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Удаленная сессия.

3. Найдите: «Выбор протоколов передачи данных удаленного рабочего стола».

4. Установите: «Включено» и выберите «Только TCP».

После этого задержки (input lag) обычно пропадают.

#windows #server #rdp #sysadmin #troubleshooting #it
👍2
🌐 Networking: MTU и «загадочные» проблемы с загрузкой сайтов

Бывает так: пинг идет, SSH работает, но как только вы пытаетесь открыть тяжелый сайт или передать файл — соединение обрывается. В 99% случаев это проблема MTU (Maximum Transmission Unit). Пакет слишком велик для какого-то узла в цепочке, а ICMP-сообщения о фрагментации заблокированы (PMTUD failure).

Как найти идеальный MTU вручную: Используйте пинг с запретом фрагментации (-f в Windows, -M do в Linux):

Windows:

ping google.com -f -l 1472 Linux: ping google.com -M do -s 1472

Если пишет «Требуется фрагментация», уменьшайте число 1472 на 10, пока пинг не пройдет. К полученному числу прибавьте 28 байт (заголовки IP/ICMP) — это и будет ваш идеальный MTU.

#networking #tcpip #mtu #ping #troubleshooting #network
👍2