يختلط سؤالان عند فتح خدمة خاصة أمام المستخدمين البعيدين. الأول هو أي اسم ينبغي أن يستخدمه العملاء؛ والثاني هو أي المصادر ينبغي أن تقبلها الخدمة. أجب عنهما بهذا الترتيب، لأن الاسم الصحيح خلف قاعدة وصول خاطئة يظل فاشلًا، والقاعدة الصحيحة خلف اسم لا يُحلّ لا تُختبر أبدًا.

الشرط الأول: أي مسار مُحلِّل يملكه العملاء؟

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

resolvectl query files.corp.example
dig @10.20.30.10 +short files.corp.example

لن يتعلّم المُحلِّل العام منطقة خاصة لأن الحاسوب المحمول اتصل بشبكة VPN.

اللاحقة تستحق الاهتمام نفسه. استخدم نطاقًا فرعيًا من نطاق تسيطر عليه المؤسسة، ليبقى الملكية وتخطيط الشهادات واضحين. تجنّب .local: فمواصفة DNS المتعدد البث تربط تلك اللاحقة بالتحليل المحلي للارتباط، والنفق الموجَّه لا يعيد إنتاج ذلك السلوك لك.

الشرط الثاني: أي مصدر تتلقى الخدمة؟

تُكتب قواعد القبول مقابل العناوين، لذا السؤال المفيد هو أي عنوان تراه الخدمة بعد التوجيه والترجمة. لخدمة مثال على 10.20.30.40، يصل عملاء المكتب من 10.20.30.0/24 ويصل العملاء البعيدون من تجمّع منفصل مثل 10.99.0.0/24.

إذا كانت بوابة تترجم تجمّع العناوين البعيدة، فسترى الخدمة المترجِم، ولن تتطابق قاعدة مكتوبة لـ 10.99.0.0/24.

اقرأ هذا من جهة الخدمة لا من جهة العميل. يُظهر سجل المستمع أو التقاط الحزم على مضيف الخدمة المصدر الذي وصل فعلًا؛ أما عنوان العميل نفسه فهو مجرد تخمين لما نجا من المسار.

الشرط الثالث: هل الاسم مرتبط بخدمة أم بمضيف؟

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

لخدمة داخلية واحدة، يكون السجل المباشر عادة مناسبًا وأسهل في الفهم.

لأي شيء سيُستبدل أو يُعاد بناؤه أو يُوسَّع، تستحق الواجهة الأمامية الثابتة التكوين الإضافي. الاختبار بسيط: إذا أمكنك استبدال الخلفية دون إخبار المستخدمين، فالاسم مرتبط بالخدمة؛ وإذا لم يمكنك، فهو مرتبط بمضيف.

اختبر القرارين بشكل منفصل

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

curl -sv --max-time 5 https://files.corp.example/health

ثم اختبر مصدرًا محظورًا مرة واحدة، وسجّل النتيجة.

أبقِ السجلين منفصلين في توثيقك: الاسم ومنطقته، والمصادر المقبولة ومالك القاعدة. وعندما يتغير أحدهما، لا يلزم أن يتغير الآخر.

أين يخطئ القرار عادة

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

لا يظهر أي من الخطأين من اختبار ناجح واحد. لذلك يستحق القراران سجلين منفصلين واختبارين منفصلين، حتى عندما يتخذهما الشخص نفسه.

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

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