فایل resolver در macOS برای یک دامنه محلی در کنار VPN
یک فایل resolver باریک میتواند یک دامنه محلی را به سرور DNS خودش در یک Mac بفرستد، بدون جایگزینی resolver VPN کاری یا ایجاد هر مسیری.
VPN کاری شما نام شرکت را بینقص حل میکند، در حالی که چاپگر در خانه با نام قابل دسترسی نیست، و راهحل معمولی که مردم به آن متوسل میشوند این است که کل Mac را به روتر خانه اشاره دهند. این تغییری بسیار بزرگتر از چیزی است که مشکل میطلبد. macOS میتواند یک پسوند DNS را از طریق فایل resolver کوچکی به سرور خودش بفرستد و هر جستوجوی دیگر را دقیقاً همان جا که بود بگذارد.
مرز مجوز اول میآید: این برای دامنهای است که آن را مدیریت میکنید یا برای پیکربندی آن مجوز دارید. این راهی برای دور زدن سیاست DNS اعمالشده سازمان یا محدودیتهای شبکه محلی آن نیست.
یک فایل با کاری باریک
فرض کنید ناحیه محلی lab.example.org است و سرور آن روی 192.168.55.1 پاسخ میدهد. در Mac که اجازه انجام تغییر را دارید، مدیر یک فایل متنی ساده میسازد که نامش خود دامنه است، /etc/resolver/lab.example.org، که در آن یک nameserver 192.168.55.1 خط وجود دارد. ممکن است پوشه در سیستم تازه وجود نداشته باشد، پس آن را با دسترسی مدیر بسازید و پیش از نوشتن نگاه کنید، چون ممکن است نرمافزار مدیریتی از قبل فایلی آنجا داشته باشد.
پیکربندی resolver شرکت Apple این قرارداد را مستند میکند که وقتی تنظیم دامنه جداگانهای درون فایل نمیآید، نام فایل دامنه را تأمین میکند. همان قاعده نامگذاری تمام ترفند است، و به همین دلیل فایل باید به نام ناحیه باشد نه به نام سرور.
چگونه macOS میان resolverها انتخاب میکند
بیش از یک کلاینت resolver میتواند فعال باشد، و دامنه منطبق خاصتر برنده میشود. برای نمونه، lab.example.org resolver محدوده متفاوتی از resolver پیشفرض دارد، و یک زیردامنه خاصتر با فایل خودش میتواند دوباره اولویت بگیرد. همین است که به VPN کاری اجازه میدهد پسوند خودش را حفظ کند، در حالی که ناحیه آزمایشگاه شما جای دیگری میرود. هیچ چیزی در این ترتیب جهانی نیست، و همین نکته ارزش یادآوری دارد.
بگذارید /etc/resolv.conf تنها بماند. macOS خودش آن فایل را مینویسد، و هرگز تصویر کامل حل مخصوص دامنه را در خود نداشت. پیکربندی میتواند از پایگاه داده پیکربندی سیستم نیز بیاید نه از فایلهای این پوشه، و به همین دلیل یک نمایه مدیریتی میتواند چیزی را که نوشتهاید نادیده بگیرد.
سه چیزی که فایل نمیتواند فراهم کند
سرور باید در دسترس باشد. اگر VPN شبکه محلی را مسدود کند، یا مسیری شرکتی بازه آدرس سرور را بگیرد، یک فایل پسوند کاملاً درست هم باز نمیتواند پرسشی را برساند. این را به مالک شبکه ببرید، نه اینکه خودتان استثناهای محلی را گسترش دهید.
ناحیه باید پاسخ درست را داشته باشد، و این بهتر است با یک نام کاملاً واجد شرایط مانند آزمایش شود printer.lab.example.org. یک نام کوتاه میتواند رفتار دامنه جستوجو را فعال کند و در نهایت پرسش متفاوتی از آنچه در نظر داشتید بپرسد.
در پایان، برنامه باید بتواند از پاسخ استفاده کند. حل نام یک چاپگر دسترسی به آدرس آن را نمیدهد، و سرویس پشت آن را باز نمیکند. آدرس بازگشتی هنوز به مسیری مجاز و سیاست دسترسیای نیاز دارد که اتصال را بپذیرد. فایل resolver جای جستوجوی نام را تغییر میدهد؛ مسیری برای نتیجه رزرو نمیکند.
انتخاب را بررسی کنید، نه اینکه DNS را جایگزین کنید
بررسی کنید macOS در همین لحظه واقعاً از چه چیزی استفاده میکند، و نام کاملاً واجد شرایط را از درون خود برنامه یا از ابزاری که مانند برنامهها حل میکند بپرسید. یک پرسوجوی مستقیم به 192.168.55.1 ثابت میکند سرور پاسخ میدهد؛ ثابت نمیکند macOS آن سرور را برای جستوجوهای معمولی انتخاب کرده است. اینها واقعیتهای متفاوتی هستند، و تنها دومی توصیف میکند مرورگر شما چه چیزی را تجربه خواهد کرد.
اگر resolver دیگری از قبل همان پسوند را ادعا میکند، پیش از افزودن نشانههای اولویت بفهمید مالک آن کیست. تنظیم search_order مستندشده مشتریانی را که یک دامنه را شریکاند مرتب میکند؛ این کلید ترجیح جهانی نیست که resolver عمومی را در هر پرسوجو برنده کند.
تأیید کنید که نام شرکتها با اتصال VPN همچنان حل میشود، سپس فایل و هدفش را در یادداشتهای محلی خود ثبت کنید. وقتی این ترتیب کنار گذاشته شد، فقط همان فایل را حذف کنید و هر دو فضای نام را دوباره بررسی کنید، نه اینکه همه تنظیمات DNS شبکه را بازنشانی کنید.