Bonjour fĂĽr das VPN

Seite 2: Unicast statt Multicast

Inhaltsverzeichnis

Neben der Multicast-Technik, die für link-lokale Verbindungen eingesetzt wird, können Bonjour-Nachrichten auch über DNS-übliche Unicasts übertragen werden und dann eben auch über Subnetzgrenzen hinweg. Dieses Verfahren wird als Wide Area Bonjour bezeichnet, im Weiteren WAB abgekürzt. Anders als beim üblichen link-lokalen Bonjour setzt WAB einen Domain Name System Server voraus (DNS-Server), der die Clients über sein Diensteangebot auf Nachfrage hin informiert (Query). Der Server antwortet auf die Queries wie beim link-lokalen Bonjour gemäß dem DNS-SD-Verfahren. Der DNS-Server entnimmt die Informationen „seinen“ Zone-Dateien, die ursprünglich nur für die Namensauflösung spezifiziert worden sind.

Link-lokale Bonjour-Annoncen verbleiben innerhalb ihrer Subnetze. Mit Wide Area Bonjour lassen sich Netzwerkdienste aber auch jenseits der Subnetze annoncieren.

Man unterscheidet zwei WAB-Varianten, nämlich eine statische mit festen Diensteeinträgen und eine dynamische, bei der Clients mittels eines zusätzlichen Moduls ihre Dienste umgehend beim DNS an- und abmelden. Das kann auf Wunsch erst nach Authentifizierung gemäß dem DNSSEC-Verfahren erfolgen, sodass die Annoncen nicht beliebig verändert werden können.

WAB-Clients, die sich am betreffenden DNS-Server angemeldet haben, beauftragen den Server mittels Long Lived Queries, sie ĂĽber den Status eines interessierenden Dienstes auf dem Laufenden zu halten. Wird der Dienst abgeschaltet oder wechselt dessen IP-Adresse oder Port, sendet der DNS-Server den betreffenden Clients die aktuellen Informationen ungefragt, sodass sie stets auf dem Laufenden sind.

Dieses Verfahren hat Apple jedoch ausschließlich für Wide Area Networks mit seinen öffentlichen IP-Adressen ausgelegt – Clients melden sich daher gar nicht erst am DNS an, wenn sie keine öffentliche, sondern nur eine private IP-Adresse haben. Außerdem versuchen sie, eine Port-Weiterleitung für jeden am DNS-Server angemeldeten Dienst einzurichten – das ist beim VPN-Betrieb nicht erforderlich, aber wenn dieser Schritt scheitert, gibt der Client die Kommunikation mit dem DNS-Server auf.

Insgesamt ist es also für den VPN-Betrieb nicht geeignet, obschon wegen der dynamischen Auslegung attraktiv. Es hat einige Verbreitung als Grundlage für Apples Dienst Back-to-my-Mac erlangt, mittels dem man als Reisender Zugriff auf Stationen im heimischen LAN erhält; Apple stellt dafür den Nutzern im Rahmen des MobileMe-Dienstes spezielle DNS-Server bereit, über die die Anmeldung und Annoncierung unsichtbar für andere Teilnehmer läuft.

Bei der statischen WAB-Variante füttern die Clients den DNS-Server nicht mit Bonjour-Annoncen, sodass auch die Limitierung auf öffentliche IP-Adressen und der Zwang zur Port-Weiterleitung entfallen. Vielmehr kümmert sich der Administrator selbst um die Pflege der Inhalte. Für eine Hand voll Dienste, die unentwegt im VPN angeboten werden, ist der Aufwand aber vertretbar.

Hat sich ein Client im VPN angemeldet, erfährt er vom DNS, welche Dienste dort verfügbar sind.

Dauerhaft verfügbare Fernwartungs- und Dateifreigaben können Mac-Nutzer direkt aus dem Finder heraus anklicken, Administratoren können Konfigurationsseiten für Router, Access-Points, IP-Cameras oder TV-Receiver annoncieren, sodass ein Vertreter im Notfall diese Seiten schnell im Browser auffindet.

Die WAB-Spezifikationen setzen einen DNS-Server voraus, der für Service Discovery ausgelegt ist. Prinzipiell soll sich auch ein Windows-DNS-Server dafür eignen, erprobt ist die Technik aber mit dem auf Unix-Systemen verbreiteten BIND ab Version 9. Im Weiteren zeigen wir, wie ein Mac-Server mit BIND für WAB eingerichtet wird. Grundsätzlich lässt sich aber auch ein Mac oder ein Linux-PC mit Desktop-Betriebssystem dafür einrichten.

Ein Dienst lässt sich mittels nur drei Textzeilen definieren, nämlich den DNS-Elementen PTR, SRV und TXT. Der besseren Übersicht halber empfiehlt es sich, für WAB-Dienste eine eigene Zone anzulegen und zusätzlich zu den Namensauflösungen eben die benötigten DNS-SD-Einträge hinzuzufügen. Prinzipiell kann jeder DNS-Server die Domain mit den WAB-Einträgen führen, er muss nicht einmal zum gleichen Netz gehören, sondern lediglich für die VPN-Clients erreichbar sein.

Den Namen der Domain kann man beliebig wählen, sofern er nicht mit einem bereits vergebenen kollidiert. Beispielsweise sollte man „local“ nicht verwenden, weil dieser für das link-lokale Bonjour reserviert ist. Im Weiteren verwenden wir eine interne Toplevel-Domain namens „home“. Prinzipiell könnte man aber auch eine Subdomain nach der Art bonjour.example.com nutzen, wenn man die zusätzliche Tipparbeit nicht scheut.