-----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. - -- pozdrawiam, Maciej Suszko. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (FreeBSD) iD8DBQFFrSsqCikUk0l7iGoRAgPHAJwK7DajAjUKM9cnl4AQBYWTRau2UwCZATqI WSo4u/07eqw8cGti1EH1EkA= =13xH -----END PGP SIGNATURE----- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

