كيفية إعداد DNS الحيوي

ما هو DNS الديناميكي؟

لنأخذ مثالًا شائعًا لإعداد DNS. مجالك example.com، ولديك Aسجلات لـ server1.example.comو server2.example.com. تتم استضافة Server1 في Vultr ، ولكن تتم استضافة server2 على شبكة محلية ، مثل داخل عملك أو كآلة تطوير في منزلك. عادةً ما تحتوي هذه الأنواع من البيئات المحلية على عناوين IP عامة يتم تعيينها ديناميكيًا من موفر خدمة الإنترنت (ISP) ، وقد تتغير بشكل غير متوقع. قد ينتج عن ذلك أن يشير server2 فجأة إلى عنوان IP خاطئ يمكن أن يؤثر بشدة على الخدمة. ستوضح لك هذه المقالة كيفية إعداد خدمة DNS الديناميكية الخاصة بك ، والتي تعمل على جهاز محلي ويمكنها تحديث السجل للخادم 2 في Vultr DNS تلقائيًا بعد تغيير IP العام.

بينما عملاء مثل ddclientو inadynستعمل لبعض مقدمي DNS، Vultr لا تدعم حاليا هذه وبدلا من ذلك يستخدم API المخصص التابع لها. سيتم تشغيل هذه الخدمة محليًا على جهازك وتستخدم طلبات GET و POST جنبًا إلى جنب مع مفتاح الوصول الخاص بك.

المتطلبات الأساسية

  • الوصول إلى حساب Vultr لإعداد DNS وإدارة مفاتيح الوصول.
  • القدرة على الاتصال بالجهاز المحلي الذي لديه عنوان IP ديناميكي (أو الوصول إلى جهاز آخر على نفس الشبكة).

التثبيت والإعداد

إعداد المجال الخاص بك لاستخدام خدمة DNS Vultr

  • إذا كنت لا تستخدم خدمة DNS الخاصة بـ Vultr في نطاقك ، فاتبع هذه المقالة لتعديل خوادم الأسماء لاستخدامها مع Vultr.
  • بمجرد إعداد Vultr DNS ، انتقل إلى صفحة إدارة DNS ضمن "الخوادم -> DNS -> [اسم المجال الخاص بك]".
  • ستجد هنا جميع السجلات التي تم إعدادها لنطاقك. اكتب السجلات التي ترغب في تغييرها ، حيث ستحتاج إليها لاحقًا.
    • Aتدعم هذه الأداة السجلات " " فقط . إذا كان لديك العديد من Aالسجلات التي تريد تحديثها إلى عنوان IP نفسه ، فقم بتغييرها إلى CNAMEسجلات " " وقم بتوجيهها إلى Aسجل واحد . سيؤدي ذلك إلى تبسيط الأمور بالنسبة لك على المدى الطويل ويعتبر الطريقة المناسبة لتكوين DNS.

تركيب الأدوات المطلوبة

  • اتصل بخادمك المحلي. يمكن أن يكون هذا مباشرة أو من خلال SSH.
  • تتطلب هذه الأداة Python 3. تتضمن معظم توزيعات Linux Python مثبتة مسبقًا. في حالة عدم تثبيته في بيئتك ، تتوفر الإرشادات على ويكي Python الرسمي هنا:
  • تتطلب هذه العملية أيضًا Git ، والتي يمكنك تثبيتها مع التعليمات أدناه:

تنزيل عميل DNS الحيوي

استخدم Git لاستنساخ المستودع الذي يحتوي على عميل بيثون DDNS. يجب عليك القيام بذلك في دليل آمن يمكنك الوصول إليه بالكامل. يجب أن يكون مجلدك الرئيسي كافياً. قم بتشغيل الأمر التالي:

git clone https://github.com/andyjsmith/Vultr-Dynamic-DNS.git vultrddns && cd vultrddns

إنشاء رمز وصول شخصي

إنشاء رمز وصول شخصي في Vultr. يمكن القيام بذلك ضمن "الحساب -> API -> رمز الوصول الشخصي". في نفس الصفحة ، ستحتاج إلى الانتقال ضمن "التحكم في الوصول" والنقر فوق الزر "السماح بجميع عناوين IPv4" ، نظرًا لأنك لن تعرف عنوان IP الخاص بخادمك المحلي في كل مرة ، ومن هنا تأتي نقطة DNS الديناميكي.

تكوين الأداة لخادمك

  • اقرأ config.json.exampleالملف للحصول على مثال لما يجب أن يبدو عليه ملف التكوين.
  • افتح config.jsonالملف باستخدام محرر النصوص المفضل لديك واملأ القيم بناءً على إعداد الخادم المحدد.
  • يجب أن يحتوي الملف على ما يلي:

    {
        "api_key": "",
        "domain": "",
        "dynamic_records": [
        ""
        ]
    }
    
  • أدخل رمز الوصول الخاص بك في الحقل api_key.

  • أدخل المجال الأساسي الخاص بك في domainالحقل. على سبيل المثال ، example.com.
  • الآن أدخل Aسجلات " " التي تريد تغييرها تحت dynamic_recordsالحقل. باستخدام المثال السابق ، ستدخل server2لتغيير server2عنوان IP تلقائيًا . يمكنك إدخال نطاقات فرعية متعددة. إذا كنت تريد تغيير Aالسجل الأساسي لنطاقك (يشار إليه عادة باسم " @، السجل الذي يستجيب عند الانتقال مباشرة إلى example.com) ، فما عليك سوى ترك علامات اقتباس فارغة.
  • قد يبدو ملف التكوين المناسب هكذا ، حيث تريد تغيير عنوان IP ديناميكيًا example.comو server2.example.com:

    {
        "api_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        "domain": "example.com",
        "dynamic_records": [
        "",
        "server2"
        ]
    }
    
  • الآن احفظ هذه التغييرات ويجب أن يكون ملفك على ما يرام!

اختبار التكوين الخاص بك

  • اختبر النص والتكوين عن طريق التشغيل python3 ddns.py. إذا لم يؤد هذا إلى ظهور أي أخطاء ، فسيكون تكوينك رمزيًا ويمكنك بدء عملية الأتمتة.

أتمتة

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

Linux و Mac OSX

يحتوي Linux و Mac على cronالأداة المساعدة مثبتة بالفعل ، والتي تتيح لك تحديد البرامج النصية لتشغيلها في جداول محددة.

  • ابحث عن المسار الكامل ddns.pyللملف باستخدامه realpath ddns.pyأثناء وجودك في vultrddnsالدليل.
  • اركض crontab -eلتحرير ملف crontab الخاص بك.
  • أضف السطر التالي إلى نهاية الملف ، مضيفًا المسار الحقيقي ddns.pyللملف:

    */30 * * * * python3 [full path to ddns.py] > /dev/null 2>&1
    
  • سيؤدي هذا إلى تشغيل النص البرمجي كل 30 دقيقة وإعادة توجيه جميع مخرجاته إلى /dev/null.

  • حفظ والخروج من محرر النصوص. سيتم تثبيت ملف crontab تلقائيًا وسيتم تحديث IP تلقائيًا الآن.

شبابيك

قم بإنشاء مهمة في جدولة المهام لتشغيلها كل 30 دقيقة. اتبع دليل Microsoft لإنشاء المهام الأساسية.

  • افتح برنامج جدولة المهام وانقر على "إنشاء مهمة ...".
  • أعطه اسماً وقم بإنشاء مشغل جديد.
  • انقر فوق "يومي". ضمن "الإعدادات المتقدمة" ، انقر لتكرار المهمة كل 30 دقيقة وتغيير "لمدة" إلى "إلى أجل غير مسمى".
  • أضف إجراءً جديدًا لبدء برنامج واستعرض للوصول إلى Python القابل للتنفيذ. أضف ddns.pyالنص البرمجي كحجة.


Leave a Comment

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

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

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد