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

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

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

ولّد زوج مفاتيح على كل نظام وانقل بينهما النصفين العامين فقط. wg genkey | tee privatekey | wg pubkey > publickey هو الأمر المكوّن من سطر واحد الموثّق، ويترك المفتاح الخاص في ملف يمكنك حمايته بعد ذلك. اختر عناوين النفق من نطاق لا يظهر في أي إعداد آخر تملكه، مثل 10.99.0.1/24 و10.99.0.2/24. اكتب أي عنوان ينتمي إلى أي جهاز، لأن كل فحص لاحق يعتمد على هذا التعيين.

المفاتيح الخاصة لا تنتقل أبدًا. إذا احتاج اختبار إلى نسخ أحدها إلى الجانب الآخر، فقد فشل الاختبار مسبقًا. وحيث يكون النظامان خلف NAT، يحتاج أحدهما على الأقل إلى منفذ UDP يمكن الوصول إليه بينما يحمل الآخر Endpoint يشير إليه، والعنوان العام والمنفذ مكانهما في ملاحظاتك لا في افتراضاتك حول 51820.

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

الحقول التي تنتمي إلى wg وتلك التي لا تنتمي إليه

مجموعة الحقول الأساسية صغيرة: PrivateKey وListenPort تحت Interface، وPublicKey وAllowedIPs وEndpoint تحت Peer. أما Address وDNS فتنتميان إلى wg-quick لا إلى wg نفسه، وهذا التمييز يظهر فور انتقال الإعداد نفسه إلى أداة أخرى.

[Interface]
PrivateKey = <peer-a-private>
Address = 10.99.0.1/24
ListenPort = 51820

[Peer]
PublicKey = <peer-b-public>
AllowedIPs = 10.99.0.2/32
Endpoint = 203.0.113.10:51820

يحمل AllowedIPs مهمتين في آن واحد. فهو يختار أي الوجهات تدخل النفق، و يخوّل النظير استخدام عناوين المصدر تلك عند الوصول. لهذا يجب أن يسمّي الإدخال المقابل على الجانب الآخر عنوان نفقتك بدقة؛ فـ /32 لنظير خاطئ يُقرأ كمشكلة توجيه ويتصرف كواحدة خاصة بالتصويض. و البدء السريع لـ WireGuard يُظهر الشكل نفسه بين نظيرين بالصياغة المعتمدة إذا أردت مقارنة أسماء الحقول.

قراءة المصافحة بدل الأيقونة

ارفع الواجهة عبر ما يملكها، ثم اقرأ الحالة بدل ضوء الحالة. wg show يطبع أحدث مصافحة لكل نظير مع عدادات البايتات، ومصافحة خلال الدقائق القليلة الأخيرة تعني أن المفاتيح والنقطة الطرفية ومسار UDP كلها تعمل. والعداد الذي يزيد في اتجاه واحد فقط هو الجواب في ذاته، وهو ليس العطل نفسه كالمصافحة التي لا تحدث أبدًا.

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

إثبات خدمة واحدة مسموح بها، ثم العكس

أرسل طلبًا إلى عنوان نفق النظير الآخر على خدمة من المفترض أن تجيب، واختر شيئًا أفضل من ping. فرد ICMP المفقود قد يكون ترشيحًا على المضيف لا عطلًا في النفق، لذا فـ ping صامت لا يثبت أي اتجاه. اتصال TCP بمنفذ تعرف أنه مفتوح، أو طلب يعيد بيانات، يمنحك جوابًا يمكنك تفسيره.

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

الإبقاء على خط الأساس كمرجع

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

خط أساس يكتفي بتحويل أيقونة إلى الأخضر لم يخبرك بشيء عن أي إضافة سببت العطل التالي. أبقِ المسار الواحد المسموح به عاملًا كمرجع، وكل تغيير لاحق يُقاس مقابله.

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