Страница 1 из 1

Динамический DNS своими руками

Добавлено: 2009-08-19 13:22:36
BAV_Lug

Re: Динамический DNS своими руками

Добавлено: 2009-08-19 13:37:26
Alex Keda
ну, у меня нечто подобно =)
тока на пыхе с шеллом - в кроне фетч работает, а на сайте скрипт пыховый - IP в файл пишет.
потом шеллк роном подбирает - делает дифф со старым, если сменился - переделывает зону

Re: Динамический DNS своими руками

Добавлено: 2009-08-27 6:28:07
stormik
а если в наличии не один сервак с динамическим ip :cz2: , да и я думаю с авторизацией было бы надежнее. А то будут нользоваться нахаляву твоим сервисом :-D

Re: Динамический DNS своими руками

Добавлено: 2009-09-09 15:14:46
FenX
делали нечто подобное, только с другой целью :)
у другана впн+динамика.
стоит фря.
задачей было сделать копию динднса.
раз в день, в 12 часов у него происходило обновление сессии впн, ну и заодно смена ипа.
новый ип писался в файлег и скидывался ко мне на фтп.

на той же тачке, где и фтпшник, установлен днс.
там уже раз в 10 минут по крону отрабатывает скрипт, который выдергивает инфу (ип) из этого файлика
и сравнивает с текущим.
если отличаются - изменить.

вот как-то так :)

т.е. на обоих сторонах у нас фря.

если будет интересно, то скриптики выложу)

Re: Динамический DNS своими руками

Добавлено: 2009-09-09 15:40:11
FenX
кстате, слишком уж у вас замудрено получилось)
система динамического обновления зон реализована самими разрабами бинда))

вот вам для примера скриптик:

Код: Выделить всё

#!/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
выдержка из named.conf

Код: Выделить всё

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
далее выдергиваем сам ключ из Ktest01.key.****.private

Нормально обновляется всё и без рукоблудства))

Re: Динамический DNS своими руками

Добавлено: 2009-09-09 15:50:22
FenX
этот вариант, кстате, можно заюзать и для удалённого обновления)
правда я самостоятельно не эксперементировал)))
нужно будет попробовать поюзать)

Re: Динамический DNS своими руками

Добавлено: 2013-10-04 11:32:51
maxus
http://dns-ip.ru/Home/DynDns это сам использую

Re: Динамический DNS своими руками

Добавлено: 2013-10-04 14:37:38
mak_v_
FenX писал(а):кстате, слишком уж у вас замудрено получилось)
система динамического обновления зон реализована самими разрабами бинда))

вот вам для примера скриптик:

Код: Выделить всё

#!/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
выдержка из named.conf

Код: Выделить всё

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
далее выдергиваем сам ключ из Ktest01.key.****.private

Нормально обновляется всё и без рукоблудства))
Отлично и изящно, плюсь секьюрно: ключик можно указать для конкретной зоны\хоста.

Re: Динамический DNS своими руками

Добавлено: 2014-07-30 12:00:38
codam
Действительно изящно, а содержимое dynamic/test01.domain.com можете выложить?