ich habe im LAN (192.168.0.0/24) einen BIND-Server (IP .123) in der Domäne intranet.meinefirma.de im Einsatz, mein Internetrouter hat die .1 hinten. Bei den Clients habe ich überall als Standard-Gateway die 192.168.0.1 eingetragen, und als primären DNS-Server die 192.168.0.123 und als sekundären DNS-Server 192.168.0.1. Mein Gedanke war der: wenn mal der interne BIND nicht verfügbar sein sollte (aus welchen Gründen auch immer), dann wird der Client nach paar Sekunden versuchen den sekundären DNS-Server zu kontaktieren, also greift er dann auf den Internet-Router zu. Die Clients könnten so selbst bei Ausfall des internen BIND-Servers im Internet weitersurfen. Soweit so gut. Nur habe ich folgendes Problem:
ich hab grad 'ne DNS-Zone aktualisiert im world wide web. Der Domainname beispiel.de ist neu registriert worden und zeigt auf die IP 1.2.3.4. Die DNS-Replizierung ist auf den wichtigen diversen öffentlichen DNS-Servern auch bereits weltweit abgeschlossen, ich habs nachgeprüft. Wenn ich von den lokalen Clients hier ein nslookup (dig, oder host) auf beispiel.de absetze und als Abfrage die IP einen öffentlichen NS angeben, dann erhalte ich die korrekte IP als Antwort. z.B. aus einem Windows-Client gebe ich in der DOS-Box ein "nslookup beispiel.de 8.8.8.8" (die IP 8.8.8.8 ist ein DNS-Server von Google). Ich hab weitere Tests auch aus anderen Netzen (Root-Server, vServer im Internet) gemacht, also die DNS-Replizierung ist definitiv weltweit aktiv und aktuell.
Führe ich aber diese Abfrage auf meinem lokalen Client ohne explizite Angabe eines öffentlichen NS durch (also einfach nur nslookup beispiel.de), dann krieg ich keine IP als Resultat. Ist ja klar, weil der Client versucht, die Abfrage über seinen standard primären DNS-Server auf 192.168.0.123 zu kriegen. Und der kennt beispiel.de nicht, diesen Namen hat er noch nie gehört. Mir wäre jetzt recht, wenn mein lokaler BIND-Server deshalb versucht über meinen Internet-Router (192.168.0.1) versucht, diesen Namen aufzulösen und sobald er 'ne Antwort kriegt, diese auch an den anfragenden Client weiterreicht.
Am allerliebsten wäre mir natürlich folgendes Szenario, das würde den Traffic (theoretisch gesehen) mindern:
- wenn ClientX aus dem internen LAN einen Host kontaktieren will, mit der Bezeichnung "suchmichpc" oder "suchmichpc.intranet.meinefirma.de" dann soll dafür der primäre DNS genutzt werden (192.168.0.123)
- alles anderen Anfragen des ClientX sollen gleich und direkt auf die IP (192.168.0.1) weitergeleitet werden, so daß die Abfrage im Internetrouter und somit im weltweiten Internet durchgeführt wird.
Diese Regelfilterung müsste aber schwer realisierbar sein, da sie ja auf Clientebene durchgeführt werden müsste, oder geht das irgendwie?
Und sollte diese Möglichkeit nicht gehen, wie zum Henker muss ich das richtig konfigurieren, dass meine Clients auch aktuelle Namensauflösungen durch öffentliche NS erreichen können? Wo sind die DNS-Profis? Bitte um Hilfe, dieses Thema beschäftigt mich schon länger, und ich krieg das nicht gebacken.
Anhang:
[...] Auszug meiner BIND-config
zone "intranet.meinefirma.de" {
type master;
allow-update { key "meinsecretkey"; };
file "/var/cache/bind/zone.intranet.meinefirma.de";
};
zone "0.168.192.in-addr.arpa" {
type master;
allow-update { key "meinsecretkey"; };
file "/var/cache/bind/reversezone.192.168.0";
notify no;
};
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { none; };
query-source address * ;
recursion yes;
version "Get lost !";
allow-recursion {
127.0.0.1;
192.168.0.0/24;
};
allow-query {
127.0.0.1;
192.168.0.0/24;
};