DNS عبر VPN مقابل DoH في المتصفح: ما لا يستطيع اختبار التسريب إخبارك به
لا يُظهر عنوان اختبار التسريب سوى أي مُحلِّل أجاب. الاستعلامات المشفّرة وDNS المنقسم وسياسة المتصفح هي ما يحدد ما إذا كانت الأسماء الخاصة لا تزال تُحلّ أصلًا.
تقول صفحة اختبار التسريب إن DNS لديك سليم، وتقول شارة المتصفح إنه آمن، لكن الويكي الداخلي لا يزال لا يُحمَّل. يمكن أن تكون الثلاثة صحيحة في الوقت نفسه، لأن عنوان المُحلِّل ليس الشيء نفسه الذي تساويه السياسة التي اختارته أو المسار الذي سلكه الاستعلام. ما يسميه الناس تسريب DNS هو في الحقيقة سؤال واحد: أي مُحلِّل تلقّى الاسم، وهل كان ذلك الاختيار مقصودًا؟ يتطلب فرز ذلك ثلاثة فحوص، والفحص الأخير وحده هو الذي يتضمن تغيير إعداد.
الخرافة الأولى: الشارة تسمّي المُحلِّل الخاص بك
يحلّ اختبار التسريب اسمًا تجريبيًا ويُبلِغ عن العنوان الذي أجاب. ولا يُبلِغ عن السياسة التي اختارت ذلك المُحلِّل، وعندما يُلفّ الاستعلام في DNS عبر HTTPS فلا يمكن لصندوق وسيط على المسار رؤية الاسم إطلاقًا. جهازان مختلفان تمامًا ينتجان الشارة المطمئنة نفسها: جهاز دفع فيه الـVPN 10.8.0.1 ويستخدمه المتصفح، وجهاز تجاهل فيه المتصفح قائمة النظام وأرسل الاسم إلى مزوّده المشفّر الخاص عبر النفق.
يظهر الفرق في اللحظة التي يفشل فيها اسم خاص. في الإعداد الأول يجيب مُحلِّل الـVPN عن النطاق المؤسسي؛ وفي الثاني لم يسأله المتصفح قط، لذا لا يُحلّ اسم المضيف القصير ويبدو الفشل كأن الـVPN معطّل. الفحص ليس اختبار تسريب آخر، بل استعلام عن اسم يعرفه مُحلِّل واحد فقط.
الخرافة الثانية: المتصفح يغادر النفق
يختار DNS عنوانًا، ويحمل التوجيه الاتصال، وهما طبقتان منفصلتان. الاستعلام المُرسل إلى مزوّد DoH عام هو لا يزال TCP المنفذ 443 إلى عنوان قابل للتوجيه. إذا كان جدول التوجيه لديك يرسل المسار الافتراضي إلى النفق، فإن ذلك الاستعلام يمرّ عبر النفق أيضًا. لا تحدد علامة المُحلِّل المسار.
ما يغيّره DoH في المتصفح هو متلقّي الأسماء. ذلك قرار خصوصية حقيقي وقرار سياسة حقيقي، لكنه ليس تجاوزًا للتوجيه. إذا كان مطلبك أن تبقى الأسماء مع مشغّل الـVPN، فإن استعلامًا مشفّرًا إلى شخص آخر يفشل في ذلك المطلب بينما لا يزال يستخدم النفق للاتصال الفعلي.
الخرافة الثالثة: كل VPN يتجاوز كل متصفح
لـDNS الآمن في المتصفح أوضاع، وليس مفتاحًا: إيقاف، أو مزوّد افتراضي مع احتياطي، أو قالب مخصص، أو سياسة يفرضها نظام التشغيل أو المؤسسة. حالة الاحتياطي هي التي تنتج تقارير متقطعة. عندما تكون نقطة النهاية المشفّرة غير قابلة للوصول، قد يعود المتصفح إلى مُحلِّل النظام، لذا يحلّ الحاسوب المحمول نفسه اسمًا خاصًا بشكل صحيح يوم الاثنين ولا يحلّه يوم الثلاثاء.
في الوقت نفسه، تضبط معظم عملاء الـVPN مُحلِّل النظام عند ظهور الاتصال وتستعيد المُحلِّل السابق عند انقطاعه. أما المتصفح الذي يحتفظ بمُحلِّل مشفّر مخصص فلا يلاحظ تلك الاستعادة إطلاقًا. لهذا يتصرف الملف الشخصي نفسه بشكل مختلف على حاسوبين محمولين، ولهذا يبدو resolv.conf صحيحًا بينما لا يزال المتصفح يسأل شخصًا آخر.
resolvectl status # per-link DNS servers and split-DNS domains
scutil --dns | head -30 # macOS resolver order for each domain
nslookup intranet.corp 10.8.0.1 # ask the VPN resolver directlyنفّذ تلك الأوامر أثناء الاتصال، ولاحظ النطاقات التي يطالب بها كل مُحلِّل، وقارنها بما يبلغ عنه المتصفح حول وضعه. توثيق DoH من Mozilla وصف معقول لكيفية عمل السلوك الافتراضي والاحتياطي للمتصفح.
القرار له ثلاثة مدخلات، لا مدخل واحد
الأسماء الخاصة وثقة المشغّل وإمكانية الوصول تحدد الترتيب الصحيح. الأسماء التي يعرفها مُحلِّل الـVPN فقط تفرض DNS منقسمًا: اللاحقة الخاصة تذهب إلى المُحلِّل المدفوع، وكل شيء آخر يتبع السياسة التي اخترتها للأسماء العامة. ثقة المشغّل تحدد ما إذا كان ينبغي أن تذهب الأسماء العامة أيضًا إلى ذلك المُحلِّل أو إلى خدمة منفصلة. إمكانية الوصول تحدد ما إذا كان المُحلِّل المشفّر الذي اخترته صالحًا للاستخدام على هذه الشبكة أصلًا.
| Condition | What it forces |
|---|---|
| Internal names must resolve | Split DNS: private suffixes to the VPN resolver, the rest to your chosen default |
| Queries must stay with one operator | Pin both the system resolver and the browser mode, and disable fallback |
| Resolver only reachable through the tunnel | Keep the pushed resolver; do not point DoH at an endpoint your routes exclude |
لا يوجد في أي من هذه الصفوف توصية عالمية. المُحلِّل الذي يشغّله الـVPN يركّز الملاحظات عند ذلك المشغّل؛ والخدمة المنفصلة تضيف متلقيًا آخر لأسماء الاستعلامات. لا يثبت أي من الترتيبين شيئًا عن الاحتفاظ ما لم تقرأ السياسة.
اكتب القرار لكل ملف شخصي، لأن هذه الإعدادات تنحرف. الملف الذي دفع مُحلِّلًا الشهر الماضي قد لا يدفع شيئًا اليوم، وسيُبقي المتصفح عن طيب خاطر نقطة نهاية مخصصة قديمة لا تزال تجيب. ما يجب أن يكون في الملاحظة هو عنوان المُحلِّل واللواحق التي يملكها ووضع المتصفح، لا علامة الخدمة.
اختبر السياسة التي تظن أنك أعددتها
اختبر بالاسم، لا بالشارة. حلّ اسمًا عامًا واسمًا خاصًا عبر مُحلِّل النظام، ثم كرّر ذلك داخل المتصفح بإعداد DNS الآمن الخاص به على الوضع الذي تنوي استخدامه. إذا فشل الاسم الخاص داخل المتصفح فقط، فقد وجدت عدم تطابق المتلقي دون لمس أي إعداد من إعدادات الـVPN.
ثم أعد الاتصال وتحقق من الاستعادة، لأن أخطاء التسليم تعيش هناك: افصل الاتصال، وتأكد من عودة المُحلِّل السابق، وأعد الاتصال، وتأكد من عودة المُحلِّل المدفوع. أخيرًا، اختبر متصفحًا بسياسة مُدارة إن كان لديك واحد، لأن ذلك الوضع قد يرفض تغييرك كليًا ويحتفظ بهدوء بالمُحلِّل السابق.
ابدأ بسؤال النطاق وستتجنب معظم هذا. إذا كان على الجهاز الوصول إلى أسماء داخلية، فإن المُحلِّل المشفّر في المتصفح قرار يخص النصف العام فقط، ويبقى النصف الخاص مع ما دفعه الـVPN.