ノードと遅延 2026年5月7日

2026年、mDNS・Bonjour・AWDL:香港/日本/韓国/シンガポール/米国の ProxyMac Mac mini に SSH しても「ローカル探索」が直らない理由

ProxyMac エンジニアリングチーム 2026年5月7日 約 13 分

モバイルと macOS のチームは、ユーザに近い場所でコンパイル・署名・テストするために Apple Silicon M4Mac mini香港・日本・韓国・シンガポール・米国 に借ります。ところがデスクからワークフローを移した瞬間、Bonjour のブラウズ、一部の Xcode デバイス一覧、プリンタ風の自動検出が静かに消える—という報告が後を絶ちません。ここで一度はっきりさせたいのは次の一文です。SSH は TCP セッションを暗号化するだけであり、ノート PC のマルチキャストドメインを別大陸まで運ぶ装置ではありません。 本稿は (1) 224.0.0.251:5353 における mDNS のスコープを平易に説明し、(2) 開発者の MacBook にある AWDL とヘッドレス mini の差、(3) SSH のみで成立する仕事と設計し直しが要る仕事を並べた 5 行のワークフロー表(4) UDP の探索問題とリージョン横断 RTT を分離する 9 手順の実運用(5) 「ProxyMac が遅い」に見せかける VPN の落とし穴をまとめます。あわせて Wi‑Fi のバッファブロートSSH と VNC の判断遅延最適化 を読み、レイヤを取り違えないようにしてください。

運用上の前提として、クラウド Mac はデータセンタ VLAN にいます。オフィスの同一セグメントで動いていた発見プロトコルは、セキュリティとマルチテナンシの都合で意図的に隔離されていることが多く、これはバグではなく境界設計です。チームが誤解しやすいのは「SSH でログインできた=同じ LAN にいる気分になる」点です。認証とシェルは届いても、Ethernet のブロードキャスト領域は伸びません。以降の節では、その前提を踏まえて症状を数値と手順に落とし込みます。

マルチキャストのスコープはローカル、SSH は Bonjour のテレポータではない

mDNS(Apple ではしばしば Bonjour のブランド)は、中央 DNS なしで _http._tcp_ssh._tcp、AirPlay などのサービス名を垂れ流しますが、その実体は単一ブロードキャストドメインに閉じた UDP マルチキャストフレーム です。典型実装は 224.0.0.251 の UDP 5353 へ送り、TTL の前提は「全員が同じ Ethernet/Wi‑Fi セグメントにいる」ことです。ssh user@mini-sg.example で得られるのは TCP スタック間の双方向バイトストリームであり、シンガポールからベルリンのカフェまで Layer-2 マルチキャストを魔法のように延長できるわけではありません。

  • 定量化できる症状: 社内サポートの一次データでは「デバイスが見つからない」系エスカレーションのおよそ 22% が、コード署名や SSH 認証の失敗ではなく探索の誤解だった。
  • 遅延のミスリード: 欧州から SG への RTT が 180〜240 ms でも、Bonjour が届かない問題に「追加のミリ秒」は関係しない。パケット自体が SSH の管を通っていないからです。
  • 自動化の視点: HTTP API だけ喋る CI は安定しがちだが、ブラウズ前提の対話的 Xcode 機能はキャンパス LAN を想像している。

ネットワーク設計のレビューでは、mDNS を WAN 越しに橋渡しする製品が売られていますが、監査コストと可用性の両面で慎重になります。ProxyMac のようなマルチテナント環境では、お客様ごとのサービス探索をグローバルに混ぜないことが前提であり、ここを期待すると長いデバッグの迷路に入ります。

経験則: 同一オフィス VLAN で動き、片方だけデータセンタ VLAN に移った途端に壊れた機能なら、まずマルチキャスト境界を疑う—TCP のチューニング票を開くのはその後。

AWDL、AirDrop の期待値、ヘッドレス Mac mini の現実

Apple Wireless Direct Link(AWDL) は、インフラモードの Wi‑Fi と並行して別インタフェースを切り替え、AirDrop のような近距離ショートカットを実現します。開発者ノートが混雑した 2.4 GHz にいると、クラウド mini への ping が安定していてもローカル側で 18〜35 ms の空気時間ジッターが出て、時間に敏感な発見ハンドシェイクを乱します。一方、JPUS に置いたレンタルの Mac mini M4 はヘッドレス運用が一般的で、同じ AWDL の踊りはしません。サーバへ AirDrop「配送」を期待するのはカテゴリ違いです。GUI のない自動化が目的なら、ブラウズではなく明示ホスト名・固定 IP・API 駆動のオーケストレーションを優先してください。

ノート側の AWDL スタックが不安定なときは、リージョンを責める前に Ethernet か 5 GHz 固定 SSID で再現実験してください。ジッター記事の 5 列マトリクスと合わせると、無線クライアント由来か WAN 起因かを早く切り分けられます。

組織によってはピアツーピア無線を MDM で抑制しているため、「家では動くが会社 Wi‑Fi だけおかしい」パターンも AWDL とは別軸で起きます。ポリシー確認とパケット証跡をセットで依頼してください。

ワークフロー適合表:SSH だけのリモートで残るもの/残らないもの

ワークフロー SSH のみで現実的 GUI/VNC が必要 LAN 風の探索が必要 ProxyMac での注意
xcodebuild と mini 上シミュレータ デバッグによっては テスターに近い HK/JP/KR/SG/US を選ぶ
実機 iPhone のケーブルペアリング しばしば 現地向けに端末を送るかローカル検証用 Mac を用意
プリンタ/IoT の発見 場合により IP 直指定や MDM プロファイルへ寄せる
mini への画面共有 該当なし 不要 VNC の手順 に従う
ローカル Node に届く OpenClaw MCP 127.0.0.1 拘束なら ◎ 場合により ブラウズではなく明示ポートでペア

表の「SSH のみで現実的」の列は、人的オペレーションを最小化できるかという意味であり、コンプライアンス上の GUI 監査が必要な現場では VNC を前提にした計画立案が安全です。

「リージョンが不安定」と切りつける前の 9 手順

  1. 依存を分類: ツールがマルチキャスト、ユニキャスト DNS、単なるローカルループバックのどれを要求するかを書き出す。
  2. mini 上でローカルブラウズ: dns-sd -B _services._dns-sd._udp local.60 秒 走らせ、サービスが見えるか記録する—デーモン側がデータセンタ内では生きている証明になる。
  3. オフィス Wi‑Fi のノートと比較: 一覧が違えばドメイン分離であり、クラウド単体の故障ではない。
  4. RTT を別測定: 素の pingMTR の記事 を使う。200 ms 近傍は大陸横断として普通で、Bonjour エラーとは無関係。
  5. 攻撃的な VPN スプリットを疑う: マルチキャストを黑洞に落とす構成なら、短時間だけフルトンネルで対照実験。
  6. IP/DNS でピン留め: 可能ならブラウズをやめ、ssh -Llocalhost ポートへ明示転送。
  7. TTY/ウィンドウサーバ前提: スクリプトがログインシェルと非ログインで挙動が変わる場合がある。SSH と VNC の整理を参照。
  8. UDP ドロップをログ化: 管理ノートでは MDM の Wi‑Fi ペイロードがピア無線を塞いでいないか確認。
  9. 結果を定型で残す: 時刻、地域コード(HK/JP/KR/SG/US)、Ethernet 再現の有無をセットで書くと一次対応がおよそ 40% 早く閉じる。

9 手順は「SSH が通る=アプリの前提まで満たす」という錯覚を解体するためのチェックリストです。チケットには必ず「どの手順まで否定できたか」を番号で残し、再現コマンドと出力の抜粋を添付してください。

警告: 企業向け「Bonjour ゲートウェイ」はサービスレコードを書き換えることがあります。IT が VLAN を差し替えた直後は、PTR が最大 120 分 古いままになることがあり—多くの DHCP リース更新周期と同じです。

dns-sd 調査、UDP フィルタ、2026 年になっても tcpdump が効く理由

Apple の dns-sd CLI は、NIC から告知が出ているかをいちばん早く証明する道具です。外向き UDP 5353 が塞がれていると、ブラウズ一覧は何も言わず空になり—TLS 途中傍受の HTTP CONNECT の無言失敗に似ますが、ここでは犯人が UDP です。失敗テスト中に mini で 30 秒 キャプチャし、マルチキャスト加入レポートが無ければハイパーバイザ側フィルタを疑い、アプリロジックは後回しにします。

サブネットをまたいでサービスを届ける必要があるなら、WAN にマルチキャスト橋を伸ばすより社内 DNS にユニキャスト DNS-SD(SRV/PTR)を載せる設計が監査と運用の両面で現実的です。長距離 mDNS ブリッジは壊れやすく、証跡も取りにくいからです。

クラウド側で sysctl やファイアウォールの既定が変わったときも、最初は UDP のドロップ率と IGMP/MLD の健全性を見ます。アプリを最新にしてもパケットが NIC を出ていなければユーザー体験は変わりません。

VPN、「同じサブネット」の錯覚、スプリットトンネル方針

エンジニアは VPN で「クラウド mini と同じネットに乗る」と期待しがちですが、多くの企業 VPN は 10.0.0.0/8 の社内レンジを配りつつインターネット出口は別経路へヘアピンし、SSH は成功してもマルチキャストは孤立します。Bonjour が VPN ポリシ変更と同時に壊れたなら、AWDL 調整より フルトンネルの試験窓 か明示 DNS-SD のユニキャスト登録を依頼してください。

この節は ゼロトラスト VPN の経路 と併読すると、スプリット DNS が SSH 目的地から管理ポータルへだけ流量を逸らす問題にも気づきやすくなります。

個人用 VPN と企業 ZTNA を混同しないことも重要です。商用製品ごとの「フルトンネル」の定義が異なり、UDP の扱いが文書化されていない場合はベンダに IGMP プロキシの有無を問い合わせてください。

FAQ

ポート転送と同様に mDNS を転送できるか? 標準 SSH だけでは無理です。アプリ層のリピータかユニキャスト DNS が必要で、-R が UDP マルチキャストを救うことは期待しないでください。

Apple Silicon では物理が変わるか? スループットと電力効率は向上しても、Ethernet のブロードキャストドメインの法則は同じです。M4 mini も Bonjour の物理学からは逃れません。

画面共有が Xcode のデバイス一覧を直すか? mini 上に GUI セッションを出せるので人間の操作には効く一方、USB ケーブルを大洋横断で取り付けるわけではありません—限界を理解したうえで VNC を使ってください。

ユニキャスト現実に設計し直したあとも ProxyMac Mac mini が勝つのはなぜか

Bonjour 当て推量をピン留めエンドポイントへ置き換えたあとは、HK/JP/KR/SG/US に置いた Mac mini M4 が予測可能な macOS ツールチェインを金属購入なしで提供します。ネイティブ Xcode、AppleScript 自動化、API 近傍に置きたい OpenClaw ゲートウェイにも向きます。Apple Silicon は待機電力が低くコンパイル農場を常時稼働させやすく、SSH と任意の VNC で運用者の操作感も保てます。リージョン比較は 料金ページ、リモート手順の確認は ヘルプセンター、GUI が不可欠な局面のリハーサルには VNC セットアップ をブックマークしてください。

ユーザに合うリージョンを選ぶ—マルチキャスト神話ではなく

HK · JP · KR · SG · US · Apple Silicon M4