On Mon, 19 Dec 2005, Robert Tulke wrote: > Hallo ich betreibe einen Server im Internet worauf der DNS Server Bind > läuft Nun möchte ich wie es einige freie Anbieter tun, DynDNS Service > selbst für mich privat betreiben leider hab ich bisher noch keine > tools/programme gefunden die das am besten im Zusammenhang mit Bind9 > machen.
nsupdate macht das von Haus aus. Das sieht hier so aus und wird vom ip-up.d aus aufgerufen: dfw1:/etc/ppp/ip-up.d# cat dipsec == cut == #!/bin/bash /usr/local/bin/dns-secgw.sh | /usr/bin/nsupdate -k /etc/bind/dnsupdate.key -v /bin/sleep 1 /etc/init.d/ipsec restart == cut == == cut dns-secgw.sh == #!/bin/sh AWK=/usr/bin/awk GREP=/bin/grep IFCONFIG=/sbin/ifconfig myhostname=HOSTNAME.FQDN.NAME myifc=DEININTERFACE-MIT-DER-IP (hier ppp0) myip=`$IFCONFIG | $GREP -A 1 ^${myifc} | $GREP "inet addr:" | $AWK '{print $2}' | $AWK 'BEGIN{ FS=":" } { print $2 }'` echo "update delete ${myhostname}" echo "" echo "update add ${myhostname} 1 A ${myip}" echo "" == cut == Dem Ziel-DNS ggü. wird mit dem Key authentifiziert. Dein lokaler DNS "weiß" natürlich zumindest aufgrund einer forward-Zone, welchen Remote-DNS er ansprechen soll. Das sieht dann in der named.conf.local hier so aus: zone "DEINE.PRIVATE.ZONE.FÜR.ALLE.HOSTS" IN { type forward; forward only; forwarders { DEIN.EXTERNER.NAMESERVER.IP; }; }; Leider geht damit kein Reverse-Resolving, das nach außen sichtbar ist - aber immerhin. :-) Aber zumindest können andere Hosts diese "DEINE.PRIVATE.ZONE.FÜR.ALLE.HOSTS" wie folgt abfragen: dig @deindns DEINHOSTNAME.DEINE.PRIVATE.ZONE.FÜR.ALLE.HOSTS oder über eine entsprechende forward-zone direkt resolven. Noch schöner: Keiner außer Dir weiß welche Hosts in welcher Zone es in deinem LAN gibt. Wenn Du dann noch deinem lokalen BIND mitteilst, daß er die max-ncache-ttl auf 1 sec stellt, dann hast Du IP-Wechselzeiten im einstelligen Sekundenbereich. Das bekommst Du mit dyndns und Konsorten nicht hin. > Kennt jemand solche Programme? Oder gibt es irgendwie die > möglichkeit so etwas selbst zu betreiben? Alles mit Bordmitteln. Keine 3rd-Party notwendig. t++