خيارات تحليل اسم DNS للأجهزة الظاهرية لنظام Linux في Azure
ينطبق على: ✔️ أجهزة Linux الظاهرية ✔️ مجموعات مقياس مرنة
يوفر Azure تحليل اسم DNS بشكل افتراضي لجميع الأجهزة الظاهرية الموجودة في شبكة ظاهرية واحدة. يمكنك تنفيذ حل لحل اسم DNS الخاص بك عن طريق تكوين خدمات DNS الخاصة بك على أجهزتك الظاهرية التي يستضيفها Azure. يجب أن تساعدك السيناريوهات التالية في اختيار السيناريو الذي يناسب موقفك.
يعتمد نوع تحليل الاسم الذي تستخدمه على المدى الذي تحتاج إليه أجهزتك الظاهرية ومثيلات الدور للاتصال بعضها ببعض.
يوضح الجدول التالي السيناريوهات وحلول تحليل الأسماء المقابلة:
السيناريو | الحل | اللاحقة |
---|---|---|
تحليل الاسم بين مثيلات الدور أو الأجهزة الظاهرية في الشبكة الظاهرية نفسها | تحليل الاسم الذي يوفره Azure | اسم المضيف أو اسم النطاق المؤهل بالكامل (FQDN) |
تحليل الاسم بين مثيلات الدور أو الأجهزة الظاهرية في الشبكات الظاهرية المختلفة | خوادم DNS التي يديرها العميل والتي تعيد توجيه الاستعلامات بين الشبكات الظاهرية ليُحللها Azure (وكيل DNS). راجع تحليل الاسم باستخدام خادم DNS الخاص بك. | FQDN فقط |
تحليل أجهزة الكمبيوتر المحلية وأسماء الخدمات من مثيلات الأدوار أو الأجهزة الظاهرية في Azure | خوادم DNS التي يديرها العميل (على سبيل المثال، وحدة تحكم المجال المحلية أو وحدة تحكم المجال للقراءة فقط أو DNS ثانوي تتم مزامنته باستخدام عمليات نقل المنطقة). راجع تحليل الاسم باستخدام خادم DNS الخاص بك. | FQDN فقط |
إعداد تحليل الاسم أسماء المضيفين Azure من أجهزة الكمبيوتر المحلية. | أعد توجيه الاستعلامات إلى خادم وكيل DNS الذي يديره العميل في الشبكة الظاهرية المقابلة. ثم يقوم الخادم الوكيل بإعادة توجيه الاستعلامات إلى Azure للحصول على التحليل. راجع تحليل الاسم باستخدام خادم DNS الخاص بك. | FQDN فقط |
عكس DNS لـ IP الداخلية | تحليل الاسم باستخدام خادم DNS الخاص بك | غير متوفر |
تحليل الاسم الذي يوفره Azure
إلى جانب تحليل أسماء DNS العامة، يوفر Azure تحليل اسم داخلي للأجهزة الظاهرية ومثيلات الأدوار الموجودة في الشبكة الظاهرية نفسها. في الشبكات الظاهرية التي تستند إلى Azure Resource Manager، تكون لاحقة DNS متسقة عبر الشبكة الظاهرية؛ FQDN غير مطلوب. يمكن تعيين أسماء DNS لكل من بطاقات واجهة الشبكة (NICs) والأجهزة الظاهرية. على الرغم من أن تحليل الاسم الذي يوفره Azure لا يتطلب أي تكوين، فإنه ليس الخيار المناسب لجميع سيناريوهات التوزيع، كما هو ملاحظ في الجدول السابق.
الميزات والاعتبارات
الميزات:
- لا يلزم تكوين لاستخدام تحليل الاسم الذي يوفره Azure.
- تتوفر خدمة تحليل الاسم الذي يوفره Azure بشكل كبير. لست بحاجة إلى إنشاء مجموعات من خوادم DNS الخاصة بك وإدارتها.
- يمكن استخدام خدمة تحليل الاسم التي يوفرها Azure جنباً إلى جنب مع خوادم DNS الخاصة بك لتحليل كل من أسماء مضيفي Azure المحلية وأسماء مضيفات Azure.
- يتم توفير تحليل الاسم بين الأجهزة الظاهرية في الشبكات الظاهرية دون الحاجة إلى FQDN.
- يمكنك استخدام أسماء المضيفين التي تصف عمليات النشر بشكل أفضل بدلاً من العمل مع الأسماء التي يتم إنشاؤها تلقائياً.
الاعتبارات:
- لا يمكن تعديل لاحقة DNS التي ينشئها Azure.
- لا يمكنك تسجيل سجلاتك يدويا.
- WINS وNetBIOS غير مدعومين.
- يجب أن تكون أسماء المضيفين متوافقة مع DNS. يجب أن تستخدم الأسماء فقط 0-9 و a-z و '-'، ولا يمكن أن تبدأ أو تنتهي ب '-'. راجع القسم الثاني من RFC 3696.
- يتم تقييد حركة مرور استعلام DNS لكل جهاز ظاهري. لا ينبغي أن يؤثر التحكم بالنطاق الترددي على معظم التطبيقات. إذا لوحظ تقييد الطلب، فتأكد من تمكين التخزين المؤقت من جانب العميل. لمزيد من المعلومات، راجع Getting the most from name resolution that Azure provides.
تحقيق أقصى استفادة من تحليل الاسم الذي يوفره Azure
التخزين المؤقت من جانب العميل:
لا يتم إرسال بعض استعلامات DNS عبر الشبكة. يساعد التخزين المؤقت من جانب العميل على تقليل زمن الانتقال وتحسين المرونة في مواجهة تناقضات الشبكة من خلال تحليل استعلامات DNS المتكررة من ذاكرة التخزين المؤقت المحلية. تحتوي سجلات DNS على وقت مباشر (TTL) يمكِّن ذاكرة التخزين المؤقت من تخزين السجل لأطول فترة ممكنة دون التأثير في حداثة السجل. ونتيجة لذلك، يعد التخزين المؤقت من جانب العميل مناسباً لمعظم المواقف.
لا تتضمن بعض توزيعات Linux التخزين المؤقت بشكل افتراضي. نوصي بإضافة ذاكرة تخزين مؤقت إلى كل جهاز ظاهري يعمل بنظام التشغيل Linux بعد التحقق من عدم وجود ذاكرة تخزين مؤقت محلية بالفعل.
يتوفر العديد من حزم التخزين المؤقت DNS المختلفة، مثل dnsmasq. فيما يلي خطوات تثبيت dnsmasq على التوزيعات الأكثر شيوعاً:
- تثبيت حزمة dnsmasq:
sudo apt-get install dnsmasq
- تمكين خدمة dnsmasq:
sudo systemctl enable dnsmasq.service
- بدء تشغيل خدمة dnsmasq:
sudo systemctl start dnsmasq.service
عمليات إعادة المحاولة من جانب العميل
DNS عبارة عن بروتوكول UDP في المقام الأول. ونظراً لأن بروتوكول UDP لا يضمن تسليم الرسالة، فإن بروتوكول DNS نفسه يعالج منطق إعادة المحاولة. يمكن لكل عميل DNS (نظام تشغيل) عرض منطق إعادة محاولة مختلف اعتماداً على تفضيل المنشئ:
- قم بإعادة محاولة تشغيل أنظمة التشغيل Windows بعد ثانية واحدة ثم مرة أخرى بعد ثانيتين وأربع ثوانٍ أخرى.
- يعيد إعداد Linux الافتراضي المحاولة بعد خمس ثوانٍ. يجب عليك تغيير هذا لإعادة المحاولة خمس مرات على فترات مدتها ثانية واحدة.
للتحقق من الإعدادات الحالية على جهاز Linux الظاهري، "cat /etc/resolv.conf" ألقِ نظرة على سطر "الخيارات"، على سبيل المثال:
sudo cat /etc/resolv.conf
options timeout:1 attempts:5
/etc/resolv.conf
يتم إنشاء الملف تلقائيا ولا يجب تحريره. تختلف الخطوات المحددة التي تضيف سطر "الخيارات" حسب التوزيع:
Ubuntu (يستخدم resolvconf)
- أضف سطر الخيارات إلى
/etc/resolvconf/resolv.conf.d/head
الملف. - شغِّل
sudo resolvconf -u
للتحديث.
SUSE (يستخدم netconf)
- أضف
timeout:1 attempts:5
إلى المعلمةNETCONFIG_DNS_RESOLVER_OPTIONS=""
في/etc/sysconfig/network/config
. - شغِّل
sudo netconfig update
للتحديث.
تحليل الاسم باستخدام خادم DNS الخاص بك
قد تتجاوز احتياجات تحليل الاسم الميزات التي يوفرها Azure. على سبيل المثال، قد تحتاج إلى تحليل DNS بين الشبكات الظاهرية. لتغطية هذا السيناريو، يمكنك استخدام خوادم DNS الخاصة بك.
يمكن لخوادم DNS الموجودة في شبكة ظاهرية إعادة توجيه استعلامات DNS إلى المحلل التكراري الخاص بـ Azure لتحليل أسماء المضيفين داخل تلك الشبكة الظاهرية. على سبيل المثال، يمكن لخادم DNS الذي يعمل في Azure الاستجابة لاستعلامات DNS لملفات منطقة DNS الخاصة به وإعادة توجيه جميع الاستعلامات الأخرى إلى Azure. تمكن هذه الوظيفة الأجهزة الظاهرية من رؤية كل من إدخالاتك في ملفات منطقتك وأسماء المضيفين التي يوفرها Azure (عبر معيد التوجيه). يتوفر الوصول إلى المحللات المُتداخلة في Azure عبر عنوان IP الظاهري 168.63.129.16.
تُؤدي إعادة توجيه DNS أيضاً إلى تمكين تحليل DNS بين الشبكات الظاهرية، وتسمح لأجهزتك المحلية بحل أسماء المضيفين المتوفرة من قبل Azure. لتحليل اسم مضيف الجهاز الظاهري، يجب أن يكون الجهاز الظاهري لخادم DNS موجوداً في الشبكة الظاهرية نفسها، وأن يتم تكوينه لإعادة توجيه استعلامات اسم المضيف إلى Azure. نظراً لاختلاف لاحقة DNS في كل شبكة ظاهرية، يمكنك استخدام قواعد إعادة التوجيه الشرطية لإرسال استعلامات DNS للشبكة الظاهرية الصحيحة للتحليل. توضح الصورة التالية شبكتين ظاهريتين وشبكة محلية تُحلل DNS بين الشبكات الظاهرية، باستخدام هذا الأسلوب:
عند استخدام تحليل الاسم الذي يوفره Azure، يتم توفير لاحقة DNS الداخلية لكل جهاز ظاهري باستخدام DHCP. عند استخدام حل تحليل الاسم الخاص بك، لا يتم توفير هذه اللاحقة للأجهزة الظاهرية لأن اللاحقة تتداخل مع بنيات DNS الأخرى. للإشارة إلى الأجهزة من خلال FQDN أو لتكوين اللاحقة على أجهزتك الظاهرية، يمكنك استخدام PowerShell أو واجهة برمجة التطبيقات لتحديد اللاحقة:
- بالنسبة إلى الشبكات الظاهرية التي تتم إدارتها من خلال Azure Resource Manager، تتوفر اللاحقة عبر مورد بطاقة واجهة الشبكة. يمكنك أيضاً تشغيل الأمر
azure network public-ip show <resource group> <pip name>
لعرض تفاصيل عنوان IP العام الخاص بك، والذي يتضمن FQDN الخاص بـ NIC.
إذا كانت إعادة توجيه الاستعلامات إلى Azure لا تناسب احتياجاتك، فستحتاج إلى توفير حل DNS الخاص بك. يحتاج حل DNS الخاص بك إلى:
- توفير تحليل مناسب لاسم المضيف، على سبيل المثال عبر DDNS. إذا كنت تستخدم DDNS، فقد تحتاج إلى تعطيل مسح سجلات DNS. عقود إيجار DHCP ل Azure طويلة وقد يؤدي مسحها إلى إزالة سجلات DNS قبل الأوان.
- قم بتوفير التحليل التكراري المناسب للسماح بحل أسماء المجالات الخارجية.
- يمكن الوصول إليه (TCP وUDP على المنفذ 53) من العملاء الذين تخدمهم ويكون قادراً على الوصول إلى الإنترنت.
- أن يكون مؤمَّناً ضد الوصول من الإنترنت للتخفيف من التهديدات التي يشكلها الوكلاء الخارجيون.
إشعار
للحصول على أفضل أداء، عند استخدام الأجهزة الظاهرية في خوادم Azure DNS، قم بتعطيل IPv6 وقم بتعيين عنوان IP عام على مستوى المثيل لكل جهاز ظاهري لخادم DNS.