SoftEther SecureNAT: تشغيل DHCP وNAT قراران مستقلان
يشغّل SecureNAT خادم DHCP افتراضيًا وNAT افتراضيًا، وكلٌّ منهما قد يفشل وحده. تحقّق من الإيجار، ثم من مسار الخروج والمُحلِّل، قبل أن تلوم المحور.
SecureNAT مربّع اختيار واحد يفعّل خدمتين، ومن هنا يأتي معظم الالتباس بشأنه. خادم DHCP افتراضي يمنح العميل عنوانًا وقناعًا وبوابة، وغالبًا مُحلِّلًا. وNAT افتراضي يوجّه الحزم عبر تلك البوابة مستخدمًا حزمة الشبكة الخاصة بمضيف الخادم. وهما متجاوران في الإعداد ويفشلان بشكل مستقل: قد يكون للعميل إيجار سليم ولا مسار عامل، أو مسار عامل بإعدادات تشير إلى مُحلِّل خاطئ. تحقّق منهما كقرارين، يصبح التشخيص قصيرًا.
خدمتان خلف مربّع اختيار واحد
جانب DHCP الافتراضي يجيب عن سؤال إعداد: أي إعدادات يستقبلها هذا العميل داخل هذا المحور الافتراضي. وجانب NAT الافتراضي يجيب عن سؤال توجيه: عندما يرسل العميل حزمة إلى عنوان خارج المحور، هل يترجمها الخادم ويوجّهها. الأول محلي بالنسبة للمحور ولا يحتاج شبكة أعلى. والثاني يعتمد كليًا على المضيف.
واجهة المضيف الافتراضية تنتمي إلى القرار الأول لا الثاني. عنوانها، وغالبًا شيء مثل 192.168.30.1 افتراضيًا، هو البوابة التي تقدّمها خدمة DHCP. وهو ليس عنوان الاستماع العام للخادم، والخلط بين الاثنين ينتج قواعد جدار ناري وإعدادات عميل موجّهة إلى جهاز غير موجود على تلك الشبكة.
القرار 1: من يوفّر العنوان
إذا كان DHCP الافتراضي مفعّلًا، فينبغي أن يستقبل العملاء إيجارًا في التجمع الذي أعددته، مع واجهة المضيف الافتراضية كبوابة، وأي مُحلِّل قدّمته. افحص الإيجار لا نص الحالة عند العميل، لأن «متصل» يصف النفق لا إسناد العنوان:
vpncmd localhost /SERVER /CMD SecureNatStatusGet
vpncmd localhost /SERVER /CMD DhcpGet
ip -4 addr show
ip route
ثمة نمطان للفشل يستحقان المعرفة قبل أن تنقّح أي شيء آخر. العميل الذي بقي لديه عنوان ثابت من تصميم سابق سيحتفظ به ويتجاهل الإيجار، فيبدو الأمر وكأن DHCP يرفض الإجابة. ومصدر DHCP ثانٍ على مقطع جسري سيتنافس على العملاء أنفسهم، ما ينتج عناوين متقطعة وطابور دعم لا يستطيع إعادة إنتاج المشكلة.
التجمعات المتداخلة تنتمي إلى هنا أيضًا. إذا تداخل تجمع DHCP الافتراضي مع الشبكة الفرعية للمضيف أو مع تجمع محور آخر، يحصل العميل على عنوان يوجّه بشكل ملتبس، ويصبح كل اختبار لاحق غير حاسم.
القرار 2: من يوجّه خارج البوابة الافتراضية
مع تفعيل NAT الافتراضي، يترجم الخادم حركة الخروج من المحور ويرسلها عبر جدول توجيه المضيف. وهذا يعني أن سلسلة التوجيه هي: العميل إلى البوابة الافتراضية، ثم NAT الافتراضي إلى حزمة المضيف، ثم حزمة المضيف إلى مسارها الافتراضي. وكل حلقة قد تفشل دون أن تمس الأخرى، وبصمات الفشل تختلف.
اختبر القرار الثاني بشيء يجب أن يغادر المحور، لا بشيء محلي داخله. فبينغ البوابة الافتراضية يثبت الحلقة الأولى ولا شيء أكثر:
vpncmd localhost /SERVER /CMD NatGet
vpncmd localhost /SERVER /CMD NatTable
dig +short example.com
ip route get 203.0.113.10
إذا نجح تحليل الأسماء وفشلت الاتصالات بعنوان عام، فأنت في سلسلة التوجيه لا في DHCP. وإذا فشل الاثنان، فافحص المُحلِّل أولًا، لأن مُحلِّلًا يُدفع كعنوان داخلي غير قابل للوصول سيجعل مسارًا عاملًا يبدو معطلًا تمامًا.
توجيه SecureNAT تنفّذه عملية الخادم، لا مسار التوجيه في النواة الذي كنت ستستخدمه مع جسر. وهذا مريح وأبطأ من الجسر، ويعني أيضًا أن قواعد جدار الحماية وقرارات التوجيه لدى المضيف ما تزال تنطبق على الحركة المترجمة. وNAT الافتراضي لا يتجاوز سياسة المضيف؛ بل يستخدمها.
مسار المضيف نفسه أمر ثالث
كل ما سبق يفترض أن مضيف الخادم يستطيع الوصول إلى الوجهة. فمضيف بلا مسار صاعد عامل، أو بسياسة خروج مقيّدة، أو بعائلة عناوين لا يملكها، سيفشل في القرار الثاني مهما كان إعداد المحور صحيحًا. افحص المضيف بذاته، خارج النفق، قبل أن تنسب فشله إلى SoftEther.
SecureNAT ليس أيضًا تفويضًا للوصول إلى كل شبكة مرتبطة بالخادم. فهو يترجم ويوجّه الحركة التي تصل إليه؛ أما تحديد ما يجوز للمضيف الوصول إليه فيبقى من عمل جدار الحماية والتوجيه على المضيف، والتصميم الذي يعتمد على النفق لمنح الوصول لا يبعد عن منح الكثير إلا بقاعدة سيئة واحدة.
عائلات العناوين تستحق فحصًا خاصًا بها. فمثال DHCP عامل على IPv4 لا يثبت أن كل قدرة IPv6 موجودة في بنائك، لذا اقرأ الدليل الخاص بالإصدار الذي تشغّله فعلًا قبل أن تعد بسلوك مزدوج الحزمة. ويغطي قسم SecureNAT من الدليل وظائف NAT وDHCP الافتراضية للإصدار الحالي.
تحقّق من كل قرار باختباره الخاص
اقبل القرار الأول بفحص الإيجار: عنوان في التجمع، بوابة تساوي واجهة المضيف الافتراضية، ومُحلِّل هو الذي أعددته. واقبل الثاني بطلب خارج من العميل مع نظرة على جدول NAT في الخادم، لأن ارتفاع عدد الجلسات هو الدليل المباشر الوحيد على أن الترجمة تحدث لا أنها مفعّلة فحسب.
ثم سجّل الانقسام في مذكرة التصميم: أي مكوّن يوفّر العنوان، وأي مكوّن يوجّه، وأي واجهة مضيف تخرج منها الحركة. وعندما يغيّر إعادة التشغيل السلوك، تخبرك تلك المذكرة أي الثلاثة يجب أن تفحصه بدلًا من إعادة تشغيل كل شيء والأمل في أن تتحرك الأعراض.
ثمة قرار آخر ينتمي إلى السجل، حتى لو لم تتخذه اليوم: SecureNAT والجسر المحلي تصميمان مختلفان للمحور نفسه، والمحور الذي يحتاج كليهما هو محور يحتاج خطة مختلفة. اختر بوعي، واكتب السبب، فلن يضطر الشخص التالي إلى هندسة ذلك عكسيًا من إعداد قيد التشغيل.