Dynamic DNS یا DDNS چیست و چگونه پیاده سازی میشود ؟! ( همه چیز درباره ی Dynamic DNS) چاپ نامه الکترونیک
امتیاز کاربر: / 5
بدخوب 
مقالات - شبکه
نوشته شده توسط محمد مهدی حاجی اسمعیلی   
پنجشنبه ۱۲ شهریور ۱۳۸۸ ساعت ۰۰:۳۲

Dynamic DNS یا DDNS چیست و چگونه پیاده سازی میشود ؟!

( همه چیز درباره ی Dynamic DNS)

DDNS Logo

مقدمه


یادمه یه بار که میخواستم برم سفر و دوری از جگر گوشه هام (کامپیوترهای خونه !) برام خیلی سخت بود تصمیم گرفتم تا کاری کنم که بتونم از هر جای دنیا با کامپیوتر آنلاینم در ارتباط باشم. رفتم و مثل علافها آدرس IP کامپیوتره رو که با ADSL بطور همیشگی به اینترنت وصل بود در آوردم و بعدش به خودم گفتم : " حاجی ! چون الان آدرسش رو داری، پس از هر جای دنیا میتونی بهش وصل بشی ! " و یه تست هم کردم و دیدم که بله !
از اونجاییکه ISP من یه کمی باقالی تشریف داشته بود (!) جلوی دسترسی به شبکه ی داخلیش (که کامپیوتر منم جزوش محسوب میشد) رو نگرفته بود و من هم دو سه باری که تست کردم دیدم مشکلی نیست...

خلاصه ! ما رفتیم سفر و بعد از 12 ساعت بدن بنده شروع به خارش شدیدی کرد که ناشی از کمبود عنصر حیاتی IT درون خونم بود !  وقتی که استفاده از iPod و موبایل جواب نداد احساس کردم که دیگه وقت تزریق اینترنت رسیده ! بدو بدو رفتم یه کافی نت پیدا کردم و توش نشستم و نرم افزار Remote Desktop رو باز کردم تا بتونم به سیستمم وصل بشم.

آقا IP زدن همانا، وصل نشدن همانا، و سنگ کوب من هم همانا !

معلوم شد که یه بار سیستم من Restart شده و مجبور شده که دوباره IP بگیره و ISP ما (که باقالی هم تشریف داشت !) با اینکه Public IP به مشتریانش میداد، ولی این IP ها هر دفعه تغییر میکردن و باعث شده بودن که آدرس کامپیوتر بنده هم با یه بار Restart شدن عوض بشه و حالا آمبولانس بیار و نعش حاج اسمال معتاد بیهوش رو از توی کافی نت بار کن ببر بیمارستان !

حالا بعد از شنیدن این داستان خیالی (!) ما یه مشکل واقعی داریم و باید حلش کنیم !

 

مشکل : چطوری میشه همیشه بشه (!) به کامپیوتری که آدرس Public داره ولی زرت و زرت این آدرسش عوض میشه وصل شد ؟
راه حل : خب این مقاله ی گور به گور شده رو بخونین تا بفهمین دیگه !

 

 

DDNS و ساز و کار آن

 


یادمه چند وقت پیش یه مقاله روی همین سایت خودمون (CyberLone.com) گذاشته بودم که در مورد چگونگی ارتباط دو کامپیوتر از راه دور به کمک اینترنت بود. توی اون مقاله هه تمرکز من روی مشکل اصلی یعنی آدرس IP این دو کامپیوتر بودش. توی اون سناریو من در نظر گرفتم که دو کامپیوتر ما دارای Private IP هستند بدین معنی که آدرسشون در دنیای اینترنت قابل تحلیل نام و یا حتی Route شدن نیست.

با توجه به رشد روز افزون تکنولوژی ADSL در کشورمون و حضور پر رنگ تر ADSL Modem هایی که دارای تکنولوژی روز هستند تصمیم گرفتم که یه کمی دوگوله رو به کار بندازم و مقاله ایی برای استفاده از یک تکنولوژی کمتر شناخته شده (ولی پرکاربرد) به نام Dynamic DNS بنویسم.

Dynamic DNS چیه ؟! یه متد هستش برای حل مشکل IP های متغیر.
با استفاده از Dynamic DNS ما میتونیم یک نام FQDN یی برای خودمون ثبت کنیم که همیشه به کامپیوترمون اشاره داره و حتی اگر IP کامپیوترمون هم تغییر کنه، این نام FQDNیی باز هم به آدرس IP جدید ما اشاره خواهد کرد.
متوجه نشدین چی شد ؟! مهم نیست ! هر کی مقالات منو میخونه دچار این نوع گه گیجه میشه ولی یه کم که صبر کنین رفع میشه ! فقط قبلش روی مانیتور بالا نیارین ! برین و آب پیاز بخورین تا استفراغ نکنین !


خوبه ! حالا ذهنتون آماده شدش ! بریم :

 

1. من میرم و توی یک سایت ثبت نام میکنم که میگذاره من نام FQDNیی دلخواهم رو به عنوان یک SubDomain بهش اضافه کنم. من میرم و مثلا سایت DynDns.info رو انتخاب میکنم و نام CyberLone رو بهش اضافه میکنم و نتیجه ی نهایی میشه : CyberLone.DynDns.info
Dynamic DNS DDNS
عکس 1 : نمایی از چگونگی قرارگیری نام مورد نظر در کنار Domain مربوطه

2. بعد یه برنامه نصب میکنم ( یا اینکه Modem یا Routerم رو تنظیم میکنم) تا هر وقتی که حس کرد آدرس IP جدیدی بهش داده شده (و قدیمیه دود شده رفته هوا !) سریع بدوه و بره پیش CyberLone.DynDns.info و این آدرس IP رو به این نام تخصیص بده.
3. حالا میرم و پشت یه کامپیوتر که توی هاوایی هستش میشینم، بعدش Remote Desktop رو باز میکنم و بعدشم به جای آدرس IP کامپیوترم، نام FQDNییش رو وارد میکنم : CyberLone.DynDns.info
4. سیستم برای تحلیل نام به Top Level Domain های مربوط به .Com رجوع میکنه و بعدش اونها هم به Second Level Domain اصلی ما یعنی DynDns.info اشاره خواهند کرد.
5. DynDns.info به ما میگه که آدرس IP فعلی CyberLone.DynDns.info فلان آدرس هستش و ما میتونیم زرتی بهش وصل بشیم.
6. به همین راحتی و به همین خوشمزگی !

چیزی که توی مقوله ی Dynamic DNS مهمه اینه که ما درک کنیم که چطوری عمل میکنه و اگه بتونیم اینکار رو بکنیم، پیاده سازیش در سیستمهای مختلف مثل سیرابی خوردن آسون میشه !
چرا جمله ی بالا رو گفتم ؟ برای اینکه پیاده سازی و استفاده از DDNS مثل یه سرویس Windows نیست که فقط یکی ازش وجود داشته باشه و هر بار که میخواین ازش استفاده کنین برین و چهار تا Click توی Wizardش کنین تا همه چی درست بشه (سناریوهای سیستم عاملهای ویندوز !)


DDNS به گستره ی بزرگی از دستگاهها (Router ها و حتی ADSL Modem ها) و نرم افزارها تقسیم میشه و این شما هستین که انتخاب میکنین از کدوم سرویس دهنده استفاده کنین. در این بین انتخاب سرویس دهنده ی نام (DNS Server) که از طریق وب در دسترس باشه خیلی مهمه.

طرز کار اینطوری هستش که میرین توی یکی از این سایتها، ثبت نام میکنین و نام درخواستی تون رو بهش میدین. با ثبت نام در این سایتها یک UserName و یک Password به شما اختصاص پیدا میکنه.


این اعتبارات رو نگه دارین تا بهتون بگم باید باهاشون چیکار کنین.

حالا دو حالت برای کاربران خونگی داریم :

 

1. اگر خونه تون ADSL Modemیی دارین که باهاش به اینترنت وصل میشین و این مودم جزو مودمهای به روز و تکنولوژیک باشه، میتونین از قابلیت DDNS یی که روی Firmwareش نصب هست استفاده کنین. در اینحالت کاری که غالبا باید انجام بدین ( و روی این دستگاهها عملکردشون یکسان هست) اینه که آدرس سایت سرویس دهنده (در اینجا DynDns.info) و سپس اعتباراتی که در این سایت دارین رو بهشون بدین.
حالا اگر اتفاقی بیفته و آدرس IP شما عوض بشه، این دستگاه مطلع میشه و سپس سایت DynDns.info رو در مورد تغییر آدرس خبر میکنه و... دینگ ! همه چیز درست میشه !

2. ولی اگه ارتباط شما طوری هست که از مودم و این دم و دستگاهها دوست ندارین استفاده کنین (یا اینکه نمیتونین) میتونین از نرم افزارهای Client استفاده کنین. کار این نرم افزارها عینهو همون دستگاهها هستش :
این نرم افزار هر وقت احساس کنه که آدرس IP قدیمیش تغییر کرده، سریعا یک بسته ی اطلاعاتی به سروری که براش مشخص شده ارسال میکنه و به کمک اون بسته، آدرس جدید رو به اطلاع سرویس میرسونه.
این نرم افزارها متفاوت هستند و غالبا سایتهای معروف DDNS خودشون دارای نرم افزار مخصوص خودشون هستند که میتونه با سرور اونها در ارتباط باشه. تنظیم این نرم افزارها هم اصلا سخت نیست و شاید سخت ترین کاری که باید انجام بدین، ثبت نامه اولیه در سایت طرف باشه.

Dynamic DNS DDNS Resolution

عکس 2 : چگونگی تحلیل نام در سرویسهای مبتنی بر DDNS

 

 

Provider یی که من در این مقاله ازش استفاده کردم DynDns.info بودش  که یکی از سایتهای شناخته شده برای دسترسی به سرویس DDNS هست(که فیلتر هم تشریف داشته بیدن !) ولی لیست بزرگی از سایتهای دیگر هم هستند که این سرویس رو ارائه میدن و برای نگاهی به این لیست میتونین به لینک زیر یه سری بزنین :


لیست سایتهای ارائه دهنده سرویس DDNS به همراه لیست نرم افزارهای Client Software برای برقراری با ارائه دهندگان Dynamic DNS

 

موضوعات متفرقه

 

احساس شاخی !

 


الان که اینو یاد گرفتیم، احتمالا میزان "شاخی" خونمون بالا رفته و میخوایم بریم توی نت و نفس کش بطلبیم ! البته این چیزی که گفتم مختص به بنده ی بی جنبه هستش که به محض اینکه چهار تا کلیک کردن و ماوس تکون دادن یاد میگیرم میخوام بدوم تو اینترنت همه ی زمین و زمان رو به چالش بطلبم ! اگه بتونم G2G راه بندازم که دیگه چشمتون روز بد نبینه ! احتمالا میرم توی آسمونا برای خدا شاخ بازی در میارم !

ولی حقیقت اینجاست که این تکنولوژی (DDNS) اصلا چیز جدیدی نیست و منم که دارم اینو مینویسم مطمئنم که قبل از من صدها ایرانی چنین مقاله ایی رو به تحریر در آورده ن. پس سوال اساسی اینه که چرا من علاف تشریف دارم ؟ علتش هم... بمونه !

در واقع اگه راستشو بخواین، تاریخ استفاده از DDNS به طوری که در بالا توضیح دادم به 10 سال پیش یعنی سال 1999 برمیگرده که یه روتر به نام UMAX UGate-3000 به بازار عرضه شد و میتونست آدرسهای جدید تغییر کرده ش رو روی دامنه ی TZO.com به روز کنه.

 

مشکلات رایج

 


یکی از مشکلاتی که ممکنه برای دسترسی پیش بیاد اینه که شما دارای یک NAT Router باشین و پشت این روترتون بیش از یک کامپیوتر موجود باشه. حالا اگه بخواین به کامپیوترهای داخلیتون وصل بشین که توسط DHCP Allocator آدرس گرفتن و آدرسشون Public نیست باید چه خاکی تو سرمون بکنین ؟!

در اینجا میتونین از مقوله ی Port Forwarding و یا DMZ (در دستگاههای ارتباط دهنده مثل مودمها و روترها) استفاده کنین تا بتونین درخواستها رو به کامپیوترهای فوق راهنمایی کنین. برخی Router ها و Modem ها حتی میتونن به کمک DMZ یی که در Firmwareشون تعریف شده اقدام به Forward کردن همه ی پورتها به کامپیوتر مورد نظرتون بکنن که این قابلیت خیلی توپ هم هست !

اگه نظر من رو هم میپرسین باید بگم که میتونین اولش به کامپیوتر اصلیتون وصل بشین و بعدش Remote Desktop بزنین به کامپیوترهای شبکه ی داخلی. اینطوری الکی لقمه رو دور سرتون نمیچرخونین !

 

راهکاری دیگر ( استفاده از Host (A) Records با TTL کوتاه )

 


ولی از این هم گذشته، مقوله ی استفاده از DDNS فقط شامل استفاده ی اینترنتی نیست. اگر بخواهیم DDNS رو طوری دیگه در ساختارها پیاده سازی کنیم، میتونیم رکوردهای Host (A) معروف رو با دادن TTL یی بسیار کوتاه (در حد پنج دقیقه) تبدیل به رکوردهایی کنیم که هی زرت و زرت باید ازشون درخواست آدرس جدید بشه !
ایی که گفتی یعنی چه ؟ (با لهجه ی شیرفرهاد برره بخونین موثرتر هستش !)

یعنی اینکه زمان فاسد شدن رکوردهای ناممون رو کاهش میدیم (مثلا تا 5 دقیقه) تا DNS Server ها نتونن اونها رو به مدت طولانی Cache کنن و وقتی که درخواست جدیدی دارن، مجبور بشن دوباره و دوباره به این رکوردها سر بزنن.

با اینکار اگر احتمال تغییر آدرس IP بره، این اتفاق بیشتر از 5 دقیقه وقت کسی رو نخواهد گرفت برای اینکه بعد از این مدت زمان، تمام DNS Server های طرف کلاینتها مجبورند که دوباره اقدام به تحلیل نام رکورد درخواستی ما (تبلیغات بازرگانی : www.CyberLone.com : به صورت متحرک نوشته ها رو در ذهنتون در نظر بگیرین تا مثل تبلیغ بشه !) بکنند.

فرق سناریوی ور رفتن با TTL با ساختار DDNS (که موضوع اصلی مقاله بود) در این هست :

 

1. در حالت اول (استفاده از روترها، مودمها یا DDNS Client ها) کامپیوتری که آدرس IPش تغییر میکنه، در آن اقدام به Update آدرسش در مکان مربوطه میکنه و همین اقدام سریع باعث میشه که در وقت درخواست کنندگان صرفه جویی بشه.
2. در حالت دوم (استفاده از رکوردهای با TTL کوتاه) ما به جای اینکه کار به روز کردن آدرس تغییر یافته رو به کامپیوتر بسپاریم، اینکار رو به DNS Server ها میسپاریم و بدین ترتیب خودمون رو راحت میکنیم ! ولی اگر آدرسی عوض بشه، ممکنه به صورت موقت دسترسی  درخواست کنندگان قطع بشه که برای سرورهای در سطح Enterprise اصلا خوب نیست و جیز هم هست !

مشکل ور رفتن با TTL چیه ؟


مشکلش اینه که هر کلاینت اینترنتی به یک DNS Server همیشه در صحنه و رایگان دسترسی نداره، چه برسه به اینکه بره توش فضولی کنه و TTL مربوط به خودش رو کم کنه ! اگر من مسئول اون DNS Server بودم، دست هر فضولی که بخواد از این غلطا توش بکنه رو از شونه میقطعوندم !
پس نتیجه میگیریم که باید با توجه به نیازتون مشکل تغییر آدرسهای IP و به روز موندن رکورد نام رو برطرف کنین.
خوش بگذره !

موخره

این یکی رو خدایی دیگه نمیخوام کشش بدم ! برین خوش باشین ! (خر هم حسابی بزنین، بعدش هم بیاین اشکالات منو بگیرین و بعدش هم کمک کنین مقاله های بهتر بنویسم !)

 

 

دانلود مقاله ی بالا به صورت نسخه ی PDF : همه چیز درباره ی DDNS یا Dynamic DNS

 

 

  • javad  - link
    سلام محمد عزیز خوبی
    خواستم باهات تبادل لینک کنم ولی اون قسمت که گذاشتی مشکل داره
    به هر حال اگه بنده رو قابل دونستی لینک کن . وبلاگم آموزش مایا و انیمیشن و فتوشاپ و ازیناست
    موفق باشی
  • محمد مهدی  - سلام جوادی !
    سلام جوادی !

    اون قسمت مشکل نداره ! به من دو بار خبر درخواستت رسیده ولی چونکه یه کمی دیر سر زدم شاید به نظرت رسیده که خرابه ! ولی درسته !

    تبادل لینک هم رو چشم عژیژم !
  • ناشناس
    اقا سلام من تازه مسئول کامپیوتر یه اداره شدم با اطلاعات زیر صفر اینقدر این سایت باحال بود که کلی حال کردم حالا تازه دارم صفر میشم از این به بعد چکار کنم قربانت رضا
  • ناشناس  - تشنه یادگیری مایا
    سلام
    میخواستم مایا یاد بگیرم و لی لینکتونو ندارم
  • Mohammad Mahdi
    salam.

    behtarin kar ine ke tooye yek seri class haye modiriate shabake sherkat konin.

    fekr nakonam khoondane ketab tooye in maghtae be dardetoon bokhore.

    movaffagh bashid
  • امیر  - netbioa
    سلام محمدخان ممنون از مطالب قشنگت
    آقا گلاب به روت میشه درباره netbios هم مقاله بنویسی
    بازم ممنون
  • محمد مهدی  - NetBIOS
    سلام امیر جان...

    اتفاقا در موردش دل پری برای نوشتن دارم ولی وقت زیادی ندارم... اگه خدا خواست به NetBIOS هم خواهیم پرداخت.

    موفق باشی
  • مینا  - عالی
    :woohoo:
    خیلی عالی بود
    ممنون
  • mehdi
    سلام،
    آقا مقاله آلی ;) یا ببخشید عالی بود، راستش من دو تا روتر دارم که بعد از دو تا روتر کامپیوتر من هست، هر کاری کردم از ddns استفاده کنم نشد تا مقاله شما رو دیدم، راه حلی به ذهنت می رسه بگو عجرت با امام حسین
نظر بدید
Your Contact Details:
نظر:
[b] [i] [u] [url] [quote] [code] [img]   
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):s
:!::?::idea::arrow:
Security
کد آنتی اسپم نمایش داده شده در عکس را وارد کنید.

!joomlacomment 4.0 Copyright (C) 2009 Compojoom.com . All rights reserved."

 

مقالات سر راهی !

پیاده سازی DHCP Relay Agent

ما برای پیاده سازی Relay Agent طبق سناریوی سوم که در مقاله ی قبلی با نام "DHCP Relay Agent چیست؟" مطرح شد عمل میکنیم. در این سناریو ما میایم و طبق توپولوژی Star مرکز ارتباطات شبکه و یا همون مکانی که قراره Router قرار بگیره رو تبدیل به Relay Agent میکنیم.

در اینحالت ما دو انتخاب داریم...

 

پیاده سازی DHCP Relay Agent

تبلیغات تصویری

آگهی
آگهی