معرفی سرویس ddns و نحوه عملکرد
DNS مخفف Domain Name System است و وظیفه سرویس DNS، تبدیل اسم به IP است و ddns یا DynamicDNS آی پی متغیر یا دینامیک دارد یعنی هر بار آی پی توسط سرویس گیرنده هر بار تغییر می کند. ddns کاربرد های زیادی دارد از جمله زمانی که شما نیاز دارید به سرور شرکت یا سازمان و سرور شخصی خود از راه دور دسترسی داشته باشید. نحوه عملکرد این سرویس ساده است که در بازه های زمانی مشخص مثلا هر 20 دقیقه آی پی اینترنتی شما رو به سرور ddns ارسال می کند و در نهایتا رکوردی را آپدیت می کند. در این روش نیاز نیست شما دامین ثبت کنید و فقط از یک زیر دامنه استفاده می کنید به عنوان مثال در آدرس dl.turbodigital.ir قبل از turbodigital.ir از یک زیر دامنه یا sub domain به نام dl استفاده شده برای هاست دانلود.
محدودیت های این سرویس در ایران به خاطر تغییرات شرکت های سرویس دهنده
از نیمه دوم سال 1395 برخی از سرویس دهنده محدودیت هایی اعمال کردند که دیگر از سرویس ddns نمی شد استفاده کرد و این محدودیت بستن پورت نبود بلکه به زبان ساده تر به اشتراک گذاشتن یک آی پی (استفاده از NAT) بین چند مشترک به دلیل محدودیت IPv4 است. IPv4 در حدود ۴٬۲۹۴٬۹۶۷٬۲۹۶ آدرس ظرفیت دارد ولی باید به این توجه داشته باشید که بخشی از این مقدار هم برای شبکه های خصوصی رزور شده پس دلیل تغییراتی که در شبکه ی سرویس دهنده ها به وجود آمده به همین دلیل است و با نگاه کردن به بخش وضعیت مودم قابل مشاهده است ، برای مثال به تصویر زیر دقت کنید Default Gateway برابر است با 100.115.0.1 و به معنی این است که دیگر شما نمی توانید از آی پی داینامیک خود استفاده کنید و دلیل اصلی استفاده از NAT در ISP ها هست.
دریافت سورس کد و راهکارهای استفاده از این سرویس در همه ی تجهیزات
سورس کد و آموزش راه اندازی کامل این سرویس رایگان نبوده که هزینه دریافت سورس کد ، آموزش کامل و پشتیبانی 15 روزه مبلغ 2,000,000 تومان می باشد که صد البته تفاوت هایی هم با دیگر سرویس ها دارد مثل ارائه راهکارهایی برای استفاده از این سرویس به روش های مختلف برای تجهیزاتی که از این سرویس پشتیبانی نمی کنند و خیلی قدیمی هستند یا به دلیل تعریف نشدن سرویس شما در قسمت تنظیمات ddns امکان استفاده وجود ندارد که برای این منظور از تجهیزات خاصی استفاده می کنیم و این تجهیزات توسط ما طراحی شده است فقط قبل از تهیه این سرویس در مورد محدودیت سرویس دهنده که در همینجا هم اشاره شده تحقیق کنید تا به مشکل بر نخورید.
راه اندازی سرور ddns (غیر رایگان)
برای راه اندازی این سرویس به حداقل 50 مگابایت فضا و پنل مدیریتی cpanel و یک دامین نیاز می باشد فایل های مورد نیاز رو هم از (جهت دریافت فایل ها با شماره 09395367005 تماس حاصل فرمایید) دانلود کنید و در پوشه public_html آپلود و از حالت zip خارج کنید فقط دقت کنید فایل ها در صفحه اصلی باشند مرحله بعد ساخت دیتابیس و بازگردانی فایل ddns.sql می باشد. بعد از ساخت دیتابیس در cpanel بر روی گزینه phpmyadmin کلیک کنید و دیتابیس رو انتخاب کنید سپس بر روی Import کلیک ، فایل ddns.sql رو انتخاب و در نهایت دکمه go بزنید تا فایل آپلود شود و جداول ساخته شود
تنظیم کران جاب برای آپدیت رکورد ها
مرحله آخر تنظیم کران جاب در هاست برای فایل cronjob.php است. در cpanel بر روی Cron Jobs کلیک کنید و همانند شکل زیر پارامترها رو پر کنید Common Settings رو بر روی Once Per Five Minutes(*/5 * * * *) تنظیم کنید و در قسمت Command هم پارامتر زیر رو با توجه به آدرس فایل وارد کنید و در نهایت دکمه Add New Cron Job رو بزنید.
/usr/bin/php -q /home/public_html/ddns/cronjob.php >/dev/null
در تصاویر زیر نمونه صفحات ورود و گزارش وضعیت رو می تونید مشاهده کنید. با وارد کردن نام کاربری که همان زیر دامنه می باشد می توانید تعداد دفعات ارسالی و وضعیت زیر دامنه ، زمان ، تاریخ و آی پگی لحظه رو مشاهده کنید.
برای ارسال آی پی به سرور از متد Get به روش زیر استفاده کنید
http://your-domain.ir/ddns/index.php?sub=test&pass=123456
در صورت نمایش Update successful یعنی همه مراحل رو درست پیش رفتید و آی پی جدید جایگزین شد
در صورت نمایش No Update آی پی شما با آی پی موجود در سرور یکسان و نیاز به آپدیت ندارد
توضیح مختصر درباره نحوه عمکرد
تا اینجا با آدرس تعیین شده از طریق متد GET یک فیلد بنام ddns_ip در صورت تایید اعتبار بروز رسانی می شود فایل cronjob.php این وظیفه رو بر عهده داره که طبق بازه زمانی که در تنظیمات cron jobs اعمال کردیم هر 5 دقیقه فیلد مربوط به همه ی اکانت ها را در جدول wp_users بررسی و در صورتی که مقدار ddns_ip با فیلد old_ip یکسان نباشد آدرس مربوطه را برابر با ddns_ip می کند و مقدار old_ip رو هم برابر با ddns_ip می کند در نتیجه هر بار نیاز به بروز رسانی همه رکورد ها نیست.
نقش TTL در عملکرد این سرویس
در مورد TTL در دامنه منظور زمان زنده مانده آدرس یه دامنه در کش (cache) می باشد یعنی الان عمر زیر دامنه در کش فقط 100 ثانیه می باشد و بعد از 100 ثانیه دوباره سرور آدرس رو در کش ها بروز رسانی می کند و باید این رو در نظر بگیرید زمان پایین تر باعث افزایش استفاده از منابع هاست مثل cpu و ram می شود و درصورتی که تعداد اکانت ها زیاد شد سعی کنید این زمان رو به 1000 تغییر دهید.
Error 301>Invalid JSON: ><head
سلام این مال چی هست با اجرای cronjob
نسخه Cpanel چنده؟
سلام و وقت بخیر. ممنون از مقاه خوبتون.
فقط یک سوال : متد دریافت آدرس از این آیپی چجوریه؟ ینی میشه مثه نو آیپی با دسترسی به آدرسی مثه myhost.ddns.net به آیپی مورد نظر دسترسی داشت؟
سوال دوم اینکه پورت در کجا تعریف میشه؟
سوال اول رو درست متوجه نشدم ولی آخر سوال رو ، بله میشه
سوال دوم
باید سمت هاست یا سرور تغییر ایجاد بشه و در نهایت آدرس رو به شکل زیر وارد می کنی
myhost.ddns.net:8080
من فکر کنم نتونستم منظور سوالم رو درست برسونم. سرورهای ddns که تو نت موجودن (مثه noip.com) این قابلیت رو دارن که صرفا با داشتن اون آدرس خاص (myhost.ddns.net) بتونید مستقیما به آیپی که با اون اکانت آپدیت میشه متصل بشی.ینی من که آدرس myhost.ddns.net رو وارد میکنم تو مرورگر خودم مستقیما صفحه کنسول مودم ام رو میاره! حالا کافیه یه پورت فورواردینگم براش بذارم تا پورت موردنظرم رو برای برد ESP8266 ام فوروارد کنه و من بتونم با زدن myhost.ddns.net:myport از هر نقطه دنیا به ماژول Esp ام وصل بشم. اما تو روشی که شما ارائه دادی من همچین… بیشتر بخوانید »
اول: عمکرد مثل دیگر سرور های ddns است دوم: با آی پی چک کنید ببینید مثلا صفحه لاگین مودم رو می بینید , هر چند بستگی به این داره مودم این ویژگی رو پیش فرض فعال کرده باشه یا نه سوم: برای اینکه مطمین بشید رکورد آپدیت شده و آی جدید جایگزین شده از دستور ping استفاده کنید چهارم: برای بعضی سرویس دهنده های اینترنتی نمی تونی اینو تو شبکه خودت تست بزنی و بهتره مثلا از اینترنت گوشی استفاده کنی پنجم : انگار برای mohsenftr2.gigfa.com آی پی سرور خوتون رو مجددا وارد کردید. الان بررسی کردم این زیر دامنه… بیشتر بخوانید »
سلام خسته نباشید اطلاعات هاست یعنی یوزر و پسورد هاست و قسمت localhost کجاست لطفا یکم راهنمایی کنید به مشکل خوردم و در قسمت وارد کردن یوزر و پسورد برای مشاهده وضعیت پسورد رو از کجا باید تعیین کرد ممنون
برای آپدیت شدن رکورد ها از API های CPanel استفاده می شه که همون یوزر و پسوردی هست که باهاش وارد بخش مدیریت (cpanel) هاست میشید
فایل index.php در پوشه ddns رو هم به همین شکل خط ۴ رو تغییر بدید.
فایل cronjob.php در پوشه ddns
با سلام خسته نباشید برای قسمت صفحه نمایش آی پی ها تا یک حدودی که پر میشه دیگه رفرش نمیشه چیکار باید کرد
توی فایل index.php در پوشه ddns خط 34
if ($n > 5000){
mysqli_query($link , “DELETE FROM log”);
}
عدد 5000 رو به 100 تغییر بدید