В три часа ночи кластер встал колом: входящий HTTP-трафик на reverse proxy начал валиться по таймаутам, хотя утилизация CPU и RAM не превышала тридцати процентов. Поверхностный мониторинг утверждал, что все в порядке, потому что счетчик активных соединений (ESTABLISHED) был далек от лимитов. Реальность оказалась куда жестче. Команда ss -s показала исчерпание диапазона локальных портов Ephemeral Ports: система уперлась в жесткий лимит net.ipv4.iplocalportrange. Миллионы закрытых клиентами сессий зависли в состоянии TIMEWAIT на 60 секунд по стандарту RFC 793. Включенный по умолчанию параметр sysctl net.ipv4.tcptwreuse не помог, так как Timestamp-заголовки от сотен корпоративных клиентов за NAT сбоили, и ядро отбрасывало переиспользование сокетов как потенциальную spoofing-атаку. Диагностика выполнялась через проверку текущего распределения состояний сокетов: awk '{print $1}' /proc/net/tcp | sort | uniq -c. Лечится это не покупкой новых облачных нод с шильдиком enterprise, а при...