آپ ریزالور پتہ اور کمپنی ڈومین کے ساتھ ایک لائن لکھتے ہیں، اور توقع کرتے ہیں کہ صرف اسی ڈومین کے نام ٹنل ریزالور استعمال کریں گے۔ Apple کلائنٹ پر اب تمام نام وہاں جاتے ہیں، اور ڈومین کے مختصر نام بھی حل ہوتے ہیں۔ لائن دو الگ کام کرتی ہے، اور ان میں سے صرف ایک اس بارے میں ہے کہ ٹنل کون سے استفسارات سنبھالتا ہے۔ دوسرا ٹائپنگ کی سہولت ہے، جسے خواہش بھری قرأت نے پالیسی تک پہنچا دیا۔

DNS لائن کن چیزوں میں تجزیہ ہوتی ہے

کلائنٹ اندراج کو فہرست کے طور پر پڑھتا ہے اور ہر آئٹم کو اس کی شکل کے مطابق درجہ بندی کرتا ہے۔ پتہ جیسی نظر آنے والی ہر چیز DNS سرور بن جاتی ہے؛ ڈومین جیسی نظر آنے والی ہر چیز تلاش لاحقہ بن جاتی ہے۔ دونوں ٹنل کی ترتیبات میں پہنچتے ہیں، لیکن الگ الگ فیلڈ میں۔ نجی ریزالور اور ایک داخلی ڈومین رکھنے والی ٹنل کے لیے مثال لائن ایسی دکھتی ہے۔

DNS = 10.24.8.53, lab.internal.example

پتہ ریزالور فراہم کرتا ہے۔ ڈومین ایک لاحقہ فراہم کرتا ہے جو کلائنٹ کو مختصر نام ٹائپ کرنے دیتا ہے اور سسٹم کو پوچھنے سے پہلے باقی شامل کرنے دیتا ہے۔ دونوں میں سے کوئی بھی ریزالور کو اس ڈومین تک محدود کرنے کے بارے میں کچھ نہیں کہتا، اور لوگ یہی حصہ توقع کرتے ہیں مگر پاتے نہیں۔ پلیٹ فارم پر صرف ایک فیلڈ اس پابندی کا اظہار کر سکتی ہے، اور وہ یہ فیلڈ نہیں ہے۔

Apple کی دو فیلڈز، دو مختلف کام

Apple اپنی DNS ترتیبات کے آبجیکٹ میں یہ فرق ظاہر کرتا ہے۔ تلاش ڈومینز کی فہرست کو ایک لیبل والے ہوسٹ ناموں کو اہل بنانے کے لیے استعمال ہونے والی فہرست کے طور پر دستاویز کیا گیا ہے: خالی ہوسٹ نام ٹائپ کریں اور سسٹم باری باری ہر لاحقہ شامل کر سکتا ہے۔ یہ تکمیل کا قاعدہ ہے، روٹنگ کا قاعدہ نہیں۔ اس فہرست میں کچھ بھی یہ طے نہیں کرتا کہ کس سرور سے پوچھا جائے گا۔

مطابقت ڈومینز کی فہرست ایک مختلف خصوصیت ہے۔ یہ طے کرتی ہے کہ کون سی نام کی جگہیں یہ DNS ترتیبات استعمال کرتی ہیں، اور خالی اندراج کا مطلب ڈیفالٹ ڈومین ہے، کوئی مخصوص لاحقہ نہیں۔ پیکٹ ٹنل ترتیبات کا جنریٹر Apple کلائنٹ میں اس ماڈل کی پیروی کرتا ہے۔ یہ تجزیہ شدہ تلاش لاحقوں کو تلاش فہرست میں رکھتا ہے، اور سرور موجود ہوں تو مطابقت فہرست کو خالی سٹرنگ پر سیٹ کرتا ہے۔ نتیجہ ایک ٹنل ریزالور ہے جو سسٹم جو بھی اسے بھیجتا ہے اس کا جواب دیتا ہے، اور ایک لاحقہ جو مختصر ناموں میں مدد کرتا ہے۔

لہٰذا اس لائن پر ڈومین نام کی جگہ کا انتخاب کنندہ نہیں ہے۔ ایک اور شامل کرنا یہ محدود نہیں کرتا کہ ٹنل کون سے استفسارات استعمال کرتا ہے، اور اسے ہٹانا بھی انہیں وسیع نہیں کرتا۔ صرف ایک چیز بدلتی ہے: کتنے مختصر نام مکمل ہوتے ہیں۔

کیوں ہر نام اب بھی ٹنل ریزالور تک پہنچتا ہے

خالی مطابقت اندراج کے ساتھ، ٹنل عام ناموں کے لیے امیدوار ریزالور ہے، صرف کمپنی ڈومین کے لیے نہیں۔ مکمل ٹنل ترتیب میں یہ عام طور پر زیادہ اہم نہیں ہوتا، کیونکہ تمام ٹریفک بہرحال ٹنل میں ہے۔ منقسم ٹنل میں یہ بہت اہم ہے۔ عوامی نام اب ایسے ریزالور سے حل ہو سکتے ہیں جو صرف نجی زون رکھتا ہے، اور ناکامی ٹوٹے VPN جیسی دکھتی ہے جبکہ درحقیقت یہ ایسا ریزالور ہے جو نام کی جگہ کے صرف ایک حصے کا جواب دیتا ہے۔ ٹنل ٹھیک ہے، استفسارات باہر جاتے ہیں، اور جواب خالی لوٹتے ہیں۔

دو اصلاحات دستیاب ہیں اور وہ مختلف فیصلے ہیں۔ ٹنل ریزالور کو مکمل ریزالور بنائیں جو عوامی نام منظور شدہ راستے سے آگے بھیجے، یا ڈومین فہرست کی بجائے کلائنٹ ترتیب بدل کر عوامی نام وہاں بھیجنا بند کریں۔ پہلا ہر استفسار کو ٹنل پر رکھتا ہے اور بالائی بہاؤ پر بھروسہ کرتا ہے۔ دوسرا کچھ استفسارات مقامی رکھتا ہے اور قبول کرتا ہے کہ ٹنل بند ہونے پر نجی نام حل ہونا بند ہو سکتا ہے۔

منقسم DNS کو درحقیقت کیا درکار ہوگا

نام کی جگہ تک محدود ریزالور پالیسی کے لیے ایسا کلائنٹ چاہیے جو آپ کو اس کا اظہار کرنے دے: Apple پلیٹ فارمز پر ڈومینز ملائیں، یا آپ جو مصنوعات استعمال کرتے ہیں اس میں مساوی ترتیب۔ صرف سرور اور لاحقے قبول کرنے والی ترتیب فیلڈ اس کا اظہار نہیں کر سکتی، چاہے اسے کیسے بھی اوقاف دیے جائیں۔ پروفائل یہ پالیسی اٹھا سکتا ہے کیونکہ یہ منظم ترتیب بیان کرتا ہے، نہ کہ کنکشن کے وقت کا اشارہ۔ یہ ڈومین، سرورز اور یہ بتا سکتا ہے کہ جب وہ ڈومین ناقابل رسائی ہو تو کیا ہونا چاہیے۔ ترتیب اور معاہدے کے درمیان یہی فرق ہے۔

منظم Apple آلات پر یہ عام طور پر ایسی ترتیب پروفائل کے ذریعے دیا جاتا ہے جو ڈومین کے مخصوص DNS ترتیبات رکھتی ہے۔ یہ WireGuard ترتیب فائل سے مختلف طریقہ ہے، اور دونوں اکٹھے تبھی رہ سکتے ہیں جب کلائنٹ پروفائل کا احترام کرے۔ یہ فرض کرنے سے پہلے کہ دونوں مصنوعات ایک جیسا برتاؤ کرتی ہیں، دیکھیں کہ آپ کا کلائنٹ اس فیلڈ کو درحقیقت کیا کہتا ہے۔ Mac پر wg-quick سکرپٹ اور iPhone پر WireGuard ایپ ملتی جلتی لائنیں پڑھتی ہیں اور انہیں مختلف تہوں کے ذریعے انسٹال کرتی ہیں۔

انسٹال شدہ ترتیبات پڑھیں، ترتیب نہیں

Mac پر آپ دیکھ سکتے ہیں کہ سسٹم آخرکار کہاں پہنچا، جو آپ کی لکھی فائل دوبارہ پڑھنے سے زیادہ معلومات دیتا ہے۔ ریزالورز کی فہرست دکھاتی ہے کہ کون سے سرور کون سے ڈومینز کے لیے ترتیب دیے گئے ہیں، اور دائرہ بند استفسارات دکھاتے ہیں کہ کون جیتا۔ لائن کو خراب کرنے والا کلائنٹ یہ آپ کی لکھی فائل میں نہیں، یہاں دکھاتا ہے۔ iOS پر مساوی کمانڈ لائن نہیں ہے، اس لیے وہاں ثبوت ایک نتیجہ ہے: ٹنل کے ذریعے حل ہونے والا نجی نام، اور ایسا عوامی نام جس کا جواب بتاتا ہے کہ کس ریزالور نے جواب دیا۔

scutil --dns | grep -A3 resolver
networksetup -getdnsservers Wi-Fi

یہ دو کمانڈز موجودہ ریزالور ترتیب اور فعال سروس کے DNS سرورز پرنٹ کرتی ہیں۔ اگر ٹنل ریزالور بغیر ڈومین پابندی کے ڈیفالٹ ریزالور کے طور پر ظاہر ہو، تو ترتیب بالکل وہی کر رہی ہے جو کلائنٹ نے مانگا تھا۔ اسے طریقہ کار بدل کر درست کریں، دوسرا لاحقہ شامل کر کے اور برتاؤ بدلنے کی امید کر کے نہیں۔

متعلقہ مضامین