تطبع أدوات الفحص مفتوح أو مفلتر لمنفذ UDP، ويأتي الاستنتاج عادة في غضون ثوان: النفق معطل. قد يكون كذلك، لكن الفحص لم يثبت ذلك. لا يحمل UDP أي مصافحة اتصال، ولا يجيب WireGuard عن أي شيء لا يستطيع التحقق منه، لذلك الصمت هو الرد المتوقع لمعظم الاختبارات.

اعمل بدلاً من ذلك من العميل إلى الخارج، وتعامل مع الفحص كنقطة بيانات ضعيفة واحدة بين عدة نقاط.

ما يمكن للفاحص رؤيته وما لا يمكنه

يرسل فاحص UDP حمولة وينتظر. إذا عاد ICMP port-unreachable، فيمكنه الإبلاغ عن المنفذ بأنه مغلق. إذا لم يعد شيء، فالنتيجة غامضة بحكم التصميم: مسار مفلتر ومضيف غائب وخدمة قيد التشغيل تجاهلت الحمولة كلها تنتج الصمت نفسه. ثلاث حالات مختلفة، وسلسلة إخراج واحدة.

يزيد WireGuard هذا الغموض عن قصد. لا يقبل البروتوكول حزمة إلا عندما تتحقق من نفسها، لذلك تُهمل أي تجربة بمفاتيح خاطئة دون رد. لا يوجد لافتة ولا سلسلة إصدار ولا رسالة خطأ لأخذ بصمة.

اختبار TCP على رقم المنفذ نفسه لا يختبر شيئاً ذا صلة. إنه يشغل مستمعاً آخر قد لا يكون موجوداً، ورفضه لا يقول شيئاً عن UDP.

لذلك تصف الحالات المفتوحة المفلترة عدم يقين الفاحص بدقة أكبر مما تصف خادمك.

امشِ عبر العميل الحقيقي من الملف الشخصي إلى الداخل

ابدأ من رؤية العميل نفسه. هل تحمل الواجهة عنواناً، وهل تذكر الإعدادات نقطة النهاية الصحيحة، وهل يتحرك عداد المصافحات عند محاولة اتصال؟ العميل الذي لم يرسل حزمة قط والعميل الذي أُسقطت حزمه يبدوان متطابقين في نافذة الحالة. العدادات وحدها تميز بينهما، لذا اقرأ العدادات أولاً.

ثم راقب جانب الخادم أثناء حدوث محاولة مصرح بها واحدة، بدلاً من تشغيل فحص منفصل من موقع ثالث:

wg show wg0 latest-handshakes
tcpdump -n -i eth0 udp port 51820 -c 10

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

إذا لم يُظهر التسجيل شيئاً، فإن الحزمة لم تصل إلى المضيف قط وإعدادات النفق ليست المشتبه بها. وإذا أظهر حزماً واردة من العنوان المتوقع بينما تبقى المصافحة على الصفر، فالمفاتيح أو العناوين المسموح بها للنظير هي الموضع التالي الذي يجب النظر فيه.

اربط الأدلة على الخادم عندما تديره

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

العنوان مهم بقدر المنفذ. الخادم الذي يستمع على عنوان محدد لن يجيب حزمة تصل على عنوان آخر، وقد يستقبل مضيف متعدد الواجهات الاختبار على الواجهة التي لم تقصدها.

ابقِ كل اختبار داخل أنظمة مصرح لك باختبارها. المقارنة المفيدة هي بين محاولة عميل حقيقية واحدة والمسار المتوقع للخادم، وليس مسحاً أوسع لعناوين تنتمي بالمصادفة إلى المزود نفسه.

قراءة نتيجة الفحص بصدق

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

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

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

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