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

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

النفق لم يكن يومًا مسار الإدارة

إعادة التوجيه والإدخال وظيفتان مختلفتان. «هل يستطيع عميل الوصول إلى NAS عبر النفق؟» سؤال إعادة توجيه عن الحزم التي تمر عبر الموجه. «هل أستطيع فتح منفذ SSH في الموجه؟» سؤال إدخال عن الحزم الموجهة إلى الموجه نفسه. قاعدة السماح المكتوبة لحركة مُعاد توجيهها لا تفعل شيئًا للسؤال الثاني، وهذا هو السبب الأكثر شيوعًا لرفض نفق ينقل الحركة بشكل ممتاز لجلسة إدارتك.

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

الطبقة الأولى: هل يوجد مسار إلى عنوان الموجه نفسه؟

ابدأ على العميل واسأل النواة إلى أين ستذهب الحزمة. على Linux يطبع ip route get 10.6.0.1 المسار المختار وواجهة الخروج وعنوان المصدر. إذا أبلغ عن المسار الافتراضي نحو مزود الخدمة، فلن تدخل الحزمة النفق أبدًا، ولا تستطيع أي قاعدة على الموجه إنقاذها.

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

أكّد العنوان الدقيق الذي تتوقع الوصول إليه قبل تنقيح السياسة. سجل DNS قديم أو إدخال جار مخزّن مؤقتًا من قبل التغيير يرسلك إلى عنوان لم يملكه الموجه قط.

الطبقة الثانية: سياسة الإدخال، لا سياسة إعادة التوجيه

تقيّم الجدران النارية القواعد على الواجهة التي تصل عليها الحزمة. في pfSense و OPNsense يحدد تبويب الواجهة وترتيب القواعد ما إذا كانت الحركة إلى خدمات الجدار الناري نفسه مسموحة؛ فالقاعدة التي تسمح لعملاء LAN بالخروج إلى الإنترنت ليست قاعدة تسمح لنظير النفق بفتح واجهة الويب. في OpenWrt مع firewall4 تحمل كل منطقة سياسة إدخال، option input 'ACCEPT' أو 'REJECT'، وواجهة نفق في منطقة سياسة إدخالها REJECT سترفض اتصالات الإدارة بينما لا تزال تعيد توجيه الحركة إذا كان إعادة التوجيه مسموحًا.

لا تعطّل قاعدة منع الإغلاق لجعل المسار الجديد يعمل. تلك القاعدة تمنع إغلاق عنوان إدارة LAN بسبب قاعدة سيئة؛ إنها تحمي الشبكة الفرعية LAN، لا الشبكة الفرعية للنفق التي أنشأتها للتو. أضف قاعدة ضيقة واحدة لمصدر المدير واترك شبكة الأمان وشأنها. توثيق pfSense للوصول الإداري يشرح أين توجد عناصر التحكم تلك.

# on the router: bind addresses and the loaded ruleset
ss -ltnp | grep -E ':(22|80|443)\b'         # Linux / OpenWrt
sockstat -4 -l | grep -E ':(22|80|443)\b'   # FreeBSD / pfSense
nft list ruleset | grep -A6 'chain input'    # firewall4
pfctl -sr | head -40                         # pf / pfSense

الطبقة الثالثة: هل يستمع شيء على ذلك العنوان؟

قد تكون الخدمة قيد التشغيل ومع ذلك غير قابلة للوصول لأنها ارتبطت بعنوان واحد. يحتفظ uhttpd في OpenWrt بإدخالات استماع صريحة في /etc/config/uhttpd، على سبيل المثال list listen_http '0.0.0.0:80'؛ فالبناء الذي يرتبط بعنوان LAN فقط لا يقبل شيئًا على عنوان النفق، والمنتجات التي تعرض إعداد واجهة الاستماع تتصرف بالطريقة نفسها. أوامر الاستماع أعلاه تجيب عن هذا مباشرة.

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

واجهة VPN حدٌّ، لا مسار استرداد

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

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

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

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

جهّز طريق العودة قبل أن تلمس السياسة

اكتب أربعة أشياء قبل التغيير الأول: كيف ستصل إلى الجهاز إذا مات النفق، مثل وحدة تحكم تسلسلية أو وحدة تحكم المزود أو جهاز على LAN؛ إلى أين تُصدَّر التهيئة الحالية؛ أي قاعدة أو مسار واحد أنت على وشك تعديله؛ وكيف ستعكس ذلك العنصر بالضبط. في OpenWrt يلتقط sysupgrade -b /tmp/backup.tar.gz التهيئة، وتبقى التعديلات معلّقة حتى uci commit، ما يمنحك تراجعًا رخيصًا إذا انتبهت في الوقت المناسب. يحتفظ pfSense بسجل للتهيئة، ويساعد AutoConfigBackup فقط إذا كان ممكّنًا مسبقًا. إذا كان الموجه يعمل بمجموعة قواعد fail-closed، فتأكد من أن مسار الصيانة الذي خططت له ليس داخل الحركة التي تحجبها تلك القاعدة، وتذكّر أن إعادة التشغيل تعيد تطبيق القواعد الدائمة بدل مسحها.

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

فحص سريع قبل أن تمضي:

  • هل تستطيع الوصول إلى الموجه من مصدر لا يعتمد على القاعدة التي عدّلتها للتو؟
  • هل تسمح سياسة الإدخال على واجهة النفق بمصدر المدير فقط؟
  • هل خدمة الإدارة مرتبطة بعنوان موجود على النفق؟
  • هل اختبرت نظيرًا مرفوضًا وجلسة جديدة؟
  • هل سطح إدارة WAN ما زال مغلقًا؟

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