بداية وقبل البدء في شرح اعدادات ال (DNS) الديناميكي وكيفية تفعيلها في أجهزة المايكروتك لا بد من مقدمة بسيطة عن مفهوم ال (DDNS) لمن لا يعرفه:
يعتبر (DDNS) نسخة محدثة من نظام ال (DNS) والذي وظيفته الرئيسية تحويل عناوين المواقع من صيغة (www.google.com) مثلاً الى صيغة (111.234.221.3) أي انه عبارة عن سيرفر او جزء من سيرفر تأتيه طلبات من الحواسيب المرتبطة به عبر شبكة تحتوي الطلبات على أسماء المواقع المقروءة بشرياً (human readable) ليقوم بتحويلها الى صيغة الكترونية رقمية مقروءة حاسوبياً (computer readable) وهي عناوين ال (IP address) والغاية من هذه العملية هو تسهيل استخدام المواقع الالكترونية من قبل البشر الذي من الصعب ان يحفظ الصيغة الرقمية لكل المواقع في العالم فتم انشاء صيغة تسمية للمواقع قريبة من الفهم البشري وسهلة التذكر وهي المستخدمة اليوم بشكل رئيسي ويتلخص عمل ال (DNS) في الصورة التالية:
بعد ظهور ال (DNS) وعمله بشكل طبيعي لسنين طويلة بدأت تواجهه المشاكل التالية:
1- البطء في الاستجابة بسبب زيادة عدد المواقع الالكترونية في العالم والية البحث التسلسلي الخاصة به.
2- صعوبة إدارة الشبكات الكبيرة حيث ان ادخال العناوين والأرقام يتم يدوياً ويتم التحديث يدوياً مع كل تحديث في العناوين رقمية او كلامية مما سبب مشاكل أكبر مع الزيادة الهائلة في اعداد مواقع الانترنت.
3- عدم وجود تكامل بين ال (DHCP) وال (DNS) الاعتيادي.
4- ارتباط بعض الأسماء بحواسيب شخصية تتغير عناوينها الرقمية باستمرار مما يخلق مشكلة في حالة الاعتماد على التحديث اليدوي ال (DNS) الاعتيادي.
5- نفاد العناوين الحقيقية لل (IP) مما جعل الكثير من أصحاب الشركات والمواقع يلتجئون الى أنظمة الاستضافة المجانية او مدفوعة الثمن (free or paid hosting services) للحصول على عناوين (IP) ديناميكية متغيرة باستمرار مما يجعل الاعتماد على ال (DNS) التقليدي يسبب مشاكل كبيرة جداً.
كل هذه المشاكل وغيرها استطاع ال (Dynamic Domain Name System DDNS) من تلافيها وتجاوزها حيث انه يقوم بالتحديث التلقائي للعناوين الرقمية المرتبطة بمجالات المواقع والشبكات مما جعله البديل الأكثر منطقية للنظام القديم ومن هنا وجي على مدراء الشبكات ومزودي خدمة الانترنت (ISP) تحديث وضبط اعدادات النظام الجديد (DDNS) للاستفادة من مميزاته الكثيرة.
والان نأتي الى كيفية ضبط اعدادات هذا النظام في أجهزة المايكروتك:
نقوم بفتح ال(winbox) بالطريقة الاعتيادية ونذهب الى (system) ثم نختار (scripts) كما في النافذة التالية:
والان ننقر على إشارة الإضافة (+) كما في النافذة التالية:
نغير الاسم ال (dyndns) وننسخ الكود التالي كاملاً مع الانتباه الى تغيير اسم المستخدم وكلمة المرور واسم الموقع والتي هي معلومات التسجيل في موقع ال (DDNS) وهي كما يلي:
تصبح مثلاً:
والان الكود:
# Define User Variables :global ddnsuser “DYNDNSUSER” :global ddnspass “DYNDNSPASS” :global ddnshost “DYNDNSHOST” # Define Global Variables :global ddnsip :global ddnslastip :if ([ :typeof $ddnslastip ] = nil ) do={ :global ddnslastip “0” } :global ddnsinterface :global ddnssystem (“mt-” . [/system package get system version] ) # Define Local Variables :local int # Loop thru interfaces and look for ones containing # default gateways without routing-marks :foreach int in=[/ip route find dst-address=0.0.0.0/0 active=yes ] do={ :if ([:typeof [/ip route get $int routing-mark ]] != str ) do={ :global ddnsinterface [/ip route get $int interface] } } # Grab the current IP address on that interface. :global ddnsip [ /ip address get [/ip address find interface=$ddnsinterface ] address ] # Did we get an IP address to compare? :if ([ :typeof $ddnsip ] = nil ) do={ :log info (“DynDNS: No ip address present on ” . $ddnsinterface . “, please check.”) } else={ :if ($ddnsip != $ddnslastip) do={ :log info “DynDNS: Sending UPDATE!” :local str “/nic/update?hostname=$ddnshost&myip=$ddnsip&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG” /tool fetch address=members.dyndns.org src-path=$str mode=http user=$ddnsuser \ password=$ddnspass dst-path=(“/DynDNS.”.$ddnshost) :delay 1 :local str [/file find name=”DynDNS.$ddnshost”]; /file remove $str :global ddnslastip $ddnsip } } |
ويمكن نسخ الكود من الرابط التالي:
http://wiki.mikrotik.com/wiki/Dynamic_DNS_Update_Script_for_dynDNS
وننقر على (ok) للأشارة الى اكتمال العمل وكما في النافذة التالية:
والان ننقر على تبويب (system) ثم نختار (scheduler) كما في النافذة التالية:
وننقر على إشارة الإضافة (+) لأضافة جدولة جديدة وكما في النافذة التالية:
نغير القيم كما في النافذة ادناه ونجعل الفترة 15 دقيقة و (on event = dyndns) :
والان ننقر على (apply) ثم (ok) لأنهاء الاعدادات.