DNS BIND Frage

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

DNS BIND Frage

Beitrag von pangu » 17.02.2012 12:53:28

Hallo,

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;
};
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

hec_tech
Beiträge: 1094
Registriert: 28.06.2007 21:49:36
Wohnort: Wien
Kontaktdaten:

Re: DNS BIND Frage

Beitrag von hec_tech » 17.02.2012 13:00:40

Das was du suchst ist einfach einen forwarder in bind einzutragen. Clientseitig musst du da nichts machen. Dein bind fragt dann alle zonen die er nicht kennt beim forwarder an und liefert das Ergebnis an den client zurück.

Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

Re: DNS BIND Frage

Beitrag von pangu » 17.02.2012 13:10:47

die forwarder-Geschichte hatte ich auch schonmal drinstehen. Das mit dem forwarden kenne ich. Mir wäre wichtig zu klären, ob ich den Clients beibringen kann, dass sie immer den internen BIND nutzen für LOKALE Namensauflösungen, und alles andere sollen die direkt auf den Internetrouter gehen. Geht das irgendwie?

PS: Und wenn ich doch in der named.conf.options forwarders einstelle mit "forwarders {192.168.0.1;}" sollte ich dann die IP des Internetgateways angeben, oder den DNS meines Providers, den ich durch meinen KabelBW Zugang zugewiesen bekomme?
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

hec_tech
Beiträge: 1094
Registriert: 28.06.2007 21:49:36
Wohnort: Wien
Kontaktdaten:

Re: DNS BIND Frage

Beitrag von hec_tech » 18.02.2012 12:47:37

Du kannst bei forwarder jeden DNS Server eintragen den du willst. Vorausgesetzt du lasst DNS Anfragen nach WAN zu.
Ich sehe darin keinen Sinn sich mit Client Konfigurationen herumzuschlagen. Lass es doch den DNS Server entscheiden was er selbst auflösen kann und was nicht.
Ich wüsste nicht mal wie man das einem Client beibringt. Falls du dann mehrere Zonen auf deinem DNS Server verwaltest müsste man falls es überhaupt geht für jede Zone eine Regel setzen. Das ist doch der schlimmste Aufwand für jeden Admin.

Nimm deinen Bind trage da die Forwarder ein und fertig. Das Betriebsystem wird einfach alle Antworten von deinem Bind bekommen. Falls dein Bind nicht erreichbar ist nimmt er den nächsten DNS und fragt den.
Alternativ zu den Forwarder kann sich Bind auch direkt an die root DNS wenden um diese abzufragen.

Antworten