غلاف CGI لـ RFC2136 NSUPDATE.
متوافق مع AVM Fritz! Box و Ubiquiti Edgerouter وغيرها الكثير.
يتم تشفير مفاتيح HMAC لإرسال التحديثات إلى خوادم الأسماء.
الاسم الرئيسي ومكافحة المرور هما اسم المستخدم وكلمة المرور للنص.
نقطة النهاية الافتراضية.
يستخدم من قبل AVM Fritz! Box.
| الحصول على المعلمة | وصف | مثال |
|---|---|---|
| وضع | عناصر التحكم إذا كان يجب اختيار عنوان IP من معلمات الاستعلام أو من رأس الطلب | all : يتم استخدام المعلمات وطلب IP ، request : يتم استخدام طلب IP ، parameter : يتم استخدام معلمات الاستعلام |
| اسم المستخدم | اسم مفتاح HMAC يستخدمه NSUPDATE | exampleddns = /var/www/dyndns-cgi/keys/hmac-exampleddns.enc |
| كلمة المرور | شريط المرور المستخدم لفك تشفير مفتاح HMAC | |
| اِختِصاص | المجال للتحديث | ddns.example.com |
| IP4 | عنوان IPv4 للاستخدام | 127.0.0.1 |
| IP6 | عنوان IPv6 للاستخدام | :: 1 |
| IP | عنوان IPv4 أو IPv6 للاستخدام ، يتم تجاهل المعلمة عند تعريف ip4 أو ip6 | 127.0.0.1 |
Dyndns الإصدار 1.
تتطلب نقطة النهاية المصادقة الأساسية HTTP.
| الحصول على المعلمة | وصف | مثال |
|---|---|---|
| Host_id | المجال للتحديث | ddns.example.com |
| myip | عنوان IPv4 أو IPv6 للاستخدام | 127.0.0.1 |
Dyndns الإصدار 2.
تستخدم من قبل Ubiqiti Edgerouter.
تتطلب نقطة النهاية المصادقة الأساسية HTTP.
| الحصول على المعلمة | وصف | مثال |
|---|---|---|
| اسم المضيف | المجال للتحديث | ddns.example.com |
| myip | عنوان IPv4 أو IPv6 للاستخدام | 127.0.0.1 |
# original endpoint
curl " https://ns.example.com/cgi-bin/dyndns.cgi?username=exampleddns&password=eeh2phioyaa6ro1eiphuaRiuthee8EiJ&ip4=127.0.0.1&ip6=::1 " # dyndns1
# picked from ubiquiti edge router
curl -u exampleddns:eeh2phioyaa6ro1eiphuaRiuthee8EiJ " https://ns.example.com/nic/dyndns?action=edit&started=1&hostname=YES&host_id=ddns.example.com&myip=127.0.0.1 " # dyndns2
# picked from ubiquiti edge router
curl -u exampleddns:eeh2phioyaa6ro1eiphuaRiuthee8EiJ " https://ns.example.com/nic/update?system=dyndns&hostname=ddns.example.com&myip=127.0.0.1 " هناك مثال ansible في ansible-example.yml كذلك.
apt install dnsutils nginx-full libnginx-mod-http-lua fcgiwrapضع الملفات على نظام Debian/ Ubuntu تمامًا كما هي في المجلد SRC/.
إذا قمت بتشغيل توزيع Linux آخر ، فقد تحتاج إلى إجراء بعض التغييرات.
يمكن العثور على جميع التكوينات المطلوبة في SRC/etc/nginx/dyndns_cgi.conf.
يجب تضمينه في مضيف افتراضي nginx.
يمكن العثور على مثال على تكوين المضيف الظاهري في SRC/ETC/NGINX/SITES-SITES/Example.Conf.
إنشاء كلمة مرور:
perry@localhost ~ $ pwgen 32 1
eeh2phioyaa6ro1eiphuaRiuthee8EiJإنشاء مفتاح HMAC:
perry@localhost ~ $ dnssec-keygen -a HMAC-SHA512 -b 512 -n HOST exampleddns
Kexampleddns.+165+26667
perry@localhost ~ $ cat Kexampleddns.+165+26667.private
Private-key-format: v1.3
Algorithm: 165 (HMAC_SHA512)
Key: 0L0iTAPeXmyWbu0wJMsWw52GqVfeL22aZE2xmhlNcrXNdCgF3262ifx2yIuJs+T1H8CWdV+79HClWOzwvnn/LA==
Bits: AAA=
Created: 20210925150939
Publish: 20210925150939
Activate: 20210925150939تشفير المفتاح بكلمة المرور:
root@localhost ~# echo -n "0L0iTAPeXmyWbu0wJMsWw52GqVfeL22aZE2xmhlNcrXNdCgF3262ifx2yIuJs+T1H8CWdV+79HClWOzwvnn/LA==" | openssl enc -aes-256-cbc -e -iter 1000 -a -salt > /var/www/dyndns-cgi/keys/hmac-exampleddns.enc
enter aes-256-cbc encryption password: eeh2phioyaa6ro1eiphuaRiuthee8EiJ
Verifying - enter aes-256-cbc encryption password: eeh2phioyaa6ro1eiphuaRiuthee8EiJأضف مفتاح BIND9 أسماء الأسماء:
key exampleddns {
algorithm hmac-sha512;
secret "0L0iTAPeXmyWbu0wJMsWw52GqVfeL22aZE2xmhlNcrXNdCgF3262ifx2yIuJs+T1H8CWdV+79HClWOzwvnn/LA==";
};بالطبع تحتاج الآن إلى إضافة سياسات التحديث إلى المنطقة أيضًا.