Tailscale MagicDNS ради, али nslookup не успева на macOS
macOS апликације решавају преко системског резолвера; nslookup чита статичку датотеку. Тестирајте исто tailnet име на оба пута пре него што промените било које DNS подешавање.
На Mac-у ping решава име tailnet машине док nslookup враћа грешку, и обе команде говоре истину. Апликације решавају преко системског резолвера, који Tailscale конфигурише по интерфејсу, док nslookup и host читају статичку датотеку коју MagicDNS никада не дотиче. Два пута могу да се разликују без губитка иједног пакета. Пре него што промените било које DNS подешавање, утврдите којим путем је кренула ваша апликација која не успева.
Два пута решавања, два различита одговора
Саобраћај апликација на macOS иде преко системског резолвера, а уноси резолвера ограничени по интерфејсу одлучују који сервер одговара за који домен. Tailscale тамо инсталира свој MagicDNS унос, зато Safari и ssh проналазе tailnet имена. nslookup, host и dig уместо тога читају /etc/resolv.conf или узимају сервер из командне линије, и та датотека обично још увек именује рутер или канцеларијски сервер. Име tailnet-а послато тој датотеци нема никакав ауторитативни одговор који га чека, па алат пријављује грешку док системски пут успева.
Ниједан од два алата се не понаша погрешно. Они питају различите сервере, и само један од тих сервера зна за ваш tailnet.
Тестирајте исто име системским путем
Користите системски позив за претрагу као први тест, затим га упоредите са упитом упућеним директно на MagicDNS резолвер. Задржите идентичан правопис у оба, укључујући tailnet домен, јер су кратко име и потпуно квалификовано име различита питања са различитим одговорима.
dscacheutil -q host -a name nas-01.tailnet-a1b2.ts.net
scutil --dns
dig @100.100.100.100 nas-01.tailnet-a1b2.ts.net
Та три излаза одговарају на три питања: шта систем враћа, који су резолвери конфигурисани за које домене и шта сам MagicDNS зна. Име присутно у другом и трећем, али одсутно у првом, указује на локалну конфигурацију, а не на tailnet.
Када се име реши, тестирајте услугу
Исправан DNS одговор доказује само да име одговара адреси. Услуга иза њега може бити заустављена, порт може бити филтриран правилом приступа, а сертификат може именовати други хост од оног који сте откуцали.
nc -vz nas-01.tailnet-a1b2.ts.net 445
ping -c 3 nas-01.tailnet-a1b2.ts.net
Сачувајте оригинални текст грешке, јер упозорење о сертификату, истек времена везе и име које није пронађено воде свако на друго место. Промена сервера имена поправља треће и траћи поподне на прва два.
MagicDNS не замењује канцеларијски DNS
Име унутар канцеларијске зоне није име tailnet уређаја чак и када исти клијент може да дође до оба. Када се одредиште налази иза рутера за подмрежу, клијенту је потребан split DNS за ту зону који показује на интерни резолвер, што је другачије подешавање од MagicDNS-а и документовано је поред њега.
И домени претраге су важни. Неквалификованом кратком имену се по реду додаје сваки конфигурисани суфикс, па преносни рачунар који се недавно придружио другој мрежи може да се реши преко застарелог суфикса. Проверите који је суфикс примењен пре него што зону прогласите поквареном.
Када оба пута не успеју, одлучују чињенице о tailnet-у
Ако системска претрага и директан упит не успеју обоје за уређај за који верујете да постоји, проблем је изнад резолвера Mac-а.
Потврдите име машине и tailnet домен у административној конзоли, потврдите да је уређај онлајн и одобрен, и потврдите да DNS подешавања клијента нису локално онемогућена. Уређај који је офлајн задржава своје име и једноставно нема адресу коју би вратио.
Затим изаберите према доказима. Име које се решава системским путем и не успева у nslookup-у је разлика у путу алата; име које се решава док услуга одбија је проблем приступа или сертификата; име које се нигде не решава је проблем tailnet-а или DNS конфигурације. Три власника, три поправке, и документација MagicDNS-а покрива macOS специфичности првог случаја.