AI Frontier

OpenClaw-шлюз: разрешение DNS, отрицательный кеш и бюджеты повторов на macOS в 2026

MacHTML Lab2026.05.0830 мин. чтения

Когда OpenClaw-шлюз внезапно перестаёт достигать хостов инструментов, тикеты почти рефлекторно уходят в TLS или API-ключи. В 2026 году постмортемы по-прежнему тихо заполняют темы DNS: отрицательное кеширование, корпоративные резолверы со split-horizon и циклы повторов, которые минутами бьют в NXDOMAIN после опечатки в конфиге. macOS объединяет mDNSResponder, кеши в пространстве процессов и DNS от VPN, которые расходятся с тем, что видит Linux-контейнер на staging. Этот плейбук разделяет NXDOMAIN и таймауты, калибрует бюджеты повторов, выравнивает синтетические health-проверки с реальными цепочками резолвера и рекомендует репетицию на Apple Silicon до роста радиуса поражения.

Читайте параллельно диагностику шлюза OpenClaw Doctor, мониторинг здоровья шлюза и удалённый CLI через SSH-туннель, когда DNS и маршрутизация пересекаются.

Сигналы: NXDOMAIN, SERVFAIL, таймаут

Структурированные логи должны содержать dns_rcode, задержку резолвера в миллисекундах и имя библиотеки. Без этих полей команды тратят часы на TLS-отладку, хотя ответом уже был NXDOMAIN.

Отрицательный TTL на macOS

Авторитетные SOA-минимумы ограничивают длительность отрицательного кеширования. mDNSResponder учитывает эти подсказки; тем не менее пользовательские стеки держат собственные кеши. Сочетайте dscacheutil -flushcache с перезапуском процессов и документируйте шаги с sudo для security-ревью.

Таблица повторов с джиттером

СценарийПопыткиВерхняя границаДжиттер
Кратковременный таймаут38 с±20 %
NXDOMAIN после опечатки1Стоп, править конфиг
Всплеск SERVFAIL532 с±35 %

Health и пользовательский трафик

Синтетические проверки, которые видят только дата-центровский резолвер, остаются зелёными, пока клиенты со split-DNS падают. Направляйте пробы по той же цепочке или ограничьте трюки с /etc/hosts лабораторией.

mDNS .local и unicast

LAN-инструменты, рекламирующие *.local, могут перекрыть корпоративные unicast-имена, особенно когда шлюз и рабочая станция дизайнера соседствуют. Используйте FQDN и избегайте сокращений Bonjour в окружениях LaunchAgent.

VPN и порталы авторизации

VPN «весь трафик» при сохранении корпоративного DNS при кратком обрыве переключает macOS на публичные резолверы, которые внутренние имена инструментов отвечают NXDOMAIN. Watchdog должен очищать кеш при смене состояния VPN.

Матрица реакций

  • NXDOMAIN + свежий деплой: откат, сброс кеша, перезапуск шлюза.
  • Всплески SERVFAIL: эскалация к команде резолвера, снижение параллелизма.
  • Только таймауты: потери пакетов, чёрная дыра MTU, TLS-middlebox.

Метрики

Экспортируйте dns_query_total с меткой rcode плюс гистограмму задержки. Алертите, если NXDOMAIN выше 0,5 % за 10 минут — чаще всего это ошибка конфигурации. Скрестите с http_client_errors_total{reason="connect"}, чтобы отделить ошибки до TLS. Ограничивайте кардинальность: группируйте хосты в семейства вроде vector_db или crm_api, если не нужен drilldown по арендаторам.

LaunchAgent и прогрев

Перезапуск не всегда очищает системный кеш. Зафиксируйте, используется ли c-ares, getaddrinfo или HTTP-клиент. Перед готовностью дважды разрешите критичные FQDN, чтобы увидеть холодный и тёплый путь.

Шаблон кейса split-horizon

Фиксируйте IP резолвера, search-домены и измеренный TTL для успеха и неудачи. Храните выводы dig +trace в постмортеме в редактированном виде, чтобы аудиторы без SSH подтвердили вывод. Внутренние длительности отрицательного кеша часто 300–900 секунд.

AAAA и Happy Eyeballs

IPv6-first может стоить сотен миллисекунд, если AAAA есть, а маршрут мёртв. Логируйте таймауты Happy Eyeballs — часто около 300 мс — и их столкновение с DNS-повторами. Временный pin на IPv4 ведите в долговом реестре.

Пулы TLS после смены DNS

Пулы HTTP/2 держат старые IP, пока сокет тёплый. Ставьте idle-timeout ниже DNS TTL при быстром переключении трафика и упоминайте это в runbook вместе с командой приложений.

Отельский Wi‑Fi

Ноутбучные шлюзы видят captive-порталы, подменяющие DNS до загрузки splash. Канареечные хосты ловят сигнатуры; приостанавливайте fan-out инструментов и логируйте captive_portal_suspected.

Отели и конференц-центры часто требуют заранее внести URL портала в белый список; без списка часы уходят на ложные DNS-алерты.

Governance и аудиты

Изменения DNS должны сопровождаться тикетом с IP резолвера, шагом отката и планом коммуникации. Без governance команды еженедельно повторяют одни и те же flush-ошибки. Связывайте DNS-смены с ротацией сертификатов: обеим сторонам нужно знать момент слива пулов.

Внешние аудиты часто просят доказать отсутствие жёстко прошитых публичных резолверов, если это запрещено политикой. Архивируйте скриншоты конфигурации рядом с метриками.

Для международных команд переводите runbook не только по языку, но и по локальной политике резолверов: немецкий филиальный ISP может кешировать отрицательные TTL иначе, чем кабельный провайдер в США.

Runbook для SRE

Нужны два пути: «резолвер лежит» против «приложение лежит». Разделяйте алерты по TCP-ошибке и HTTP 502 после успешного connect. Учите дежурных сначала проверять NXDOMAIN, прежде чем крутить сертификаты.

Game day: симулируйте отрицательный кеш заведомо неверным CNAME на staging, измерьте время восстановления с документированным flush и без него.

EDNS Client Subnet и CDN

Если шлюз пробрасывает EDNS Client Subnet, гео-ответы отличаются от простого dig с ноутбука. Документируйте, выдают ли инструменты за глобальным traffic manager разные IP по регионам. Иначе успешный тест во Франкфурте выглядит как прод-ошибка в Сиднее из-за DNS-гео.

Для диагностики форсируйте одинаковый исходный IP и флаги ECS или намеренно отключайте их, чтобы честно сравнить стеки Apple и Linux.

DoT/DoH и комплаенс

DNS-over-TLS или DNS-over-HTTPS усиливает приватность, но смещает наблюдаемость: middleware не видит открытых запросов. Если комплаенс требует DoH, планируйте локальные резолверы с логированием и rate limit, а не прямой доступ каждого процесса к облачным endpoint.

Убедитесь, что HTTP-клиенты OpenClaw документируют ту же сессию DoH, что и curl — иначе CLI-доказательства не воспроизводят прод.

mTLS, SNI и сдвиг циклов DNS

Шлюзы с mTLS и жёстким списком SAN падают «на TLS», хотя рукопожатие застревает на неверном хосте ещё до проверки сертификата. Коррелируйте DNS TTL с окнами ротации сертификатов и планируйте drain пулов заранее.

Мультитенантность и лимиты

Общий выход резолвера у арендаторов означает, что агрессивный шторм повторов одного клиента толкает остальных в SERVFAIL. Введите семафоры на параллельные DNS-lookup на арендатора и экспортируйте gauge dns_inflight, чтобы SRE видел, узкое место в fan-out или в резолвере.

Дополнительно шлите push на телефоны дежурных, если dns_inflight держится выше порога дольше 90 секунд — это заметнее раньше, чем доля HTTP-ошибок.

FAQ

Почему NXDOMAIN хуже медленного DNS?

Отрицательные ответы кешируются агрессивно.

Обходить системный DNS?

Только с архитектурным согласованием.

Сколько повторов?

По умолчанию три с джиттером.

Зачем Mac mini?

Поведение резолвера близко к многим шлюзам в проде.

Проблемы DNS зависят от окружения: нужен тот же стек резолвера, VPN-клиент и режим энергосбережения, что у ваших инженеров. Аренда Apple Silicon Mac mini у MacHTML (около 16,9 USD в день) даёт воспроизводимые трассы dscacheutil и тесты LaunchAgent без нового CapEx. После обновления runbook машину отключаете — это гибче, чем застрявший резолвер в общем staging.

Тихое охлаждение важно для длинных PCAP: измерения остаются доверяемыми.

Короче: вложите часы в воспроизводимые DNS-доказательства, а не в повторные ротации TLS без данных.

Прогон DNS-исправлений OpenClaw на настоящем macOS

Арендуйте облачный Mac mini, чтобы проверить цепочки резолвера, процедуры flush и выравнивание health перед продакшеном.

Отладка DNS шлюза
От $16.9/день