Dynamic DNS مع معزول
اجعل اسمًا مثل home.maazul.space يشير دائمًا إلى اتصال منزلي أو مكتبي يتغير عنوان IP الخاص به. يحدّث معزول سجل DNS حقيقيًا من نوع A أو AAAA على خوادم أسماء موثوقة (authoritative)؛ لا يوجد Proxy في المنتصف، لذلك يصل الزوار إلى جهازك مباشرة.
١. قبل البدء
- أنشئ حسابًا مجانيًا ونطاقًا فرعيًا بسجل A (لـ IPv4) أو سجل AAAA (لـ IPv6).
- افتح النطاق الفرعي في لوحة التحكم، ومن قسم Dynamic DNS اضغط «إنشاء Token».
- انسخ الـ Token الذي يبدأ بـ mzl_. يُعرض مرة واحدة فقط، ويمكنك إلغاؤه وإنشاء غيره في أي وقت.
٢. واجهة التحديث (API)
POST https://maazul.com/api/ddns/update
Authorization: Bearer mzl_YOUR_TOKEN
Content-Type: application/json
{"ip": "203.0.113.7"}احذف "ip" أو أرسل طلبًا فارغًا لاستخدام عنوان IP العام الذي جاء منه الطلب. عنوان IPv4 يحدّث سجل A، وعنوان IPv6 يحدّث سجل AAAA. والأجهزة التي لا تدعم سوى طلبات GET يمكنها استدعاء https://maazul.com/api/ddns/update?ip=203.0.113.7 مع ترويسة Authorization نفسها.
تبدو الاستجابة الناجحة هكذا، وتعني "changed": false أن العنوان كان محدّثًا بالفعل ولم يتغير شيء:
{"success":true,"data":{"fqdn":"home.maazul.space","type":"A","ip":"203.0.113.7","changed":true,"status":"active"}}٣. لينكس أو macOS أو Raspberry Pi (باستخدام cron)
# crontab -e (update every 5 minutes, uses this machine's public IP) */5 * * * * curl -fsS -X POST https://maazul.com/api/ddns/update -H "Authorization: Bearer mzl_YOUR_TOKEN" > /dev/null
٤. ويندوز (PowerShell وTask Scheduler)
# maazul-ddns.ps1 (schedule it every 5 minutes in Task Scheduler)
Invoke-RestMethod -Method Post -Uri "https://maazul.com/api/ddns/update" -Headers @{ Authorization = "Bearer mzl_YOUR_TOKEN" }٥. راوترات MikroTik (RouterOS)
الصق الأمرين التاليين في الطرفية. الأول ينشئ سكربت التحديث، والثاني يشغّله كل 5 دقائق:
/system script add name=maazul-ddns source="/tool fetch url=\"https://maazul.com/api/ddns/update\" http-method=post http-header-field=\"Authorization: Bearer mzl_YOUR_TOKEN\" output=none" /system scheduler add name=maazul-ddns interval=5m on-event="/system script run maazul-ddns"
٦. تحقّق من أنه يعمل
dig +short home.maazul.space nslookup home.maazul.space
يجب أن يُظهر الأمران عنوان IP العام الحالي. تظهر التغييرات خلال مدة الـ TTL، وهي 300 ثانية افتراضيًا.
٧. حل المشكلات
- 401 «Invalid DDNS token»: الـ Token غير صحيح أو أُلغي. أنشئ واحدًا جديدًا من لوحة التحكم.
- «This subdomain has no A record to update»: أضف أولًا سجلًا من نوع العنوان نفسه (A لـ IPv4 وAAAA لـ IPv6).
- 429 «Too many requests»: الحد 60 تحديثًا في الساعة من عنوان IP واحد، والتحديث كل 5 دقائق أكثر من كافٍ.
- النطاق الفرعي موقوف مؤقتًا بسبب عدم النشاط: تحديث Dynamic DNS يعيد تفعيله تلقائيًا.
- النطاق الفرعي موقوف بقرار إداري: تُرفض التحديثات حتى تتم إعادته. تواصل معنا إن كنت تعتقد أن ذلك خطأ.
الأمان: لا يستطيع الـ Token تغيير عنوان IP إلا للنطاق الفرعي الخاص به. حافظ على سرّيته، وألغِه من لوحة التحكم إذا تسرّب.