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

حدّد ما يشارك النفق

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

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

في كلتا الحالتين، اجعل الشبكات الفرعية المحلية متمايزة. النطاقات المتطابقة تجعل أحد الجانبين يبدو متصلًا مباشرةً، و الثقب الأسود الناتج يبدو كعطل في الـVPN لساعات.

أعطِ النفق مالكًا

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

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

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

ضعها في منطقة، ثم مرّر إليها

منطقة جدار النار هي حيث تعيش السياسة: input وoutput وforward وmasquerade. النفق الذي لا ينتمي إلى أي منطقة تحكمه إعدادات افتراضية لم تخترها، وهذا نادرًا ما يكون ما يحتاجه عميل الموجّه. المقاطع أدناه تعلن الواجهة وتضعها في منطقة وتسمح لحركة الشبكة المحلية بالدخول إليها.

config interface 'vpn'
    option device 'tun0'
    option proto 'none'

config zone
    option name 'vpn'
    list network 'vpn'
    option input 'REJECT'
    option output 'ACCEPT'
    option forward 'REJECT'
    option masq '1'

config forwarding
    option src 'lan'
    option dest 'vpn'

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

التمويه على منطقة الـVPN يطوي كل عنوان محلي في عنوان نفق الموجّه قبل مغادرة الحزمة. هذا يزيل الحاجة إلى مسار عودة إلى شبكتك الفرعية على الجانب البعيد.

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

سمِّ الوصلة الصاعدة الحقيقية في NAT

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

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

استبدل ppp0 في تلك القاعدة بالواجهة من ip route أو من قائمة الواجهات العاملة، ثم راقب العدّاد بينما يحمّل مضيف محلي صفحة. على موجّه بمزوّد واحد، قاعدة تمويه واحدة للوصلة الصاعدة تكفي عادةً. قاعدة ثانية لواجهة النفق ليست بديلًا عن الأولى.

ثم أضف خيارات العميل التي تحدد ما يدخل النفق. توجيه redirect-gateway يرسل حركة إنترنت العميل عبر الـVPN، وبدونه لا يحمل النفق إلا المسارات التي يدفعها الخادم. تحقق من جدول التوجيه الناتج قبل أن تمسّ DNS.

اقسم الـWi-Fi بجدول ثانٍ

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

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

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

اشك في الساعة وفي علم الجهاز

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

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

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