fnord2000
Goto Top

Secondary DNS mit eigenen Records?

Hallo, es geht um mein privates kleines Netz. Im Grunde also nichts wichtiges und auch nichts, was man kaputt machen könnte. ;)

Also es geht um folgendes: Ich habe eine eigene Domain, die bei einem Discount-Dienstleister gehostet wird. In dessen Zonen sind die "wichtigen" DNS-Einträge vorhanden (MX, NS) sowie für einige meiner Privatrechner die AAAA-Records (weil konstante IPv6-Adressen).

Zu Hause (Dial-up) habe ich einen eigenen Nameserver (bind), der sich meinem lokalen Netz gegenüber als autoritativ für die Zone ausgibt und im Grunde die gleichen Einträge enthält mit dem Haupt-Unterschied das er zusätzlich zu den AAAAs auch noch A-Records für meine Rechner enthält (private Adressen).
Alles in allem also ein ganz normales Split-DNS-Setting, denke ich.

Das läuft soweit eigentlich seit einigen Jahren ganz gut, mit dem marginalen Nachteil, dass ich beim Hinzufügen eines Hosts die AAAA-Records zweimal eintragen muss (einmal beim Dienstleister für die offizielle Zone, einmal lokal bei mir), aber wie gesagt: Alles rein privat, da kommt maximal alle zwei Jahre mal ein neuer Rechner ins Haus.

Etwas komplizierter wird es jetzt, weil ich zweitwohnsitzbedingt an einem anderen Standort ein ähnliches Setup einrichten möchte. Da ich dann allerdings drei verschiedene Zonefiles zu pflegen hätte frage ich mich, ob es nicht eine elegantere Lösung gäbe. Ich stelle mir etwas in der Art vor, dass sich meine lokalen Server ggfl. per Zone-Transfer die "öffentliche" Zone holen (sofern ich meinen Discounter überhaupt dazu bekomme AXFR zu erlauben), sich also wie ein "normaler" Secondary-Server verhalten und dann aber lokal ihre eigenen Einträge hinzufügen.
Weiß jemand, ob sich soetwas mit Bind bewerkstelligen lässt, und nach welchen Begriffen ich da suchen müsste?


Ich habe natürlich auch schon an ein paar andere Alternativen gedacht, die ich hier mal kurz aufführe:
  1. Zone komplett beim Dienstleister eintragen (einschließlich privater Adressen) und lokale Server nur noch als Forwarder. Die Lösung erscheint mir jedoch unsauber, da ich nicht denke, dass private IP-Adressen was im öffentlichen DNS zu suchen haben.
  2. Zone komplett auf meine Rechner ziehen. Scheint mir ungeeignet. Zum einen will ich meine Dialups nicht damit belasten alle DNS-Anfragen zu beantworten und zum anderen sind ja nur die IPv6-Adressen konstant und einen DNS-Server mit täglich wechselnder IPv4-Adresse scheint mir denkbar ungeeignet. (Jeden Tag die Glue Records anpassen lassen … %-/ ) Es sei denn ich verzichte komplett auf die IPv4-Einträge, aber so verbreitet ist IPv6 vermutlich noch nicht.
  3. Subdomains einrichten (standort1.meinedomain.example, standort2.meinedomain.example), für die meine lokalen Nameserver auch ganz offiziell autoritativ sind und dann lokal mit Bind-Views arbeiten. Dann gäbe es zu jedem Eintrag einen einzelnen Server, der Zuständig wäre. An der Lösung misfällt mir allerdings, dass ich dann den Standort mitangeben müsste (rechner.standort2) wenn ich mich per SSH o.ä. verbinden wollte. Außerdem erscheint es mir für die wenigen Rechner ein bisschen Overkill. Und an einem Laptop, der mal an Standort 1 und mal an Standort 2 ist will ich gar nicht denken.

Content-ID: 206239

Url: https://administrator.de/contentid/206239

Ausgedruckt am: 22.11.2024 um 09:11 Uhr

knut4linux
knut4linux 08.05.2013 um 17:22:45 Uhr
Goto Top
Hi,

Zonentransfers wie du es erwähnt hast wäre eigentlich die einzigste Lösung zu deinem anliegen. Es wäre nur zu klären ob Zonentransfers bei deinem Hoster möglich sind.

Da die Zonenänderungen deinen Binds auch mitgeteilt werden muss, müssen die secondarys auch als transferziel angegeben werden, was mindestens eine statische IP oder einen DNS-Name voraussetzt, damit dein Master auch weiß wohin die Zone übertragen werden muss (aber ich denke das weißt du schon).

Wenn du das ganze über DNSsec lösen willst, dann brauchen Master und Secondary einen sogenannten Key, dem beide vertrauen.

Ansonsten bleibt dir nur eine Delegierung (subzonen), was mit deinen Laptop, der den Standort wechselt recht sinnlos wäre zwecks Standort wie du es schon erwähnt hast.

Gruß, knut
fnord2000
fnord2000 10.05.2013 um 09:06:57 Uhr
Goto Top
Aber meine eigentliche Frage ist doch: Ist es überhaupt möglich nach einem Zonentransfer auf dem lokalen Server eben die zusätzlichen (eben nur lokal gültigen) Einträge hinzuzufügen?
Das ist ja der zentrale Punkt. Und falls ja, wie würde ich das denn anstellen?
knut4linux
knut4linux 10.05.2013 um 09:29:02 Uhr
Goto Top
Also ich kann mir nicht vorstellen, dass das funktioniert. Ich übertrage auch Zonen auf mein Bind, kann diese aber allerdings nicht mit Bind beschreiben, weil es lediglich ne Zonenkopie ist und Änderungen nur vom Master übertragen werden.

Deine lokale Zone kannst du auf dein anderen Bind transferieren, aber das wird dein anliegen nicht erledigen. Und wenn ich das außerdem richtig verstanden habe, sprichst du von zwei Zonen. Und solange dein Master von der anderen Zone nichts weiß, wirst du es nicht umsetzen können.

Vielleicht versteh ich dein anliegen aber auch einfach nicht :/
knut4linux
knut4linux 10.05.2013 um 09:34:28 Uhr
Goto Top
Das einzige, was ich dir mir als Lösungsansatz noch verstellen kann ist, dass du deine zusätzlichen Einträge über Hostfiles einpflegen musst.

Anders wird es nicht gehen, den dein secondary wird nicht die Berechtigung haben Änderungen auf dein Master zu übertragen.
fnord2000
fnord2000 10.05.2013 um 10:00:01 Uhr
Goto Top
Zitat von @knut4linux:
Anders wird es nicht gehen, den dein secondary wird nicht die Berechtigung haben Änderungen auf dein Master zu
übertragen.

Das soll er doch auch gar nicht.

Wie in meinem Ursprungsposting beschrieben soll der Bind lediglich in meinem lokalen Netz Einträge an die lokalen Clients ausliefern, die über das hinaus gehen, was die "Welt" vom offiziellen Server bekommen kann.
Es hat für jemanden außerhalb meines Netzes ja auch absolut keinen Wert einen A-Record zu erhalten, der auf ein 192.168.x.x. oder ein 10.x.x.x verweist.


Deinen Hinweis mit der hosts-Datei verstehe ich nicht ganz. Mir wäre nicht bekannt, dass Bind Anfragen zu Namen beantwortet, die im lokalen hosts-File stehen. Oder meintest du ich solle die Datei auf allen meinen Clients anpassen? Das scheint mir ja doch noch deutlich mehr Aufwand zu sein als die Zone in dreifacher Ausfertigung zu verwalten.
transfermarkt
transfermarkt 10.05.2013 um 10:33:19 Uhr
Goto Top
Das eine Slave-Zone andere werte enthält als eine Master-Zone ist sicherlich nicht unmöglich, nur wird vermutlich (ich habe das nicht ausprobiert) bei einer Änderung am Master entweder die Slave-Zone überschrieben oder gar nicht geändert.
Noch dazu ist es für einen Domain-Hoster schon ein Risiko Domain-Transfers an dritte zu erlauben. Du könntest theoretisch ja jede Zone auf deinen DNS replizieren und damit, wenn auch nur für dich, auch diversen Unfug treiben.

Wenn du Bind einsetzt, gehe ich mal davon aus das du bereits ein *NIX-System hast. Warum installierst du dir dann nicht noch einen DHCP-Server der Dynamic-DNS Updates ausführt? Beim ISC-DHCP kannst du ja auch anhand der MAC-Adressen feste IP-Adressen vergeben.

Als weitere alternative möchte ich nochmal den Vorschlag der Subzonen aufgreifen: Damit du nicht "ssh rechner1.standort1" eingeben musst kannst du die Liste mit den DNS-Suffix ja entsprechend erweitern um "standort1.meinedomain.tld" und "standort2.meinedomain.tld". Wenn du dann "ssh rechner1" eingibst werden erst die DNS-Suffix in angegebener Reihenfolge an gehangen. Du solltest dann natürlich vermeiden identische Hostnamen zu verwenden.

Die Hosts-Datei ist keine echte Lösung, da du diese auf jedem Rechner einzeln pflegen müsstest.
knut4linux
knut4linux 10.05.2013 um 11:21:14 Uhr
Goto Top
Ja, mit Hostdateien meinte ich die der clients, was aber eben aufwendig und unschön ist.