هل يعمل الإنترنت فقط عند تشغيل تطبيق VPN؟ افحص أربع طبقات
على Windows، يترك تطبيق VPN خلفه وكيلًا ومحولًا افتراضيًا ومسارات وDNS. افحص الطبقات الأربع بالترتيب، مع أوامر Linux وmacOS لكل منها.
تجرّب عميل VPN مجاني أو إضافة متصفح لأسبوع، ثم تطفئه، فيتوقف الإنترنت. تظل أيقونة Wi-Fi تُظهر اتصالًا، والأجهزة الأخرى على الموجّه نفسه تعمل، والشيء الوحيد الذي يعيد التصفح هو تمكين التطبيق من جديد أو إلغاء تثبيته. هذا النمط ليس تشفيرًا يخلق تبعية. إنه إعداد كتبه التطبيق في مكان لا يملكه النفق.
العميل يعدّل إعدادات لا يملكها النفق
عميل الخصوصية على Windows أو macOS يمسّ عادة ثلاثة أماكن في وقت واحد. يضبط وكيل HTTP في النظام، وهو الحقل نفسه الذي يعرضه Internet Options. ويثبّت محولًا افتراضيًا، غالبًا برنامج TAP، ليتمكن من التقاط الحزم. ويعيد كتابة قائمة الموزّعات، بينما يختفي النفق وحده عند الضغط على قطع الاتصال.
إضافة المتصفح شيء أضيق. عادةً تغيّر ملفها الشخصي أو الوكيل الذي يتبعه متصفح واحد. لهذا قد يفشل متصفح واحد بينما تظل أدوات سطر الأوامر تعمل، أو العكس: لم تكن للإضافة سلطة على الطبقات الأخرى. أي طبقة عدّلتها هي ما يحدد أي الأدوات تنكسر.
في الحالتين، القرار القديم اتخذته برمجية لم يكن لديها سبب للتراجع عنه. كان النفق الجزء الظاهر، وكان أيضًا الجزء الوحيد له مسار إيقاف نظيف. كل ما تبقى هو إعداد في مخزن يعيش أطول من العملية، لذا فإن إزالة التطبيق هي الخطوة الوحيدة التي تعكس الثلاثة دفعة واحدة. قراءة تلك المخازن قبل إعادة تثبيت أي شيء هي ما يحوّل العرَض إلى تشخيص.
ثلاث بقايا، ثلاثة أعطال مختلفة
البقية الأولى وكيل يشير إلى لا شيء: مربع وكيل الشبكة المحلية ما زال مؤشرًا، أو رابط برنامج نصي للإعدادات موجّه إلى منفذ localhost لا يستمع إليه أي عملية الآن. يمرّر المتصفح كل طلب إلى ذلك المنفذ الميت ويتوقف حتى يبدو انتهاء المهلة كشبكة ميتة. الثانية محول ما زال يملك مسارًا افتراضيًا، لأن جهاز TAP-Windows أو برنامج توجيه من مورّد يبقى واجهة حقيقية بعد إلغاء التثبيت. يحتفظ بالمسار الذي أُعطي له، ويختفي المرور في نفق غير موجود. لا تُعلن أي من البقيتين عن نفسها؛ كلتاهما تبدوان تمامًا كانقطاع.
الثالثة هي DNS، وهي تفشل أبكر من الاثنتين. إذا كانت قائمة الموزّعات تحتوي فقط على خوادم يمكن الوصول إليها عبر النفق، ينتهي كل استعلام قبل طلب صفحة واحدة، فيبلّغ المتصفح عن موقع لا يمكن الوصول إليه بدلًا من وكيل ميت. أيًّا كان ما لديك، لا شيء منها انقطاع بمعنى الشبكة. كل واحدة بقية لم يلغها أحد، وكل واحدة تُصلح في مكان مختلف.
انزل عبر الطبقات الأربع
ابدأ من الأقرب إلى التطبيق وانزل، لأن الطبقات تفشل بذلك الترتيب من الظهور. غيّر طبقة واحدة في كل اختبار، وأعد الاختبار بعد كل واحدة. إعادة ضبط كل شيء دفعة واحدة تعيد التصفح عادةً، وتتركك غير قادر على القول أي بقية سبّبت ذلك، لذا تعيد التثبيتات التالية إنشاء اللغز نفسه. الترتيب هو الوكيل، ثم المحولات، ثم المسارات، ثم الموزّعات.
على Windows كل فحص أمر واحد يأتي مع نظام التشغيل، لذا لا شيء يحتاج تثبيتًا. شغّلها بالترتيب واحتفظ بالمخرجات معًا، لأن الإجابات الأربع لا معنى لها إلا جنبًا إلى جنب. وهي تُبلغ عن الوكيل والمحولات ومسارات IPv4 وقائمة الموزّعات، بهذا الترتيب:
netsh winhttp show proxy
Get-NetAdapter
route print -4
Get-DnsClientServerAddress
يحتاج Linux وmacOS أوامرهما الخاصة، وهي غير قابلة للتبادل. على Linux تأتي المسارات من ip route والموزّع من resolvectl status حيث يملكه systemd-resolved، مع الرجوع إلى cat /etc/resolv.conf. على macOS تأتي المسارات من netstat -rn، والموزّعات من scutil --dns، ووكيل النظام من scutil --proxy. قارئ macOS الذي يشغّل ip route يحصل على command not found، و/etc/resolv.conf هناك أثر مولّد لا الإعداد المرجعي. افحص المنصة قبل أن تفحص الطبقة، وإلا صار الأمر الأول هو النتيجة.
اسأل عن كل طبقة سؤالًا واحدًا: هل ما زالت هذه القيمة تشير إلى شيء موجود بينما التطبيق مغلق؟ وكيل على منفذ ميت، ومحول بلا نفق، ومسار افتراضي عبر واجهة معطّلة، وموزّع داخل النفق كلها تجيب بلا. أي «لا» واحدة تكفي لتفسير العرَض، ولهذا يهم تغيير واحد لكل اختبار.
الوكيل ليس نفقًا
الوكيل يقبل الطلب ويجلبه من مكان آخر ويعيد الاستجابة، أي أنه يعرف الوجهة ويرى كل ما لم يشفّره الموقع بنفسه. لا يحمل بروتوكولات أخرى. لا يحمي المسار إلا إذا كانت الوجهة تستخدم TLS أصلًا. ويمكن لمن ثبّته أن يغيّره دون مشاركتك.
هذا التمييز يغيّر السؤال الذي يستحق الطرح. عندما يبقى وكيل وراءك، اكتشف أي برنامج ما زال يوجّه متصفحك بدلًا من السؤال هل النفق يعمل. قد يكون النفق سليمًا تمامًا وغير ذي صلة بالعطل كليًا.
إذا أردت معرفة ما فعله هذا العميل فعلًا، راقبه بدلًا من قراءة لوحته. يسجّل Process Monitor مفاتيح التسجيل والملفات التي يمسّها، بينما يكشف التقاط الحزم أين ذهب مروره. كلاهما أدوات عادية، وكلاهما يجيب عن سؤال البقايا أفضل من أي ضوء حالة. ولا يحتاج أي منهما إلى تشغيل التطبيق.
أزل المكوّن، لا الأدلة
الإصلاح الدائم هو إزالة الشيء الذي كتب الإعداد. ألغِ تثبيت التطبيق، واحذف المحول الافتراضي الذي أضافه، وامسح الوكيل وقائمة الموزّعات، ثم أعد التشغيل واختبر بينما التطبيق ما زال غير مثبّت. إذا عمل التصفح عند تلك النقطة فقد وجدت السبب لا حلًا بديلًا. دوّن أي طبقة كانت قديمة، لأن المورّد نفسه يميل إلى تكرار الخطأ ذاته مرتين.
إذا عاد العرَض بعد تثبيت العميل التالي، فامشِ الطبقات الأربع مرة أخرى قبل أن تقرر أن الخدمة كسرت شيئًا. الأدلة عادةً ما زالت هناك، في أحد الأماكن الأربعة. التطبيق الثاني لا ينشئ طبقة خامسة؛ بل يعدّل واحدة من الأربع.
إعادة التثبيت تعيد ضبط الوكيل لكنها لا تعيد ضبط محول قديم، وقد تترك موزّعين في القائمة. هذا التفاوت هو سبب تفوّق إلغاء التثبيت ثم الاختبار على زر إعادة ضبط كل شيء. ويمنحك أيضًا خط أساس للمقارنة في المرة التالية التي ينقطع فيها الاتصال.