Ich versammle alle meine Services in der Domain bonjour.30hopsmax.at:
/etc/bind/db.30hopsmax.at
bonjour IN NS nsa.30hopsmax.at.
/etc/bind/named.conf.local
zone "bonjour.30hopsmax.at" {
type master;
file "/etc/bind/db.bonjour.30hopsmax.at";
};
Zuerst muß ein Schlüssel erzeugt werden, damit die Zones vor unbefugten Updates geschützt ist:
# dnssec-keygen -a HMAC-MD5 -b 128 -n ZONE bonjour.30hopsmax.at Kbonjour.30hopsmax.at.+157+24109 # cat Kbonjour.30hopsmax.at.+157+24109.key bonjour.30hopsmax.at. IN KEY 256 3 157 kfPIPLRnNSfP2j71wutEFQ== # rm Kbonjour.30hopsmax.at.+157+24109.key
“kfPIPLRnNSfP2j71wutEFQ==” ist der Key und muß sowohl dem Nameserver als auch den Clients bekannt sein:
/etc/bind/named.conf.local
key bonjour.30hopsmax.at {
algorithm hmac-md5;
secret "kfPIPLRnNSfP2j71wutEFQ==";
};
zone "bonjour.30hopsmax.at" {
type master;
file "db.bonjour.30hopsmax.at";
allow-update { key bonjour.30hopsmax.at; };
};
So erfährt Bonjour, daß es auch in bonjour.30hopsmax.at nach Services suchen soll…:
/etc/bind/db.30hopsmax.at
b._dns-sd._udp.30hopsmax.at. IN PTR bonjour.30hopsmax.at. lb._dns-sd._udp.30hopsmax.at. IN PTR bonjour.30hopsmax.at.
… und wo es Updates hinschicken soll:
/etc/bin/db.30hopsmax.at
r._dns-sd._udp.30hopsmax.at. 3600 IN PTR bonjour.30hopsmax.at.
Neue Zone → eigener SOA-Eintrag; die PTR-Einträge zeigen Bonjour, daß hier tatsächlich Services findet.
/etc/bind/db.bonjour.30hopsmax.at
$TTL 1H
@ IN SOA nsa.30hopsmax.at. hostmaster.30hopsmax.at (
2006020303 ; Serial
3H ; Refresh
1H ; Retry
4W ; Expire
1M ) ; Negative Cache TTL
IN NS nsa.30hopsmax.at.
b._dns-sd._udp IN PTR @
lb._dns-sd._udp IN PTR @
r._dns-sd._udp IN PTR @
Ein paar Beispiele für Services, die am Krautesel zur Verfügung stehen. Die TXT-Records müssen sein, selbst wenn ein Service keine weiteren Infos braucht. Wir setzen sie einfach auf “”, da sonst die Applikationen die Services zwar finden, aber nichts mit ihnen anfangen können (Safari zeigt ein Bookmark, kann aber die Seite nicht öffnen).
$ORIGIN wird von Bind automatisch an alle Hostnamen angehängt, die nicht mit . (Punkt) aufhören. Spart Tipparbeit.
Der Name des Services (wie er zum Beispiel als Bookmark auftaucht) befindet sich auf der rechten Seite des PTR-Records. Alle UTF-8-Zeichen sind erlaubt, Leerzeichen erfordern “” um den Namen.
/etc/named/db.bonjour.30hopsmax.at
$ORIGIN _http._tcp.bonjour.30hopsmax.at.
@ IN PTR "30 hops max"
; <Name> IN SRV <Prio> <Weight> <Port> <Host>
"30 hops max" IN SRV 10 0 80 30hopsmax.at.
IN TXT ""
$ORIGIN _ssh._tcp.bonjour.30hopsmax.at.
@ IN PTR Krautesel
IN PTR Allerleirauh
; <Name> IN SRV <Prio> <Weight> <Port> <Host>
Krautesel IN SRV 10 0 22 krautesel.30hopsmax.at.
IN TXT ""
Allerleirauh IN SRV 10 0 22 allerleirauh.30hopsmax.at.
IN TXT ""