[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Własny dynamiczny dns



07-01-16, Maciej Suszko <tlhscd@wm.pl> napisał(a):
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Marcin Owsiany wrote:
> Nie testowane, ogólna idea tylko (zwłaszcza regex do access.loga trzeba
> dopracować, bo nie chce mi się patrzeć jaki tam dokładnie jest format):
>
> w domu w crontabie:
> wget --user .. --password ... http://praca/trigger
>
> w pracy w crontabie:
>
> ----------------------------------------------------------
> #!/bin/bash
> # to zakłada, że resolving w apache'u jest wyłączony
> # jeśli jest inaczej, to trzeba zrobić lookup PTR albo wstawić niżej
> # CNAME zamiast A
> ip=$(egrep '/trigger.* 200 ' /var/log/apache/access.log | tail -n 1 | awk '{print $1}')
> # XXX: race condition
> mv ~/ip ~/ip.prev
> echo ${ip} > ~/ip
> cmp ~/ip.prev ~/ip >/dev/null 2>&1 && exit 0
> cat <<END > /etc/bind/domena.zone
> domek IN A ${ip}
> END
> sudo ndc reload domena
> ----------------------------------------------------------
>
> a w /var/www/.htaccess odpowiednio zapodać usera i hasło

Najlepiej i chyba najprościej będzie skorzystać z narzędzi, które
oferuje sam Bind. Wygenerować klucz używając `dnssec-keygen`,
skonfigurować serwer dns tak, żeby umożliwiał zdalną zmianę rekordu w
strefie. Potem pozostaje napisać skrypt, który okresowo wywoływany np.
przez crona sprawdza IP interesującego nas interfejsu, porównuje go z IP
"zrezolwowanym" przez np `host` i gdy istnieje potrzeba - używając
`nsupdate` uaktualnia rekord w strefie.
Jedyny "babol" takiego rozwiązania jest taki, że jak już raz zaczynamy w
ten sposób aktualizować strefę, to nie możemy/nie powinniśmy zmieniać
jej ręcznie (poprawcie mnie, jeżeli się mylę).

Jakiś czas temu napisałem takiego "klienta" w Pythonie - jakby ktoś był
zainteresowany, to mogę podesłać - cud to to nie jest, ale podstawowa
funkcjonalność była - ZTCP testowałem go pod Linuksem, FreeBSD i Solarisem.

A najprostsze windowsowe dynamic update ? (zakładam ze stacja robocza
na windowsie XP )

--
Wojciech Ziniewicz
Unix SEX :{look;gawk;find;sed;talk;grep;touch;finger;find;fl
ex;unzip;head;tail; mount;workbone;fsck;yes;gasp;fsck;more;yes;yes;eje
ct;umount;makeclean; zip;split;done;exit:xargs!!;)}

Reply to: