Mac kompiuteryje ping išsprendžia tailnet mašinos vardą, o nslookup grąžina klaidą, ir abi komandos sako tiesą. Programos sprendžia per sistemos sprendiklį, kurį Tailscale konfigūruoja kiekvienai sąsajai, o nslookup ir host skaito statinį failą, kurio MagicDNS niekada neliečia. Du keliai gali skirtis neprarandant nė vieno paketo. Prieš keisdami bet kurį DNS nustatymą, nustatykite, kurį kelią pasirinko jūsų nepavykstanti programa.

Du sprendimo keliai, du skirtingi atsakymai

Programų srautas macOS eina per sistemos sprendiklį, o sąsajos ribojami sprendiklio įrašai nustato, kuris serveris atsako už kurį domeną. Tailscale ten įdiegia savo MagicDNS įrašą, todėl Safari ir ssh randa tailnet vardus. nslookup, host ir dig vietoj to skaito /etc/resolv.conf arba paima serverį iš komandinės eilutės, ir tame faile paprastai vis dar nurodomas maršrutizatorius arba biuro serveris. Į tą failą išsiųstas tailnet vardas neturi jokio laukiančio autoritetingo atsakymo, todėl įrankis praneša apie klaidą, o sistemos kelias pavyksta.

Nė vienas įrankis nesielgia neteisingai. Jie klausia skirtingų serverių, ir tik vienas iš tų serverių žino apie jūsų tailnet.

Išbandykite tą patį vardą sistemos keliu

Naudokite sistemos paieškos iškvietimą kaip pirmą bandymą, tada palyginkite jį su užklausa, nukreipta tiesiai į MagicDNS sprendiklį. Išlaikykite identišką rašybą abiejuose, įskaitant tailnet domeną, nes trumpas vardas ir visiškai kvalifikuotas vardas yra skirtingi klausimai su skirtingais atsakymais.

dscacheutil -q host -a name nas-01.tailnet-a1b2.ts.net
scutil --dns
dig @100.100.100.100 nas-01.tailnet-a1b2.ts.net

Tie trys išėjimai atsako į tris klausimus: ką grąžina sistema, kurie sprendikliai sukonfigūruoti kuriems domenams ir ką žino pats MagicDNS. Vardas, esantis antrame ir trečiame, bet nesanantis pirmame, rodo vietinę konfigūraciją, o ne tailnet.

Kai vardas išsprendžiamas, išbandykite paslaugą

Teisingas DNS atsakymas įrodo tik tai, kad vardas atitinka adresą. Paslauga už jo gali būti sustabdyta, prievadas gali būti filtruojamas prieigos taisyklės, o sertifikatas gali nurodyti kitą pagrindinį kompiuterį nei įvedėte.

nc -vz nas-01.tailnet-a1b2.ts.net 445
ping -c 3 nas-01.tailnet-a1b2.ts.net

Išsaugokite originalų klaidos tekstą, nes sertifikato įspėjimas, ryšio laiko limitas ir nerastas vardas kiekvienas veda kitur. Vardų serverių keitimas pataiso trečią ir praranda popietę pirmiems dviem.

MagicDNS nepakeičia biuro DNS

Vardas biuro zonoje nėra tailnet įrenginio vardas, net kai tas pats klientas pasiekia abu. Kai tikslas yra už potinklio maršrutizatoriaus, klientui reikia tos zonos split DNS, nukreipto į vidinį sprendiklį, o tai kitas nustatymas nei MagicDNS ir dokumentuojamas šalia jo.

Paieškos domenai taip pat svarbūs. Nekvalifikuotam trumpam vardui iš eilės pridedama kiekviena sukonfigūruota priesaga, todėl nešiojamasis kompiuteris, neseniai prisijungęs prie kito tinklo, gali išspręsti per pasenusią priesagą. Prieš skelbdami zoną sugedusia, patikrinkite, kuri priesaga buvo pritaikyta.

Kai abu keliai nepavyksta, sprendžia tailnet faktai

Jei sistemos paieška ir tiesioginė užklausa abi nepavyksta įrenginiui, kuris, jūsų manymu, egzistuoja, problema yra aukščiau Mac sprendiklio.

Patvirtinkite mašinos vardą ir tailnet domeną administravimo konsolėje, patvirtinkite, kad įrenginys yra prisijungęs ir patvirtintas, ir patvirtinkite, kad kliento DNS nustatymai nebuvo išjungti vietiškai. Neprisijungęs įrenginys išsaugo savo vardą ir tiesiog neturi adreso, kurį būtų galima grąžinti.

Tada rinkitės pagal įrodymus. Vardas, kuris išsprendžiamas sistemos keliu ir nepavyksta nslookup, yra įrankio kelio skirtumas; vardas, kuris išsprendžiamas, kol paslauga atsisako, yra prieigos arba sertifikato problema; vardas, kuris niekur neišsprendžiamas, yra tailnet arba DNS konfigūracijos problema. Trys savininkai, trys pataisymai, ir MagicDNS dokumentacija apima pirmojo atvejo macOS ypatumus.

Susiję straipsniai