Обертка CGI для RFC2136 NSUpdate.
Совместим с AVM Fritz! Box, Ubiquiti Edgerouter и многие другие.
Ключи HMAC для отправки обновлений в Sherervers имен зашифрованы .
Ключевое имя и пароль - это имя пользователя и пароль для сценария.
Конечная точка по умолчанию.
Используется AVM Fritz! Box.
| Получить параметр | Описание | Пример |
|---|---|---|
| режим | Управление, если IP -адрес должен быть выбран из параметров запроса или из заголовка запроса | all : используются параметры и запрос IP, request : IP -запрос используется, parameter : параметры запроса используются |
| имя пользователя | Название ключа HMAC, используемого NSUpdate | exampleddns = /var/www/dyndns-cgi/keys/hmac-exampleddns.enc |
| пароль | PassFrase, используемый для расшифровки ключа 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-inabled/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==";
};Конечно, теперь вам также нужно добавить политики обновления в зону .