コンテンツにスキップ

OpenClaw での Bonjour / mDNS を使った Gateway の自動検出

開発中、別のデバイスからサーバーに接続しようとして、IPアドレスをいちいち確認したり、設定ファイルに書き込んだりするのは面倒ですよね。ネットワーク環境が変わるたびに接続先を探し直す作業は、本来の作業を妨げるストレスになりがちです。

OpenClaw では、Bonjour (mDNS / DNS-SD) を使用して、LAN 内にあるアクティブな Gateway(WebSocket エンドポイント)を自動で検出できます。これは LAN 内での利便性を高めるための機能であり、SSH や Tailscale ベースの接続を完全に置き換えるものではありませんが、日々の作業をぐっと楽にしてくれます。

  • OpenClaw Gateway を実行するホスト
  • macOS、iOS、または Android の Node デバイス
  • Tailscale(ネットワークをまたいで利用する場合)

設定は 5 分ほどで完了します。以下の手順で Gateway の自動検出を有効にしましょう。

~/.openclaw/openclaw.json を編集して、Tailnet 経由での公開を有効にします。

{
gateway: { bind: "tailnet" }, // tailnet 限定(推奨)
discovery: { wideArea: { enabled: true } }, // 広域 DNS-SD 公開を有効化
}

Gateway ホストで以下のコマンドを実行します。これにより CoreDNS がインストールされ、設定が行われます。

Terminal window
openclaw dns setup --apply

Tailscale 管理コンソールで、以下の 2 点を設定します。

  • Gateway の Tailscale IP(UDP/TCP ポート 53)を指すネームサーバーを追加します。
  • 使用するドメイン(例:openclaw.internal.)に対して Split DNS を設定し、上記のネームサーバーを使用するようにします。

設定が完了すると、iOS などのデバイスからマルチキャストを使わずに Gateway を見つけられるようになります。

macOS をお使いの場合は、標準ツールを使って検出状況を確認できます。

  • インスタンスの一覧を表示する:

    Terminal window
    dns-sd -B _openclaw-gw._tcp local.
  • 特定のインスタンスの名前を解決する(<instance> を実際の名前に置き換えてください):

    Terminal window
    dns-sd -L "\<instance\>" _openclaw-gw._tcp local.

よくある問題と解決策をまとめました。

  • Bonjour がネットワークを越えられない: mDNS は同一 LAN 内でのみ動作します。ネットワークをまたぐ場合は Tailscale または SSH を使用してください。
  • マルチキャストがブロックされている: 一部の Wi-Fi ネットワーク(公共 Wi-Fi など)では mDNS が無効化されていることがあります。
  • スリープやインターフェースの切り替え: macOS がスリープから復帰した際などに、一時的に mDNS の結果が表示されないことがあります。その場合は少し待ってから再試行してください。
  • 検索はできるが解決(Resolve)に失敗する: マシン名に絵文字や特殊な記号が含まれていると、解決に失敗することがあります。名前をシンプルにして Gateway を再起動してみてください。

設定についてさらに詳しく知りたい場合は、AI Setup Assistant も活用してみてください。

  • Discovery: 検出ポリシーとトランスポートの選択について
  • Gateway pairing: Node のペアリングと承認プロセスについて
OpenClaw

OpenClaw Expert

まだ解決しませんか?

このページで解決しない場合は、OpenClaw Expertに直接質問してください。