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

قراءتها كحالة واحدة هي ما يحول تشخيصًا يستغرق دقيقتين إلى ظهيرة كاملة من إعادة تشغيل الخدمات.

المصافحة حدث يخص النظير لا حدثًا يخص العنونة

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

ولهذا يمكن أن يُبلغ wg show عن مصافحة عمرها ثوانٍ على واجهة لا تستطيع استقبال حزمة واحدة من تطبيق.

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

ObservationWhich layer it belongs toWrong conclusion it invites
Handshake a few seconds oldPeer and keysThe tunnel is usable for application traffic
Address present on wg0Interface configurationTraffic actually egresses through it
Route points at wg0Forwarding tableThe outer packet uses the intended uplink

عنوان الواجهة له مالكه الخاص

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

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

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

المسار يختار الرابط الصاعد، والواجهة لا تختاره

المسار الداخلي الذي يشير إلى wg0 يقرر أن الحركة تدخل النفق. وقرار منفصل يرسل الحزم الخارجية المشفرة نحو النظير، وعلى مضيف له عدة روابط صاعدة يأتي ذلك القرار من جدول التمرير وقواعد السياسة. ويمكن لتجوال Wi-Fi أن يغير المسار الخارجي دون المساس بالعنوان الداخلي.

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

قارن الحالات الثلاث في تمريرة واحدة

ثلاثة أوامر للقراءة فقط تجيب عن الأسئلة الثلاثة بالترتيب الذي يعزل العطل بأسرع ما يمكن. شغّلها دون تغيير أي شيء بينها.

ip address show dev wg0
ip route get 10.80.0.1
wg show wg0 latest-handshakes transfer

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

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

صحّح الحالة المحددة الخاطئة، ثم أعد اختبار التطبيق لا النفق. فالمصافحة الحديثة دليل على النظير، والدليل على النظير ليس دليلًا على أن الطلب التالي من متصفحك سيجد عنوانًا ومسارًا ورابطًا صاعدًا عاملًا. ودليل wg-quick صريح بشأن أي من ذلك يهيّئه المساعد وأي منه يخص البروتوكول.

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