OpenClaw ゲートウェイがツールホストに届かなくなった瞬間、運用は TLS や API キーを疑いがちです。2026年のインシデントレビューでもなお頻出するのは DNS ネガティブキャッシュ、スプリットホライズン、そしてタイポ配信後に NXDOMAIN へ叩き続ける再試行ループです。macOS は mDNSResponder とプロセス内キャッシュ、VPN 付与 DNS を組み合わせ、Linux ステージング容器とは違う答えを返します。本稿では NXDOMAIN とタイムアウトの切り分け、再試行バジェット、合成ヘルスと実トラフィックの経路一致、Apple Silicon でのリハーサルを整理します。
合わせて doctor ゲートウェイ診断、ヘルス監視、SSH トンネル経由 CLI を参照すると、DNS と経路分割の相互作用を追いやすくなります。
ログ設計:NXDOMAIN / SERVFAIL / タイムアウト
構造化ログに dns_rcode、リゾルバ遅延ミリ秒、利用ライブラリ名を載せないと「接続失敗」チケットが空回りします。サポート教育でも最初に NXDOMAIN を見る運用にしてください。
macOS のネガティブ TTL
権威側 SOA の最小 TTL がネガティブ応答の上限になります。mDNSResponder がこれを尊重する一方、ユーザ空間ライブラリは別キャッシュを持つことがあります。dscacheutil -flushcache とプロセス再起動をセットにした手順書を用意し、sudo 監査にも耐える形にします。
再試行とジッタ表
| シナリオ | 試行 | 上限 | ジッタ |
|---|---|---|---|
| 短時間タイムアウト | 3 | 8 秒 | ±20% |
| タイポ直後の NXDOMAIN | 1 | なし | 設定修正へ |
| SERVFAIL バースト | 5 | 32 秒 | ±35% |
ヘルスプローブと実経路
データセンター DNS だけを見る合成監視と、スプリット DNS を使う実トラフィックが分岐すると緑のまま障害が続きます。同じチェーンを通すか、検証限定で /etc/hosts を使うかを明文化してください。
mDNS .local とユニキャスト
LAN ツールが *.local を広告すると企業ユニキャスト名を覆いかねません。FQDN を徹底し、LaunchAgent 環境で Bonjour ショートカットを無効化する運用が安全です。
VPN とキャプティブポータル
全 TCP を VPN に流しつつ DNS だけオフィス分割、という構成は切れ目で一瞬パブリックリゾルバに落ち、内部専用名へ NXDOMAIN が返ることがあります。VPN 状態遷移でキャッシュフラッシュを走らせるウォッチドッグを置いてください。
対応マトリクス
- NXDOMAIN+直近デプロイ:設定を戻し、キャッシュを flush、ゲートウェイ再起動。
- SERVFAIL スパイク:リゾルバチームへエスカレし並列度を一時的に下げる。
- タイムアウトのみ:パケット損失・MTU・TLS ミドルボックスを疑う。
DNS 回帰を示すメトリクス
dns_query_total{rcode=…} とレイテンシヒストグラムを公開し、10 分窓で NXDOMAIN 比率が 0.5% を超えたら異常とみなすのが実用的です。http_client_errors_total{reason="connect"} と突合し、TLS 前後どちらで落ちているかを可視化します。ラベル基数はサービスファミリ単位に畳み込みます。
LaunchAgent 再起動とウォームアップ
再起動はユーザ空間キャッシュだけ消す場合があります。c-ares か getaddrinfo か HTTP クライアントかを文書化し、Ready 前に各クリティカル FQDN を二回解決してウォームアップしてください。
スプリットホライズン事例テンプレ
リゾルバ IP、検索ドメイン、成功/失敗 TTL を表形式で残し、ポストモーテムに添付します。ネガティブが 300〜900 秒 続いた実測値も書くと再発防止が早いです。SSH 権限のないメンバー向けに dig +trace のマスク済みログを添えます。
AAAA と Happy Eyeballs
IPv6 を先に試すとブラックホール経路で数百 ms 足止めされることがあります。Happy Eyeballs の競争タイムアウト(多くは 300ms 前後)と DNS 再試行が干渉しないかログに残してください。
DNS 変更後の接続プール
接続プールを開きっぱなしにすると DNS が変わっても旧 IP に話し続けることがあります。迅速切替にはプールのアイドル TTL を DNS TTL より短く設定し、runbook に明記します。
ホテル Wi-Fi とキャプティブ
ノート上のゲートウェイはキャプティブポータルで DNS がハイジャックされるまでツール扇出を止めるべきです。カナリアホストで署名を検証し、captive_portal_suspected 理由コードを残します。
ポストモーテム時間線
設定変更、VPN 状態、リゾルバ IP、ネガ TTL、再起動、ベンダ告知を一本のタイムラインに載せないと「rollback したのにキャッシュが残る」系の二次障害が起きます。マルチテナントではテナントごとにリゾルバ設定を分離し、共有状態での取り違えを防ぎます。
FAQ
NXDOMAIN は遅い DNS より厄介?
ネガティブ応答はキャッシュされ、TTL まで復旧が遅れます。
システム DNS を迂回すべき?
承認済みの固定リゾルバ設計がある場合に限ります。
再試行は何回?
デフォルトはジッタ付き三回が無難です。
Mac mini で試す理由は?
本番に近い macOS リゾルバ挙動を再現できるからです。
DNS は環境依存度が高く、日々使う VPN クライアントやスリープ設定まで揃えた検証が必要です。MacHTML の Apple Silicon Mac mini を約 16.9 USドル/日 で借りれば、失敗した dscacheutil 出力を再現し LaunchAgent 手順を固めたあとに破棄できます。共有ステージングに壊れたリゾルバを残すより遥かにリスクが低いです。
長時間キャプチャでも熱と騒音が抑えられるため、ログの信頼度が上がります。
本物の macOS で OpenClaw DNS をリハーサル
クラウド Mac mini を借りて、リゾルバ経路・ネガキャッシュ flush・ヘルス整合を本番前に固めましょう。