35. Bonjour / mDNS aniqlash¶
- OpenClaw faol Gateway (WebSocket endpoint) ni aniqlash uchun faqat LAN doirasidagi qulaylik sifatida Bonjour (mDNS / DNS‑SD) dan foydalanadi. 37. Bu best‑effort bo‘lib, SSH yoki Tailnet asosidagi ulanishni almashtirmaydi.
38. Tailscale orqali keng hududli Bonjour (Unicast DNS‑SD)¶
-
Agar tugun va gateway turli tarmoqlarda bo‘lsa, multicast mDNS chegaradan o‘tmaydi. 40. Tailscale orqali unicast DNS‑SD ("Wide‑Area Bonjour") ga o‘tib, xuddi shu aniqlash UX’ini saqlab qolishingiz mumkin.
-
Yuqori darajadagi qadamlar:
-
- Gateway xostida DNS serverni ishga tushiring (Tailnet orqali yetib boriladigan).
-
- Ajratilgan zona ostida
_openclaw-gw._tcpuchun DNS‑SD yozuvlarini e’lon qiling (misol:openclaw.internal.).
- Ajratilgan zona ostida
-
- Tanlangan domeningiz mijozlar (jumladan iOS) uchun o‘sha DNS server orqali yechilishi uchun Tailscale split DNS ni sozlang.
45) OpenClaw istalgan aniqlash domenini qo‘llab-quvvatlaydi; openclaw.internal. faqat misol.
46) iOS/Android tugunlari local. va siz sozlagan keng hududli domenni birgalikda ko‘rib chiqadi.
47. Gateway konfiguratsiyasi (tavsiya etiladi)¶
48. {
gateway: { bind: "tailnet" }, // faqat tailnet (tavsiya etiladi)
discovery: { wideArea: { enabled: true } }, // keng hududli DNS‑SD e’lon qilishni yoqadi
}
49. Bir martalik DNS server sozlamasi (gateway xosti)¶
50. openclaw dns setup --apply
- Bu CoreDNS’ni o‘rnatadi va uni quyidagicha sozlaydi:
-
- 53‑portda faqat gateway’ning Tailscale interfeyslarida tinglaydi
-
- tanlangan domeningizni (misol:
openclaw.internal.)~/.openclaw/dns/<domain>.dbdan xizmat qiladi
- tanlangan domeningizni (misol:
- Tailnet’ga ulangan mashinadan tekshiring:
5. dns-sd -B _openclaw-gw._tcp openclaw.internal.
dig @<TAILNET_IPV4> -p 53 _openclaw-gw._tcp.openclaw.internal PTR +short
6. Tailscale DNS sozlamalari¶
- Tailscale admin konsolida:
-
- Gateway’ning tailnet IP manziliga (UDP/TCP 53) yo‘naltirilgan nameserver qo‘shing.
-
- Discovery domeningiz shu nameserver’dan foydalanishi uchun split DNS qo‘shing.
- Mijozlar tailnet DNS’ni qabul qilgach, iOS tugunlari multicast’siz discovery domeningizda
_openclaw-gw._tcpni ko‘ra oladi.
11. Gateway tinglovchi xavfsizligi (tavsiya etiladi)¶
-
Gateway WS porti (standart
18789) sukut bo‘yicha loopback’ga bog‘lanadi. 13. LAN/tailnet kirish uchun, aniq bog‘lang va autentifikatsiyani yoqilgan holda qoldiring. -
Faqat tailnet sozlamalari uchun:
-
~/.openclaw/openclaw.jsonfaylidagateway.bind: "tailnet"ni o‘rnating.
-
- Gateway’ni qayta ishga tushiring (yoki macOS menyubar ilovasini qayta ishga tushiring).
17. Nimalar e’lon qilinadi¶
- Faqat Gateway
_openclaw-gw._tcpni e’lon qiladi.
19. Xizmat turlari¶
-
_openclaw-gw._tcp— gateway transport beacon (macOS/iOS/Android tugunlari tomonidan ishlatiladi).
21. TXT kalitlari (maxfiy bo‘lmagan ishoralar)¶
- Gateway UI jarayonlarini qulay qilish uchun kichik, maxfiy bo‘lmagan ishoralarni e’lon qiladi:
-
role=gateway
-
displayName=<friendly name>
-
lanHost=<hostname>.local
-
gatewayPort=<port>(Gateway WS + HTTP)
-
gatewayTls=1(faqat TLS yoqilganida)
-
gatewayTlsSha256=<sha256>(faqat TLS yoqilgan va fingerprint mavjud bo‘lganda)
-
canvasPort=<port>(faqat canvas xosti yoqilganda; standart18793)
-
sshPort=<port>(o‘zgartirilmagan bo‘lsa, sukut bo‘yicha 22)
-
transport=gateway
-
cliPath=<path>(ixtiyoriy; ishga tushiriladiganopenclawkirish nuqtasiga mutlaq yo‘l)
-
tailnetDns=<magicdns>(Tailnet mavjud bo‘lganda ixtiyoriy ishora)
34. macOS’da nosozliklarni tuzatish¶
- Foydali o‘rnatilgan vositalar:
-
- Instansiyalarni ko‘rish:
bash
37. dns-sd -B _openclaw-gw._tcp local.
-
- Bitta instansiyani aniqlash (
<instance>ni almashtiring):
- Bitta instansiyani aniqlash (
bash
39. dns-sd -L "<instance>" _openclaw-gw._tcp local.
- Agar ko‘rish ishlasa, lekin aniqlash ishlamasa, odatda LAN siyosati yoki mDNS rezolver muammosiga duch kelasiz.
41. Gateway loglarida nosozliklarni tuzatish¶
- Gateway aylanuvchi log faylini yozadi (ishga tushishda quyidagicha chop etiladi:
gateway log file: ...). 43. Ayniqsabonjour:qatorlariga e’tibor bering:
-
bonjour: advertise failed ...
-
- `bonjour: ...
- name conflict resolved
/hostname conflict resolved47.bonjour: watchdog detected non-announced service ...`
-
- iOS tugunida nosozliklarni tuzatish
49. iOS tuguni _openclaw-gw._tcp ni aniqlash uchun NWBrowser dan foydalanadi.¶
- Loglarni olish uchun:
Jurnallarni yozib olish uchun:
- Sozlamalar → Gateway → Kengaytirilgan → Discovery Debug Logs
- Sozlamalar → Gateway → Kengaytirilgan → Discovery Logs → qayta takrorlang → Copy
Jurnal brauzer holati o‘zgarishlari va natijalar to‘plamidagi o‘zgarishlarni o‘z ichiga oladi.
Keng tarqalgan nosozlik holatlari¶
- Bonjour tarmoqlar o‘rtasida ishlamaydi: Tailnet yoki SSH’dan foydalaning.
workdir,env- Uyqu rejimi / interfeys almashinuvi: macOS vaqtincha mDNS natijalarini yo‘qotishi mumkin; qayta urinib ko‘ring.
- Browse ishlaydi, lekin resolve muvaffaqiyatsiz: qurilma nomlarini sodda saqlang (emojilar yoki tinish belgilaridan saqlaning), so‘ng Gateway’ni qayta ishga tushiring. Xizmat nusxasi nomi quyidagidan kelib chiqadi the host name, so overly complex names can confuse some resolvers.
Escaped nusxa nomlari (\032)¶
Bonjour/DNS‑SD often escapes bytes in service instance names as decimal \DDD
sequences (e.g. spaces become \032).
- This is normal at the protocol level.
- Multicast bloklangan: ba’zi Wi‑Fi tarmoqlari mDNS’ni o‘chirib qo‘yadi.
Disabling / configuration¶
OPENCLAW_DISABLE_BONJOUR=1disables advertising (legacy:OPENCLAW_DISABLE_BONJOUR).gateway.bindin~/.openclaw/openclaw.jsoncontrols the Gateway bind mode.OPENCLAW_SSH_PORToverrides the SSH port advertised in TXT (legacy:OPENCLAW_SSH_PORT).OPENCLAW_TAILNET_DNSpublishes a MagicDNS hint in TXT (legacy:OPENCLAW_TAILNET_DNS).OPENCLAW_CLI_PATHoverrides the advertised CLI path (legacy:OPENCLAW_CLI_PATH).
Related docs¶
- Discovery policy and transport selection: Discovery
- Node pairing + approvals: Gateway pairing