چرا MagicDNS دستگاهها را حل میکند اما نام میزبانهای اداری را نه
MagicDNS به دستگاههای درون یک tailnet نام میدهد، نه به میزبانهای منطقه اداری شما. DNS تقسیمشده همراه با یک حلکننده و مسیر قابل دسترس همان چیزی است که نام اداری را وادار به پاسخ میکند.
MagicDNS به هر دستگاه در یک tailnet نامی میدهد که از نام ماشین آن و دامنه DNS آن tailnet گرفته شده است. این نام را Tailscale میسازد و از مسیر حلکننده آن پاسخ داده میشود. نام میزبان اداری مانند files.office.example به منطقهای تعلق دارد که Tailscale هرگز آن را ننوشته است، بنابراین تغییر نام یک دستگاه نمیتواند آن را بسازد. دو فضای نام همزمان وجود دارند؛ فقط صاحبان متفاوتی دارند.
این سازوکار پشت یک گزارش بسیار رایج است: میزبان Tailscale پاسخ میدهد و سرور فایل هنوز خطای حل را برمیگرداند.
دو فضای نام، دو صاحب
نام دستگاه از نام میزبان خود ماشین تولید میشود، برخوردها را Tailscale حل میکند و نتیجه زیر دامنه tailnet زندگی میکند. منطقه اداری را کسی نگهداری میکند که حلکننده اداری را اجرا میکند، با رکوردهایی که مدیر یا ثبت دینامیک میسازد. نامهای کوتاه تفاوت را پنهان میکنند: files ممکن است گسترش پسوند جستجو باشد که DNS اداری به آن پاسخ میدهد، یک دستگاه tailnet، یا هیچ چیز. پرسوجو با نام کامل نشان میدهد کدام سامانه واقعاً پاسخ داده است.
تغییر نام ماشین روتر زیرشبکه برای منطقه اداری هیچ کاری نمیکند. فقط یک دستگاه Tailscale را تغییر نام میدهد و رکورد روی سرور اداری را دستنخورده میگذارد، به همین دلیل تغییر نام و تلاش دوباره هرگز به نتیجه نمیرسد.
منطقه اداری را به حلکننده خودش هدایت کنید
DNS تقسیمشده Tailscale پرسوجوهای دامنههای انتخابشده را به سرور نامی که مشخص میکنید میفرستد و بقیه از سیاست باقیمانده پیروی میکند. دامنهای را اضافه کنید که حلکننده اداری واقعاً به آن سرویس میدهد، نه پسوند جستجویی که تصادفاً تایپ میکنید. پسوند جستجو به کلاینت میگوید چه چیزی اضافه شود؛ به حلکننده نمیگوید کجا را ببیند. این دو تنظیم در کنسول شبیه هم به نظر میرسند و کاملاً متفاوت رفتار میکنند.
سرور نامی محدود باید برای دامنه مرتبط با آن مرجع باشد، وگرنه پاسخ یک ارجاع خواهد بود نه یک نشانی.
دسترسی پیش از حل شدن میآید
کلاینت هم باید به آن سرور نامی برسد. برای حلکنندهای روی یک LAN خصوصی، مسیر زیرشبکه باید اعلام و پذیرفته شود، سیاست دسترسی باید پرسوجو را مجاز کند و مسیر بازگشت باید وجود داشته باشد. نشانی DNS درست در کنسول مدیریت فقط اثبات میکند که پیکربندی ذخیره شده است. اگر بستهها نتوانند به حلکننده برسند، نشانه یک وقفه زمانی است که با پاسخ مرجع مبنی بر نبود چنین رکوردی متفاوت به نظر میرسد.
این تفاوت تشخیصی است. وقفه زمانی به مسیریابی یا سیاست اشاره دارد، در حالی که پاسخ منفی فوری به رکورد یا منطقه اشاره دارد. پیش از تغییر هر تنظیم DNS بخوانید کدام یک را دریافت میکنید.
شکست نام را از شکست سرویس جدا کنید
اگر منبع در نشانی خصوصی خود پاسخ دهد اما با نام میزبان نه، بررسی در DNS میماند. اگر هیچکدام کار نکند، ابتدا مسیریابی یا سرویس را درست کنید، زیرا نامی که به نشانی غیرقابل دسترس حل میشود پیشرفت نیست. با نام کامل پرسوجو کنید و توجه کنید کدام سرور پاسخ داد. در macOS برخی ابزارهای خط فرمان مسیر متفاوتی از برنامههای معمولی طی میکنند، بنابراین یک ترمینال dig و یک مرورگر میتوانند درباره یک نام هم اختلاف داشته باشند.
اگر حالت عادی دستگاه این است، آزمون را با انتخاب یک گره خروج تکرار کنید. مدیریت DNS گره خروج با پیکربندی بدون گره خروج متفاوت است و آزمون فقط در یک حالت میتواند شکستی را که کاربران واقعاً میبینند از دست بدهد.
منطقه، نشانی حلکننده و مسیری که پرسوجو را حمل میکند ثبت کنید. این سه، بیشتر شگفتیهای MagicDNS را بدون دور دیگری از تغییر نام توضیح میدهند.