كيفية توجيه موقع إلكتروني واحد خارج نفق WireGuard
مسار /32 واحد عبر بوابة الشبكة المحلية يبقي موقعًا واحدًا على اتصالك العادي، شريطة أن يسمح جدار الحماية بذلك وأن يتفق DNS على العنوان.
استبعاد اسم مضيف شيء لا يستطيع النفق فعله. لكن المسار يمكنه توجيه عنوان واحد خارج النفق وعبر بوابة المنزل، وهذا عادةً يكفي لموقع واحد. المشكلة أن كل ما يقع بعد المسار يجب أن يتفق: على جدار الحماية أن يسمح للرزمة بالخروج، وعلى DNS أن يعيد العنوان الذي وجّهته، وعلى الموقع أن يواصل استخدام ذلك العنوان. عندما ينحرف أي من الثلاثة، يتوقف الاستثناء عن العمل دون أن يعلن عن نفسه.
اقرأ عنوان الوجهة قبل أن تمسّ النفق
حمّل الموقع مرة واحدة والنفق قيد التشغيل، ثم انظر إلى عنوان النظير الذي اتصل به المتصفح فعليًا. على لينكس، ss -tunp يسرد العنوان البعيد لكل مقبس مفتوح، و dig +short على الاسم نفسه يُظهر ما أعاده المورّد. أبقِ الرقمين أمامك.
غالبًا ما يختلف الجوابان، وهذا الاختلاف هو المشكلة كلها. تضع المواقع الكبيرة شبكة محتوى أمام أصلها، لذا قد لا يكون العنوان الذي يعيده المورّد الآن هو الذي استخدمه المتصفح قبل دقيقة. وجّه ما لاحظته على المقبس، لا ما تدرجه دليل أقدم. وإذا ظلت الأجوبة تتبدل بين المناطق، فإن استثناء العنوان هو الأداة الخطأ لذلك الموقع تحديدًا.
شغّل البحث مرة ثانية من شبكة أخرى، وسجّل جواب IPv6 إلى جانب جواب IPv4. النفق الذي يحمل العائلتين يحتاج استثناءً في كلتيهما، وإلا عاد المتصفح بصمت إلى مسار IPv6 الذي لم تلمسه. ضع العناوين والتاريخ في مكان ستعود إليه.
ضع مسار مضيف واحد على العميل
افترض أن الواجهة تُسمى home-wg وأن موجه الشبكة المحلية عند 192.168.1.1. يأخذ NetworkManager مسارًا تكون بوابته ذلك الموجه ويكون طول بادئته 32 بت كاملة، ويفضّله النواة لأن البادئة الأطول تفوز.
nmcli connection modify home-wg +ipv4.routes "198.51.100.20/32 192.168.1.1"
nmcli connection up home-wg
ip route get 198.51.100.20
يجب أن تكون البوابة قابلة للوصول دون النفق؛ فتوجيه القفزة التالية إلى عنوان النفق يُبطل الغرض، لأن الرزمة ستعود إلى الواجهة التي تحاول تجنبها. بعد عودة الاتصال، ip route get بالنسبة إلى الاستثناء يجب أن يطبع بوابة الشبكة المحلية، والأمر نفسه لمورّد عام يجب أن يطبع جهاز النفق.
لا يحتوي ملف تعريف wg-quick على حقل مسارات، لذا يعيش الاستثناء نفسه في سطر PostUp يضيف مسار المضيف إلى الجدول الرئيسي مع واجهة الشبكة المحلية كجهازه. أنزل الواجهة وأعد رفعها بعد التحرير، لأن الواجهة قيد التشغيل لا تعيد قراءة ملفها أبدًا. قواعد fwmark التي يثبّتها wg-quick توجّه فقط رزمه المغلفة، لذا تظل حركة المتصفح العادية تتبع الجدول الرئيسي وتجد /32 الخاص بك.
مفتاح الإيقاف هو الشيء التالي الذي يعيق ذلك
سياسة جدار حماية تسمح بالمرور على واجهة النفق فقط ستُسقط الاستثناء حتى عندما يكون المسار صحيحًا تمامًا. اقرأ القواعد خلف المفتاح بدلًا من الوثوق بالمفتاح، لأن القواعد التي تنفّذ مفتاح إيقاف تكون عادةً محصورة باسم واجهة.
ما تريده هو إذن ضيّق للواجهة الفعلية وذلك الوجهة الواحدة، موضوع قبل الإسقاط، مع بقاء السياسة الافتراضية دون تغيير. إيقاف مفتاح الإيقاف كليًا يثبت النقطة، لكنه يترك الجهاز مكشوفًا طوال المدة التي تنسى فيها إعادة تشغيله.
اختبر الاتجاهين بشكل منفصل. يجب أن ينجح طلب إلى عنوان الاستثناء بينما يظل طلب إلى موقع غير ذي صلة يخرج عبر النفق. إذا نجح الاثنان لكن الثاني أبلغ عن عنوان المنزل، فترتيب قواعد جدار الحماية خطأ وليس المسار.
DNS يحدد العنوان الذي يتصل به المتصفح
عندما يُحلّ الاسم داخل النفق، يمكن لمورّد المزود أن يجيب بعنوان مختلف عن العنوان الذي أجاب به المحلي. عندها ينطبق مسارك على عنوان لا يتصل به المتصفح أبدًا، وتُحمَّل الصفحة عبر النفق وكأن شيئًا لم يتغير. يبدو هذا العطل كاستثناء معطوب حتى لو كان جدول التوجيه صحيحًا.
أرسل استعلامات ذلك الاسم عبر المورّد المحلي أيضًا، أو تجاهل الأسماء تمامًا واختبر العنوان مباشرة. تقسيم العنوان مع إبقاء DNS داخل النفق هو أكثر نسخة نصف مكتملة شيوعًا لهذا الإعداد، وهو أيضًا الأصعب في الملاحظة، لأن الموقع يظل يعمل، لكن ليس بالطريقة التي أردتها.
الاستثناء نفسه على الموجه، مرة واحدة، لكل جهاز
مع تشغيل النفق على الموجه، ينتمي مسار المضيف إلى جدول التوجيه السياسي للموجه ويشير إلى بوابة WAN بدلًا من بوابة LAN. كل جهاز خلفه يرث الاستثناء، وهذا مهم لجهاز بث أو حاسوب عمل لا تستطيع تغيير إعدادات شبكته.
اترك النفق كمخرج افتراضي لكل عميل آخر، ثم تحقق من جهاز عميل بدلًا من وحدة تحكم الموجه. حمّل موقع الاستثناء وموقعًا ثانيًا في جلسة المتصفح نفسها وقارن عناوين الخروج؛ إذا أظهر الثاني النفق أيضًا، فجدول السياسة يفعل ما طلبته.
دوّن العنوان والتاريخ والسبب في ملاحظات الموجه. الاستثناء المبني حول عنوان ينتقل لاحقًا يصبح عيبًا لا يستطيع أحد تفسيره بعد سنة، ويبدو الإصلاح دائمًا لغزًا حتى يجد أحدهم الملاحظة القديمة.