Bonjour / mDNS keşfi
OpenClaw, etkin bir Gateway’i (WebSocket uç noktası) keşfetmek için Bonjour (mDNS / DNS‑SD) kullanır. Multicastlocal. taraması yalnızca LAN için bir kolaylıktır. Ağlar arası keşif için aynı beacon,
yapılandırılmış bir geniş alan DNS-SD etki alanı üzerinden de yayınlanabilir. Keşif yine de
best-effort olarak çalışır ve SSH veya Tailnet tabanlı bağlantının yerini almaz.
Tailscale üzerinden geniş alan Bonjour (Unicast DNS-SD)
Düğüm ile gateway farklı ağlardaysa, multicast mDNS bu sınırı geçmez. Aynı keşif UX’ini, Tailscale üzerinden unicast DNS‑SD (“Wide‑Area Bonjour”) kullanarak sürdürebilirsiniz. Üst düzey adımlar:- Gateway ana bilgisayarında bir DNS sunucusu çalıştırın (Tailnet üzerinden erişilebilir olmalı).
- Ayrılmış bir bölge altında
_openclaw-gw._tcpiçin DNS‑SD kayıtlarını yayınlayın (örnek:openclaw.internal.). - Seçtiğiniz etki alanının istemcilerde (iOS dahil) bu DNS sunucusu üzerinden çözülmesi için Tailscale split DNS yapılandırın.
openclaw.internal. yalnızca bir örnektir.
iOS/Android düğümleri hem local. hem de yapılandırılmış geniş alan etki alanınızı tarar.
Gateway yapılandırması (önerilir)
Tek seferlik DNS sunucusu kurulumu (gateway ana bilgisayarı)
- yalnızca gateway’in Tailscale arayüzlerinde 53 portunu dinlemek
- seçtiğiniz etki alanını (örnek:
openclaw.internal.),~/.openclaw/dns/<domain>.dbüzerinden sunmak
Tailscale DNS ayarları
Tailscale yönetici konsolunda:- Gateway’in tailnet IP’sine işaret eden bir nameserver ekleyin (UDP/TCP 53).
- Keşif etki alanınızın bu nameserver’ı kullanması için split DNS ekleyin.
_openclaw-gw._tcp tarayabilir.
Gateway dinleyici güvenliği (önerilir)
Gateway WS portu (varsayılan18789) varsayılan olarak loopback’e bağlanır. LAN/tailnet
erişimi için açıkça bağlayın ve kimlik doğrulamayı etkin tutun.
Yalnızca tailnet kurulumları için:
~/.openclaw/openclaw.jsoniçindegateway.bind: "tailnet"ayarlayın.- Gateway’i yeniden başlatın (veya macOS menü çubuğu uygulamasını yeniden başlatın).
Neler yayınlanır
Yalnızca Gateway,_openclaw-gw._tcp yayını yapar.
Hizmet türleri
_openclaw-gw._tcp— gateway taşıma beacon’ı (macOS/iOS/Android düğümleri tarafından kullanılır).
TXT anahtarları (gizli olmayan ipuçları)
Gateway, UI akışlarını kolaylaştırmak için küçük gizli olmayan ipuçları yayınlar:role=gatewaydisplayName=<friendly name>lanHost=<hostname>.localgatewayPort=<port>(Gateway WS + HTTP)gatewayTls=1(yalnızca TLS etkin olduğunda)gatewayTlsSha256=<sha256>(yalnızca TLS etkinse ve parmak izi mevcutsa)canvasPort=<port>(yalnızca canvas host etkin olduğunda; şu andagatewayPortile aynı)transport=gatewaytailnetDns=<magicdns>(Tailnet mevcut olduğunda isteğe bağlı ipucu)sshPort=<port>(yalnızca mDNS full modunda; geniş alan DNS-SD bunu atlayabilir)cliPath=<path>(yalnızca mDNS full modunda; geniş alan DNS-SD bunu yine de uzak kurulum ipucu olarak yazar)
- Bonjour/mDNS TXT kayıtları kimliği doğrulanmamış kayıtlardır. İstemciler TXT’yi yetkili yönlendirme olarak değerlendirmemelidir.
- İstemciler, çözümlenen hizmet uç noktasını (SRV + A/AAAA) kullanarak yönlendirme yapmalıdır.
lanHost,tailnetDns,gatewayPortvegatewayTlsSha256değerlerini yalnızca ipucu olarak değerlendirin. - SSH otomatik hedefleme de aynı şekilde yalnızca TXT ipuçlarını değil, çözümlenen hizmet ana bilgisayarını kullanmalıdır.
- TLS sabitlemesi, yayınlanan bir
gatewayTlsSha256değerinin daha önce depolanmış bir sabitlemeyi geçersiz kılmasına asla izin vermemelidir. - iOS/Android düğümleri, keşif tabanlı doğrudan bağlantıları yalnızca TLS olarak değerlendirmeli ve ilk kez görülen bir parmak izine güvenmeden önce açık kullanıcı onayı istemelidir.
macOS üzerinde hata ayıklama
Yararlı yerleşik araçlar:-
Örnekleri tara:
-
Bir örneği çözümle (
<instance>yerine kendi değerinizi yazın):
Gateway günlüklerinde hata ayıklama
Gateway, dönen bir günlük dosyası yazar (başlangıçtagateway log file: ... olarak yazdırılır). Özellikle şu bonjour: satırlarını arayın:
bonjour: advertise failed ...bonjour: ... name conflict resolved/hostname conflict resolvedbonjour: watchdog detected non-announced service ...
iOS düğümünde hata ayıklama
iOS düğümü,_openclaw-gw._tcp keşfi için NWBrowser kullanır.
Günlükleri yakalamak için:
- Settings → Gateway → Advanced → Discovery Debug Logs
- Settings → Gateway → Advanced → Discovery Logs → yeniden üretin → Copy
Yaygın hata modları
- Bonjour ağlar arasında çalışmaz: Tailnet veya SSH kullanın.
- Multicast engellenmiş: bazı Wi‑Fi ağları mDNS’yi devre dışı bırakır.
- Uyku / arayüz değişimi: macOS mDNS sonuçlarını geçici olarak düşürebilir; yeniden deneyin.
- Tarama çalışıyor ama çözümleme başarısız: makine adlarını basit tutun (emoji veya noktalama işaretlerinden kaçının), ardından Gateway’i yeniden başlatın. Hizmet örneği adı ana bilgisayar adından türetildiği için, aşırı karmaşık adlar bazı çözümleyicilerin kafasını karıştırabilir.
Escape edilmiş örnek adları (\032)
Bonjour/DNS‑SD, hizmet örneği adlarındaki baytları genellikle ondalık \DDD
dizileri olarak escape eder (örneğin boşluklar \032 olur).
- Bu, protokol düzeyinde normaldir.
- UI’ler görüntüleme için bunu çözmelidir (iOS
BonjourEscapes.decodekullanır).
Devre dışı bırakma / yapılandırma
OPENCLAW_DISABLE_BONJOUR=1, yayını devre dışı bırakır (legacy:OPENCLAW_DISABLE_BONJOUR).~/.openclaw/openclaw.jsoniçindekigateway.bind, Gateway bağlama modunu denetler.OPENCLAW_SSH_PORT,sshPortyayınlandığında SSH portunu geçersiz kılar (legacy:OPENCLAW_SSH_PORT).OPENCLAW_TAILNET_DNS, TXT içinde bir MagicDNS ipucu yayınlar (legacy:OPENCLAW_TAILNET_DNS).OPENCLAW_CLI_PATH, yayınlanan CLI yolunu geçersiz kılar (legacy:OPENCLAW_CLI_PATH).
İlgili belgeler
- Keşif ilkesi ve taşıma seçimi: Discovery
- Düğüm eşleştirme + onaylar: Gateway pairing