VPN داخل Tor ثم Tor داخل VPN: لماذا تنكسر السلسلة
عندما تُركَّب VPN وTor ووكيل تطبيق فوق بعضها، يحدد الترتيب ما يُحلّ وما يُنقل. اعثر على أول حد مكسور قبل أن تغيّر الثلاثة معًا.
تركيب VPN وTor ووكيل تطبيق فوق بعضها يبدو كأنه مضاعفة للخصوصية، وهو في الحقيقة يضاعف عدد الأماكن التي يمكن أن تموت فيها الاتصالات. النتيجة المعتادة متصفح يدور بينما تعلن كل أداة من الأدوات الثلاث أنها سليمة. وتغيير الإعدادات الثلاثة دفعة واحدة يزيل الدليل الوحيد الذي كان لديك على أيها يكذب.
ارسم المسار المقصود أولًا بالترتيب، وسمِّ البرنامج الذي يفتح كل اتصال والاسم الذي يُحلّ في كل خطوة.
الطبقات لا تُضاف بل تتفاعل
وجود VPN قبل Tor يعني أن اتصال الدخول لدى عميل Tor يسير داخل النفق. أما حمل VPN عبر Tor فيعني أن نقطة نهاية عميل VPN نفسها يجب أن تكون قابلة للوصول عبر Tor، وهذا مطلب مختلف تمامًا. ويضيف وكيل المتصفح قفزة أخرى لا يعرف نظام التشغيل عنها شيئًا. ثلاثة ترتيبات، وثلاث قوائم اعتماد منفصلة.
كل ترتيب يغيّر ما يمكن حله وما يمكن نقله ومن يرى أول حزمة. وواحد فقط منها يمكن أن يكون التهيئة التي قصدتها.
أضف المسار المباشر إلى المخطط أيضًا. فقد يجعل مسار احتياطي أو استثناء نفق منقسم أو تجاوز للوكيل الصفحة تُحمّل بينما تتجاوز بهدوء السلسلة التي أردت اختبارها، وهذا النجاح أكثر تضليلًا من الفشل.
الترتيب يحدد ما يمكن نقله
ينقل Tor تدفقات TCP عبر واجهة SOCKS، والعميل الذي يطلب من الوكيل حل اسم المضيف يُبقي الاستعلام داخل الدائرة. ولا ينتقل UDP بهذه الطريقة في التهيئات العادية، ولهذا لا يمكن تداخل نفق WireGuard داخل Tor دون مرحّل TCP إضافي في المنتصف.
OpenVPN يمكن إجباره على TCP، لذا هذا الترتيب قابل للوصف على الأقل. وهو أيضًا أبطأ وأكثر هشاشة، وشكل الفشل عند انكساره يبدو مطابقًا لمنفذ محجوب. توقع أن تقضي وقتًا أطول في التمييز بين الحالتين من إصلاح أي منهما.
الحل هو النصف الآخر. مع --socks5-hostname يحل الوكيل الوجهة، أما --socks5 العادي فيسأل المحلل المحلي أولًا ويسرّب الاسم خارج الدائرة. هذا العلم الواحد يحدد ما إذا كان استعلام الاسم ينتمي إلى السلسلة أم إلى مزود خدمة الإنترنت لديك.
| Order | What must resolve the endpoint | What usually breaks |
|---|---|---|
| VPN, then Tor | The tunnel's resolver | Entry guards blocked by the VPN provider's filters |
| Tor, then VPN | The SOCKS proxy, remotely | UDP transports, which Tor does not carry |
| App proxy on top | The application itself | Proxy bypass rules and cached connections |
تحديد أول حد مكسور
اختبر المراحل بالترتيب الذي تسلكه الحزم، بطلبات غير ضارة، وتوقف عند أول مرحلة تفشل. سجّل أي أمر نُفّذ أولًا، لأن الترتيب جزء من الدليل. أمران يفصلان دائرة ميتة عن مخرج ميت:
curl -s --socks5-hostname 127.0.0.1:9050 https://check.torproject.org/api/ip curl -4 -s https://api.ipify.org; echo
الأول يبيّن ما إذا كان الطلب يكتمل عبر وكيل SOCKS أصلًا، والثاني يعرض العنوان الذي تقدمه الشبكة حاليًا. إذا فشل الأول ونجح الثاني فالمشكلة عند عميل Tor أو قبله. وإذا نجح الاثنان وظل المتصفح يفشل، فالتطبيق يسلك مسارًا مختلفًا عن الصدفة.
صفحة عنوان IP العام تصف المخرج المرئي الأخير فقط. ولا تستطيع أن تخبرك بعدد القفزات التي سبقته، لذا اقرنها بمخرجات الحالة المدعومة لكل أداة بدلًا من اعتبار رقم واحد مخططًا.
متى تتوقف عن إضافة الطبقات
إن لم تستطع أن تقول في جملة واحدة ما تضيفه طبقة ما، فأزلها. السلسلة التي غرضها غير واضح سلسلة لا يستطيع أحد تنقيحها في الثالثة فجرًا، ومكسب الخصوصية من قفزة غير مفسّرة عادة أصغر من الإتاحة التي تخسرها.
وإن كانت طبقة تستحق مكانها، فاختبرها وحدها أولًا، ثم أضف التالية وأكّد المسار مرة أخرى بالأمرين نفسيهما. أعد السلسلة الكاملة قبل الاستخدام العادي، وأبقِ التحقق من TLS والمصادقة مفعّلين؛ فتحذير شهادة يُقبل لجعل صفحة تُحمّل هو التفاف على التوجيه، لا إصلاح. سجّل الترتيب الذي استقررت عليه وهو طازج.
اكتب ذلك الترتيب، بما في ذلك المحلل الذي يجيب في كل مرحلة. السلسلة العاملة التي تستطيع وصفها تصمد أمام التحديث التالي، أما السلسلة العاملة التي جمعتها بالتجربة فتزول معه. أضف التاريخ والإصدارات، حتى يمكن مقارنة فشل لاحق بحالة معروفة الجودة بدل الجدال من الذاكرة. عشرة أسطر في ملف نصي توفر مساءً من التخمين.