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 של המקרה הראשון.