Динамический DNS своими руками
Добавлено: 2009-08-19 13:22:36
Если не знаешь что делать – делай шаг вперёд
https://forum.lissyara.su/
Код: Выделить всё
#!/bin/sh
key="test01.key:b9BGaFa57Ktr2ZbMZhyZaxViRIDlyD24eeO8Fn4Mrr8KxQShc9Gpb0N6TZkGkLQPfld/zTFtNzNDhgyo9cAzGQ=="
nup="/usr/bin/nsupdate"
cat="/bin/cat"
look="/usr/bin/nslookup"
grep="/usr/bin/grep"
awk="/usr/bin/awk"
nip=`$cat /myftpdir/test01.ip`
cip=`$look test01.domain.com | $grep "Address: " | $awk '{print $2}'`
if [ -z "$nip" ];
then exit 1;
fi
if [ "$cip" != "$nip" ];
then
echo "server ns.domain.com
zone test01.domain.com
update delete test01.domain.com. A
update add test01.domain.com. 1 A $nip
show
send
" | $nup -y $key
exit 0;
else
exit 1;
fi
Код: Выделить всё
key test01.key {
algorithm hmac-md5;
secret "b9BGaFa57Ktr2ZbMZhyZaxViRIDlyD24eeO8Fn4Mrr8KxQShc9Gpb0N6TZkGkLQPfld/zTFtNzNDhgyo9cAzGQ==";
};
zone "test01.domain.com" {
type master;
notify yes;
file "dynamic/test01.domain.com";
allow-transfer { ht-sys; };
allow-update {
key test01.key;
};
};
Код: Выделить всё
dnssec-keygen -a HMAC-MD5 -b 512 -n USER test01.key
Отлично и изящно, плюсь секьюрно: ключик можно указать для конкретной зоны\хоста.FenX писал(а):кстате, слишком уж у вас замудрено получилось)
система динамического обновления зон реализована самими разрабами бинда))
вот вам для примера скриптик:выдержка из named.confКод: Выделить всё
#!/bin/sh key="test01.key:b9BGaFa57Ktr2ZbMZhyZaxViRIDlyD24eeO8Fn4Mrr8KxQShc9Gpb0N6TZkGkLQPfld/zTFtNzNDhgyo9cAzGQ==" nup="/usr/bin/nsupdate" cat="/bin/cat" look="/usr/bin/nslookup" grep="/usr/bin/grep" awk="/usr/bin/awk" nip=`$cat /myftpdir/test01.ip` cip=`$look test01.domain.com | $grep "Address: " | $awk '{print $2}'` if [ -z "$nip" ]; then exit 1; fi if [ "$cip" != "$nip" ]; then echo "server ns.domain.com zone test01.domain.com update delete test01.domain.com. A update add test01.domain.com. 1 A $nip show send " | $nup -y $key exit 0; else exit 1; fi
приватный ключик генерится командой:Код: Выделить всё
key test01.key { algorithm hmac-md5; secret "b9BGaFa57Ktr2ZbMZhyZaxViRIDlyD24eeO8Fn4Mrr8KxQShc9Gpb0N6TZkGkLQPfld/zTFtNzNDhgyo9cAzGQ=="; }; zone "test01.domain.com" { type master; notify yes; file "dynamic/test01.domain.com"; allow-transfer { ht-sys; }; allow-update { key test01.key; }; };
далее выдергиваем сам ключ из Ktest01.key.****.privateКод: Выделить всё
dnssec-keygen -a HMAC-MD5 -b 512 -n USER test01.key
Нормально обновляется всё и без рукоблудства))