ما العنوان الذي يوضع في DNS لخادم متصل عبر VPN؟
الخادم المستضاف يحتفظ بثلاثة عناوين وهي ليست قابلة للتبادل. اختر القيمة التي تحتاجها كل خدمة، ثم أكدها من خارج الجهاز.
ينتهي الخادم المستضاف المثبت عليه VPN إلى الاحتفاظ بثلاثة عناوين، وواحد فقط منها ينتمي إلى كل موضع أنت على وشك تهيئته. نسخ الرقم من لوحة المزود إلى DNS أو إلى مستمع أو إلى قائمة سماح هو الطريق الذي يتحول به نفق عامل إلى خدمة لا يستطيع أحد الوصول إليها. يرتب هذا الدليل العمل بحيث يُختار كل عنوان لغرض معلن. كما يسرد الأوامر التي تؤكد ما نشرته فعليًا.
ارسم خريطة العناوين الثلاثة قبل أن تنشر أي شيء
سمِّها حسب الوظيفة. عنوان underlay هو ما تستخدمه الآلة للوصول إلى نقطة نهاية VPN عبر الإنترنت، وهو غالبًا خاص خلف NAT المزود. عنوان النفق يعيش داخل VPN، ويمنحه الخادم أو العميل بحسب المنتج. المخرج العام هو العنوان الذي يسجله موقع بعيد بعد الترجمة، ولا يلزم أن يكون موجودًا على أي واجهة يمكنك الاستعلام عنها.
لوحة تعرض عنوانًا عامًا واحدًا لآلة تقول لك القليل جدًا عن الدورين الآخرين. إمكانية الوصول إلى underlay شرط وليست عملية شراء: يمكن لحاسوب محمول خلف موجه منزلي أن يصل إلى نقطة نهاية VPN مستضافة دون امتلاك عنوان IPv4 عام. ما لا يمكنك فعله هو اختراع مسار وارد بكتابة اسم يُحل إلى عنوان لا يعيد توجيهه أحد.
اختر العنوان حسب الخدمة، لا حسب التسمية
اكتب ما يجب أن يفعله الخادم قبل اختيار رقم. تحتاج استدعاءات API الصادرة إلى مخرج مستقر عندما يحتفظ الطرف الآخر بقائمة سماح. يحتاج الوصول الخاص إلى عنوان نفق يمكن للعملاء التوجيه إليه وإلى مستمع مرتبط به. تحتاج الاستضافة العامة إلى تعيين وارد يقدمه المزود فعليًا، ولا يوفره عنوان المخرج وحده.
يمكن لآلة واحدة أن تخدم الأغراض الثلاثة ومع ذلك تستخدم ثلاثة عناوين مختلفة. ما ينكسر هو افتراض أن قيمة واحدة تغطيها جميعًا:
| Requirement | Value that belongs there | What you see when the roles are swapped |
|---|---|---|
| Outbound allowlisting | Public exit | Requests reach the service but are rejected |
| Private client access | Tunnel address | Client connects, nothing answers |
| Inbound web service | Provider mapping | Name resolves, connection times out |
السطر الوارد هو الذي يتجادل الناس بشأنه. السجل الذي يشير إلى عنوان المخرج لا ينشئ مستمعًا ولا فتحة جدار حماية ولا تعيين منفذ، والانتظار لا يغير ذلك. عندما يبيع المزود عنوانًا مخصصًا مع قاعدة واردة، فإن تلك الحزمة هي القدرة التي اشتريتها؛ العنوان وحده ليس الحق.
أوامر تُظهر أي عنوان هو أي عنوان
اقرأ الآلة، لا اللوحة. تختلف أسماء الواجهات بين الأنظمة، لذا اربط العناوين بالأجهزة بدلًا من الوثوق بتسمية.
يسرد السطر الأول كل عنوان IPv4 وجهازه، ويسأل الثاني النواة عن الجهاز الذي سيستخدمه لوجهة خارجية معروفة:
ip -brief -4 addr show
ip -4 route get 198.51.100.10
curl -4 -s https://ifconfig.me
ss -lntp | grep -E ':(443|1194)'إذا أجاب بحث المسار بجهاز نفق لحركة المرور العامة، فإن نفلك الكامل ساري. فحص المستمع لا يقل أهمية، لأن عملية مرتبطة بـ 127.0.0.1 فقط لن تستجيب أبدًا على عنوان النفق، أيًا كان الاسم الذي تنشره.
انشره، ثم تحقق من الخارج
انشر القيمة التي تحتاجها الخدمة ولا شيء أكثر: سجل A أو AAAA للاستضافة، ومدخل في قائمة السماح للاستدعاءات الصادرة، وملف تعريف عميل للوصول الخاص. ثم اختبر من الموضع المهم، وهو ليس أبدًا الآلة التي عدلتها للتو.
فحصان يغطيان معظم الحالات، وكلاهما رخيص بما يكفي للبقاء في نص برمجي:
dig +short vpn.example.net A
curl -4 -sS -o /dev/null -w '%{http_code}\n' https://vpn.example.net/healthاستجابة DNS التي تثبت وجود سجلك ليست دليلًا على وصول طلب، والطلب الناجح الواحد يثبت فقط أن مسارًا واحدًا يعمل من شبكة واحدة. كرر الفحص عبر اتصال جوال عندما تكون قائمة السماح معنية، لأن المخرج الذي تلاحظه قد يعتمد على عائلة العناوين والمسار المتبع. سجل أي عائلة تحققت منها؛ مسار IPv4 العامل لا يقول شيئًا على الإطلاق عن IPv6.
إذا كانت الخدمة واردة، فعنوان المخرج لا يكفي
يحتاج الوصول الوارد إلى أربعة أشياء مصطفة: اسم أو عنوان يمكن للعميل الوصول إليه، ومسار يوصل الحزمة إلى الآلة، ومستمع يقبلها، وسياسة لا تُسقطها. يغير VPN العنصر الثاني وأحيانًا الأول، ولا يفعل شيئًا للثالث والرابع. عندما يكون النفق هو مسار التسليم، يتصل العملاء بعنوان النفق، لا بالمخرج.
سجل أي عنوان تعتمد عليه كل خدمة، ثم راجع ذلك السجل كلما غيّر المزود نموذج التوجيه لديه. الخادم الذي يستجيب بشكل خاص ويفشل بشكل عام ليس معطلًا عادة؛ إنه يستجيب بهوية خاطئة، والإصلاح قرار تعيين وليس تغييرًا في جدار الحماية.