VPN Pi متعدد الموجهات: ضع كل مسار على الجهاز الذي يقرر
يضيف موجه لاحق شبكة فرعية ثانية للعملاء، وكل واحد من أربعة أجهزة يملك قرارًا واحدًا. ضع المسارات، وتحقق من المصدر، ثم اختبر من عميل حقيقي.
وضع صندوق Wi-Fi خلف الـ Pi يحوّل قرار توجيه واحد إلى أربعة، وتنكسر الخطة عندما تُتخذ الأربعة كلها على جهاز واحد. السؤال الأول ليس أي مسار يجب إضافته. بل هل يعمل الصندوق الجديد كجسر أم كموجّه، لأن هذا الجواب يحدد عدد الشبكات الفرعية الموجودة وأي الأجهزة يجب أن تتعلم عنها. اختر نموذج الربط أولًا؛ فكل مسار يتبعه.
جسر أم توجيه: الخيار الذي يحدد العدد
الجسر يضع العملاء الجدد على الشبكة الفرعية نفسها التي يخدمها الـ Pi بالفعل. شبكة فرعية واحدة، وسلطة DHCP واحدة، ولا تسليم لتوجيهه. هذا هو الترتيب الأبسط والخيار الصحيح عندما لا تكون شبكة عملاء منفصلة مطلبًا أصلًا. أما الوصلة الموجّهة فهي تصميم مختلف: يحتفظ الصندوق بشبكته الفرعية الخاصة، ويجب حمل ذلك البادئة إلى كل مكان يذهب إليه المرور.
يتابع بقية هذه الخطة الإبقاء على الموجّه اللاحق ويحافظ على عناوين مصدر العملاء. الهدف شبكة VPN خاصة واحدة، وليس مخرج إنترنت كاملًا. اكتب النموذج قبل العناوين، لأن القائمة أدناه مجرد مثال على ربط موجّه.
client subnet 10.41.0.0/24
client gateway 10.41.0.1
router-to-Pi link 192.168.71.2
Pi on that link 192.168.71.1
private target 10.72.9.0/24
من يقرر ماذا
| Decision owner | Entry that encodes the decision | Failure when the entry is missing |
|---|---|---|
| Pi VPN host | Return route for 10.41.0.0/24 via 192.168.71.2, and a tunnel route for 10.72.9.0/24 | Replies to downstream clients die at the Pi |
| Owner of the remote network | A path for 10.41.0.0/24 over the permitted tunnel | Replies stop at the first unaware hop |
| LAN router behind the Pi | Specific route for 10.72.9.0/24 via 192.168.71.1, or a suitable default | Clients never send private traffic to the Pi |
| Client machine | Default via 10.41.0.1, or a specific entry for 10.72.9.0/24 | The private network is unreachable from the client |
كل جهاز يتخذ قرارًا واحدًا، ولا يستطيع أي منها اتخاذ قرار غيره بدلًا عنه. يحتاج الـ Pi إلى مدخلين لا مدخل واحد، ومسار العودة هو ما ينساه الناس. يصل المرور المُمرَّر إلى الشبكة الخاصة بشكل صحيح ثم يموت في طريق العودة، لأن الـ Pi لا يعرف أين تقع 10.41.0.0/24. يبدو ذلك مشكلة جدار حماية وهو في الحقيقة مسار مفقود.
يحتاج الجانب البعيد إلى مساره الخاص أيضًا. إذا كانت الخدمة في الطرف البعيد لا تعرف أن 10.41.0.0/24 يمكن الوصول إليها عبر نفقك، فإن الردود تتوقف عند أول قفزة لا تملك جوابًا. أضف الاتجاهين قبل قراءة مرشحات الحزم.
القفزات التالية تأتي من الربط
يجب أن تكون القفزة التالية عنوانًا على شبكة يستطيع الجهاز الوصول إليها فعلًا. عنوان النظير العام لـ VPN ليس القفزة التالية لشبكة فرعية خاصة، وشبكة الخدمة البعيدة ليست قفزة تالية على الإطلاق. المسار إلى بوابة لا يمكن الوصول إليها يبدو صحيحًا في القائمة ويُسقط كل حزمة. تحقق من أن البوابة تستجيب قبل أن تلوم الوجهة.
أبقِ نظير VPN الخارجي للـ Pi قابلاً للوصول عبر مساره الأساسي. هذا المدخل منفصل عن مسارات الحمولة، وخلطها ينتج نفقًا لا يستطيع إعادة التأسيس بعد تغيّر المسار.
إن توثيق المسارات الساكنة يجعل التمييز بين الوجهة والبوابة واضحًا رغم أن كل منصة تسمي قوائمها بشكل مختلف. اقرأ توثيق الجهاز الذي أمامك بدلًا من نسخ شاشة بائع آخر. تُظهر الأوامر أدناه شكل المدخلات على Linux.
# on the Pi
ip route add 10.41.0.0/24 via 192.168.71.2
ip route add 10.72.9.0/24 dev tun0
# on the downstream router
ip route add 10.72.9.0/24 via 192.168.71.1
ماذا تفعل الترجمة بالمصدر
إذا كان الموجّه اللاحق يترجم عملاءه بالفعل إلى عنوان العبور، فسيرى الـ Pi مصدرًا مترجمًا واحدًا بدلًا من عنوان كل عميل. هذا تصميم مختلف عن التصميم الحافظ للمصدر أعلاه. يغيّر السياسات القائمة على المصدر، والتسجيل، وأي جانب يمكنه بدء الاتصالات. كلا التصميمين يعمل؛ لكنهما يجيبان عن سؤالين مختلفين.
عندما ترفض خدمة VPN في المنبع توجيه بادئة العميل عائدة، فقد تكون ترجمة ضيقة عند مخرج نفق الـ Pi حلًا مؤقتًا مشروعًا. هذا ليس دليلًا على أن المسار المفقود كان غير ضروري. سجّل العنوان الذي تراه الشبكة البعيدة فعلًا ومسار العودة الناتج.
اختيار المسار وإذن التمرير وترجمة المصدر تبقى ثلاث مهام منفصلة. تفريغ سلسلة NAT مشتركة أو السماح لكل واجهة لأن عميلًا سلكيًا واحدًا يعمل هو الطريق الذي يحوّل اختبارًا ناجحًا إلى مُمرِّر مفتوح.
إثبات ذلك من جهاز عميل
أرسل طلبًا من جهاز على الشبكة المحلية اللاحقة، ثم تتبّع مصدره في الخروج والعودة. لا يمارس ping يصدره الـ Pi مسار العودة اللاحق أبدًا، ولهذا فإن ping ناجحًا يثبت أقل مما يبدو. أضف اختبارًا ثانيًا من عميل سلكي على الشبكة المحلية الخاصة بالـ Pi حتى يمكن مقارنة المسارين. كرر الاثنين بعد إعادة تشغيل أي من الجهازين.
المسارات المضافة يدويًا والترجمات التي لم تُحفظ أبدًا تختفي معًا. عندها يبدو الزوج عطلًا جديدًا بدلًا من عمل غير مكتمل.
احفظ نموذج الربط مع المسارات والخدمة الخاصة المسموح بها وأي ترجمة في ملاحظة واحدة. تلك الملاحظة هي ما يمنع الشخص التالي من التعامل مع الموضع اللاسلكي كسؤال سياسة توجيه.