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

الاختبار هو حزمة مسموح بها نحو وجهة ينبغي أن يحملها النظير. وكل ما تبقّى في شاشة الحالة يصف النية لا النشاط.

الواجهة الخاملة ليس لديها ما تبلّغ به

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

إذا بقيت العدّادات عند الصفر على الجانبين، فالمشكلة أعلى من النفق. لم يصل شيء إلى الواجهة ليُطلق أي شيء.

أطلق مرورًا مسموحًا للنظير بحمله

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

ip route get 10.60.9.5
ping -c 3 -W 2 10.60.9.5
wg show wg0 latest-handshakes
wg show wg0 transfer

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

قارن زوج المفاتيح ونقطة النهاية

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

تحتاج نقطة النهاية إلى التدقيق نفسه: اسم المضيف والعنوان ومنفذ UDP والعائلة المستخدمة للوصول إليه. عنوان قديم أو منفذ خاطئ يُنتج صمتًا لا رسالة.

راقب مسار UDP الخارجي

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

ss -lunp | grep 51820
sudo tcpdump -ni eth0 udp port 51820
wg show wg0 endpoints
conntrack -L -p udp | grep 51820

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

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

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