نحوه تنظیم Dynamic DNS

Dynamic DNS چیست؟

بیایید یک مثال معمول از راه اندازی DNS بگیریم. دامنه شما است example.com، و شما Aپرونده هایی برای server1.example.comو " " دارید server2.example.com. Server1 در Vultr میزبان است ، اما server2 در یک شبکه محلی مانند داخل مشاغل شما یا به عنوان یک دستگاه توسعه در خانه شما میزبان است. به طور معمول ، این نوع از محیط های محلی دارای آدرس های IP عمومی به طور پویا از ارائه دهنده خدمات اینترنت شما (ISP) اختصاص می یابند و ممکن است به طور غیر منتظره تغییر کنند. این امر باعث می شود که server2 ناگهان به یک آدرس IP اشتباه اشاره کند که می تواند خدمات را به شدت تحت تأثیر قرار دهد. در این مقاله نحوه تنظیم خدمات DNS پویا خود را که روی یک دستگاه محلی اجرا می شود نشان می دهد و می تواند پس از تغییر IP عمومی ، رکورد server2 را در Vultr DNS به طور خودکار بروزرسانی کند.

در حالی که مشتریان برای برخی از ارائه دهندگان DNS دوست دارند ddclientو inadynکار خواهند کرد ، Vultr در حال حاضر از این پشتیبانی نمی کند و در عوض از API سفارشی خود استفاده می کند. این سرویس به صورت محلی روی دستگاه شما اجرا می شود و از درخواست های GET و POST به همراه کلید دسترسی شما استفاده می کند.

پیش نیازها

  • برای تنظیم DNS و مدیریت کلیدهای دسترسی به حساب Vultr خود دسترسی پیدا کنید.
  • امکان اتصال به دستگاه محلی که دارای یک آدرس IP پویا است (یا دسترسی به یک دستگاه دیگر در همان شبکه).

نصب و راه اندازی

دامنه خود را برای استفاده از سرویس DNS Vultr تنظیم کنید

  • اگر از سرویس DNS Vultr برای دامنه خود استفاده نمی کنید ، این مقاله را دنبال کنید تا سرورهای نام خود را برای استفاده با Vultr تغییر دهید.
  • پس از راه اندازی Vultr DNS ، به صفحه مدیریت DNS تحت "سرورها -> DNS -> [نام دامنه شما]" بروید.
  • در اینجا تمام پرونده های تنظیم شده برای دامنه خود را پیدا خواهید کرد. بنویسید کدام رکورد (ها) را که می خواهید تغییر دهید بنویسید ، زیرا بعداً به این مورد نیاز خواهید داشت.
    • فقط Aسوابق توسط این ابزار پشتیبانی می شوند. اگر چندین Aضبط دارید که می خواهید به همان آدرس IP " CNAME" دهید ، آنها را به " " سوابق " " تغییر دهید و آنها را به یک " A" رکورد تبدیل کنید. این کار در طولانی مدت برای شما ساده تر خواهد بود و راهی مناسب برای پیکربندی DNS محسوب می شود.

ابزارهای مورد نیاز را نصب کنید

  • به سرور محلی خود وصل شوید. این می تواند مستقیم یا از طریق SSH باشد.
  • این ابزار به پایتون 3 احتیاج دارد. بیشتر توزیعهای لینوکس شامل پیش نصب شده Python است. در صورت عدم نصب در محیط شما ، دستورالعمل هایی در ویکی رسمی پایتون در اینجا موجود است:
  • این فرآیند همچنین به Git نیاز دارد ، که می توانید با دستورالعمل های زیر نصب کنید:

در حال بارگیری مشتری Dynamic DNS

از Git برای کلون کردن مخزن حاوی مشتری DDNS python استفاده کنید. شما باید این کار را در یک دایرکتوری ایمن انجام دهید که به آن دسترسی کامل دارید. پوشه خانه شما باید کافی باشد. دستور زیر را اجرا کنید:

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

ایجاد یک نشانه دسترسی شخصی

یک نشانه دسترسی شخصی در Vultr ایجاد کنید. این کار را می توان در "Account -> API -> Token Access Personal" انجام داد. در همان صفحه ، شما باید زیر "Access Control" بروید و روی دکمه "Allow All IPv4" کلیک کنید ، زیرا هر بار IP سرور محلی خود را نمی شناسید ، از این رو نقطه DNS پویا است.

پیکربندی ابزار برای سرور شما

  • config.json.exampleنمونه ای از پرونده پیکربندی خود را از طریق پرونده بخوانید .
  • config.jsonپرونده را با استفاده از ویرایشگر متن مورد علاقه خود باز کنید و مقادیر را بر اساس تنظیم سرور خاص خود پر کنید.
  • پرونده باید شامل موارد زیر باشد:

    {
        "api_key": "",
        "domain": "",
        "dynamic_records": [
        ""
        ]
    }
    
  • نماد دسترسی خود را وارد قسمت کنید api_key.

  • دامنه پایه خود را وارد قسمت کنید domain. به عنوان مثال، example.com.
  • اکنون Aپرونده هایی را که می خواهید در قسمت " " تغییر دهید ، وارد کنید dynamic_records. با استفاده از مثال قبلی ، می توانید آدرس IP را server2به طور خودکار تغییر دهید server2. ممکن است چندین زیر دامنه وارد کنید. اگر می خواهید Aپرونده " " پایه را برای دامنه خود تغییر دهید (معمولاً به عنوان یک " " ارجاع می شود @، سابقه ای که هنگام حرکت مستقیم به آن پاسخ می دهد example.com) ، به سادگی نقل قول های خالی را ترک کنید.
  • یک پرونده پیکربندی مناسب ممکن است به صورت زیر باشد ، جایی که می خواهید IP را به صورت پویا تغییر دهید example.comو server2.example.com:

    {
        "api_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        "domain": "example.com",
        "dynamic_records": [
        "",
        "server2"
        ]
    }
    
  • اکنون این تغییرات را ذخیره کنید و پرونده شما باید خوب باشد!

پیکربندی خود را تست کنید

  • اسکریپت و تنظیمات را با اجرا تست کنید python3 ddns.py. در صورت عدم بازگشت خطا ، پیکربندی شما اسمی است و می توانید فرآیند اتوماسیون را شروع کنید.

اتوماسیون

پس از اتمام تنظیم اولیه ، مهم است که یک کار تکراری تنظیم کنید زیرا فیلمنامه به طور پیش فرض این کار را انجام نمی دهد. به دستگاه محلی خود متصل شوید و بر اساس سیستم عامل خود مراحل زیر را دنبال کنید.

لینوکس و مک OSX

لینوکس و مک از 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 شما اکنون به طور خودکار به روز می شود.

پنجره ها

یک کار را در Task Scheduler ایجاد کنید تا هر 30 دقیقه یک بار اجرا شود. برای ایجاد کار اساسی ، از راهنمای مایکروسافت پیروی کنید .

  • Task Scheduler را باز کنید و روی "ایجاد کار ..." کلیک کنید.
  • به آن اسم دهید و یک ماشه جدید ایجاد کنید.
  • روی "روزانه" کلیک کنید. در زیر "تنظیمات پیشرفته" کلیک کنید تا هر 30 دقیقه کار را تکرار کنید و "را برای مدت زمان" به "نامحدود" تغییر دهید.
  • اقدام جدیدی را برای شروع یک برنامه اضافه کنید و به فهرست اجرایی Python خود بروید. اضافه کردن ddns.pyاسکریپت به عنوان یک استدلال.

یک نظر بگذارید

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.