تختار بلدًا وتتصل، ثم يحيّيك موقع ويب في بلد آخر. لم يَعِد الحقل الموجود في القائمة بأي شيء عن العنوان الذي ستخرج منه: إنه حقل نشره أحدهم، مستخرج بطريقة لم ترها. التعامل مع ذلك الحقل كعنوان هو حيث يبدأ الالتباس.

ثلاثة أشياء منفصلة تحمل قيمة بلد، ويمكنها أن تختلف من دون أن يكذب أحد. التمييز بينها يجعل عدم التطابق قابلًا للتشخيص بدل أن يبقى غامضًا.

ثلاثة أشياء مختلفة تحمل تصنيف بلد

الأول هو حقل الدليل نفسه، وقد يكون مُبلَّغًا به من المشغّل، أو مستنتجًا من قاعدة بيانات عناوين، أو منسوخًا ببساطة عند إنشاء الإدخال. والثاني هو العنوان نفسه، وهو ينتمي إلى الشبكة التي تعلنه أيًّا كانت، وهذا ما يجيب عنه استعلام تحديد الموقع الجغرافي باستخدام بيانات خرائط منشورة بالصيغة الموصوفة في RFC 8805. والثالث هو ما يقرر التطبيق عرضه، وقد يأتي من قاعدة بيانات أخرى أو من إعداد حساب أو من إذن منحته على الجهاز. الثاني وحده حقيقة شبكية، وحتى هذا استعلام لا مشاهدة.

الاتساق بين هذه الثلاثة سيكون لطيفًا ولا يُشترط في أي مكان. عدم التطابق دليل على أنها استخرجت بطرق مختلفة، لا أكثر.

افحص العنوان لا العلم

السؤال المفيد هو من أي عنوان عام يخرج مرورك فعليًا. يمكن الإجابة عن ذلك من العميل، ولا يعتمد على أي حقل في القائمة. قارن الإجابة بالبادئة التي توقعتَها وبما يقوله استعلام تحديد الموقع عنها، واحفظ النتيجتين منفصلتين في ملاحظاتك. الفجوة بين البلد المتوقع والاستعلام مسألة توجيه أو قاعدة بيانات، أما الفجوة بين الاستعلام ورأي التطبيق فهي مسألة قاعدة بيانات مرة أخرى.

أجرِ الفحص مرتين إذا كانت الخدمة تملك عدة مخارج في المنطقة. قد يوزّع المجمّع عناوين مختلفة على اتصالات متتالية، والعينة الواحدة تصف واحدًا منها.

القرب على الخريطة ليس قربًا على الشبكة

قد يكون بلد قريب مسارًا أطول من بلد بعيد، لأن مسار الألياف لا يتبع الحدود. اختيار عقدة لتقليل زمن الوصول يعني قياس الوجهة التي تهمك بدل اختيار أقرب علم. المنطق نفسه ينطبق على السعة، لأن مخرجًا خفيف الحمل على بعد بلدين قد يتفوق على مخرج مشبع في الجوار. قِس أولًا ثم قرّر، وسجّل الساعة لأن الرقمين يتغيران.

لا يقول الموقع أيضًا شيئًا عن الاحتفاظ ولا عن الجهة التي تشغّل النقطة الطرفية. تلك الأمور تحتاج أدلتها الخاصة، وهو ما لا يمكن لعمود البلد أن يحمله.

تأكد من عنوان الخروج بنفسك

اسأل العميل وخدمة خارجية عن شكل عنوانك، ثم اسأل جدول التوجيه المحلي كيف اختير ذلك المسار. الأوامر أدناه تفعل الثلاثة، والثالث هو ما يتخطاه الناس. استبدل اسم الواجهة بجهاز النفق الخاص بك.

curl -sS https://api.ipify.org; echo
curl -sS --interface tun0 https://api.ipify.org; echo
ip route get 1.1.1.1
ip -6 addr show dev tun0

ينبغي أن يتطابق السطران الأولان، وحين لا يتطابقان فالمسار الذي تظنه ليس المسار الذي يحمل مرورك. يذكر استعلام المسار الواجهة وعنوان المصدر الذي ستستخدمه النواة لوجهة ما، وهذا هو الآلية وراء عنوان الخروج. سطر IPv6 مهم لأن الجهاز قد يمسك نفقًا لعائلة واحدة ومسارًا مباشرًا للأخرى. لا يغطي تصنيف البلد أيًّا من تلك الحالات بحد ذاته.

اكتب العنوان المرصود ورأي قاعدة البيانات وعرض التطبيق كثلاث ملاحظات منفصلة. عندئذ يصبح عدم التطابق التالي الذي تصادفه سهل النسب.

مقالات ذات صلة