قواعد VPN على الموجّه: طابِق المصدر والوجهة
قاعدة VPN على الموجّه لها طرفان: الجهاز الذي يرسل حركة المرور والوجهة التي يجب أن تستخدم النفق. حدّد التقاطع والسلوك الاحتياطي أولًا.
تعرض صفحات تسوّق الموجّهات توجيه VPN كمربّع اختيار واحد، وتخفي العبارة ثلاثة أسئلة مختلفة. هل تطابق القاعدة الجهاز الذي يرسل حركة المرور، أم الخادم الذي يستقبلها، أم كليهما؟ ماذا يحدث لحركة المرور التي لا تطابق أيًّا منهما؟ وعندما تتداخل قاعدتان، أيّهما تفوز؟ إن كتابة الإجابة كزوج من المصدر والوجهة تحوّل قائمة ميزات غامضة إلى تصميم قابل للاختبار.
اسم الميزة يخفي طرفين
مشغّل الوسائط الذي ينبغي أن يستخدم النفق هو مطابقة مصدر. بادئة مكتب خاصة ينبغي الوصول إليها عبر النفق هي مطابقة وجهة. محطة عمل ينبغي أن تستخدم النفق لخدمة واحدة فقط هي الاثنان معًا، وهذا التقاطع هو الحالة التي تتعامل معها معظم برامجيات المستهلك بشكل سيّئ.
اكتب المتطلب كزوج قبل مقارنة المنتجات. هذا الزوج هو ما ستختبره لاحقًا.
المنتج الذي يقدّم قائمة أجهزة أو قائمة وجهات عامة قد لا يعبّر عن «هذا الجهاز فقط، هذه الوجهات فقط». الفجوة ليست شكلية: قاعدة الوجهة العامة تمرّر حركة كل جهاز نحو ذلك الموقع عبر النفق، وقاعدة الجهاز تمرّر كل حركة ذلك الجهاز. لا أحد منهما هو المتطلب. اختبر تلك الحالة بجهازين قبل الوثوق بالشاشة.
ابنِ القاعدة كتقاطع
الجدول يبقي التصميم صادقًا. ضع السيناريو على اليسار، ثم سمِّ مطابقة المرسل ومطابقة الهدف كلًّا على حدة:
| Scenario | Sender match | Target match | Rule shape |
|---|---|---|---|
| Media player uses the tunnel | Player address | Any internet destination except the LAN | Source only |
| Office prefix reachable | Authorized LAN devices | 10.40.0.0/16 | Target only |
| One app on one laptop | Laptop address | The service address set | Source and target |
| Guest network never tunnels | Guest subnet | Any | Deny, evaluated first |
الصف الثالث هو المثير للانتباه، لأنه يحتاج النصفين معًا. إذا كان بإمكان البرامجيات التعبير عن محور واحد فقط، فيجب تقسيم المتطلب إلى قاعدتين أو نقله إلى جهاز يستطيع ذلك.
حافظ على ثبات هوية المصدر. حجز DHCP أو مقطع مخصّص أو آلية هوية للجهاز كلها تعمل، أما عنوان يتغيّر بعد انتهاء مدة الإجارة فلا يعمل. أدرِج IPv6، لأن عنوان IPv4 واحدًا لا يميّز كل حركة الجهاز.
الأولوية تحسم التداخل
تداخل القواعد أمر طبيعي. يمكن لقاعدة جهاز واسعة وقاعدة وجهة ضيقة أن تصفا التدفق نفسه، وترتيب الأولوية الموثّق هو الذي يحدد الفائز. شاشة إعدادات جذابة لا تخبرك بذلك الترتيب.
اقرأ الدليل لمعرفة الترتيب وحالة عدم المطابقة، ثم اختبر الاثنين بحركة مرور يمكنك مراقبتها:
ip rule show
ip route get 203.0.113.10
إذا لم تذكر الوثائق الترتيب، فافترض أن القاعدة الأضيق قد لا تفوز وصمّم على هذا الأساس. قاعدتان لا يمكن أن تتعارضا أسهل دعمًا من قاعدة ذكية واحدة غير موثّقة الأسبقية.
الأسماء تحتاج سياسة تحديث
الوجهة المكتوبة كنطاق تضيف مشكلة صيانة. على الموجّه أن يحلّها ويحدّث التعيين ويتعامل مع عناوين متعددة ونطاقات فرعية، وأن يتعامل مع DNS التطبيقات الذي يتجاوز المحلّل المتوقع.
نسخ نتيجة بحث واحدة إلى قاعدة IP هو لقطة، وليس سياسة نطاق.
حدّد مقدار تقادم الإجابة قبل أن تصبح القاعدة خاطئة، وما يفعله الموجّه عند فشل التحليل. القاعدة التي تحتفظ بآخر عنوان معروف قد تبقى بعد ترحيل الخدمة؛ والقاعدة التي تحذف الإدخال قد توقف النفق بصمت. أي السلوكين مقبول إذا كان مكتوبًا بجانب القاعدة.
حدّد الحالة غير المتاحة
تفضيل المسار لا يفرض مرور حركة VPN فقط. عندما يكون النفق معطّلًا، يمكن للموجّه أن يحجب التدفق أو يرسله مباشرة أو يستخدم نفقًا آخر، ولكل خيار بصمة فشل مختلفة.
حدّد أيّها يحتاجه المتطلب، ثم تحقّق منه بإيقاف النفق ومراقبة التدفق:
curl -sS -o /dev/null -w "%{http_code}" --max-time 5 https://service.example/
ping -c 2 203.0.113.10
حركة المرور الصادرة عن الموجّه نطاق منفصل. يمكن لتمرير DNS وفحوص التحديث والمراقبة أن تبدأ تدفقات جديدة من الموجّه نفسه بدلًا من أن ترث مطابقة مصدر الجهاز. احسب تلك التدفقات صراحةً، وإلا فستظهر كتسرّبات غير مفسّرة في السجلات.