Heute so gegen 06:30 Uhr hatte mein Provider anscheinend ein richtig hartes DNS-Problem, zumindest ließ sich die Hälfte der Namen, die ich so gebraucht hätte, nicht mehr auflösen. Und aufgrund der vorhergegangenen Debatte von wegen DNS-Sperren dachte ich mir vor einer halben Stunde, daß das eigentlich auch sowieso viel besser wäre, wenn mein
Router die rekursive Namensauflösung selber machen würde.
Also habe ich kurz
MaraDNS ausprobiert und festgestellt, daß das
saugt - die Suchbox in meinem Browser benutzt nämlich ipv6.google.com, und das ist ein CNAME. A.k.a. „you lose big” (nein, kein „SMUX wait error”, ich hab mit AIX doch nix mehr am Hut!). Also doch BIND9. Auf einem Router. Yihaaaaaw!
Die Installation mit „opkg install bind-server” hat eine gefühlte halbe Stunde gedauert. Dafür ging die Einrichtung dann recht schnell: Ich wollte mit
dnsmasq auch weiterhin DHCP machen (und außerdem gibt's da eine GUI für die Hostnamen!), also musste ich die beiden (BIND und dnsmasq) irgendwie zu einer friedlichen Koexistenz überreden. Nachdem ich die Datei „/etc/bind/named.conf.example” also nach „/etc/bind/named.conf” kopiert hatte, schrub ich dort also folgende zwei Statements in den „options”-Teil:
CODE:
allow-recursion { 127.0.0.0/8; };
listen-on { 127.0.1.1; };
Das Startskript in „/etc/init.d/named” ergänzte ich im „start”-Teil (natürlich vor dem Call von „named”) um ein beherztes „ip a a 127.0.1.1 dev lo” sowie den „stop”-Teil um ein weit weniger beherztes, jedoch aus der Magengegend stammendes „ip a d 127.0.1.1/32 dev lo”. Zweimaliges Aufrufen des Init-Skripts, einmal mit „enable” (zwecks Reboot und so) und einmal mit „start” verhalfen mir dann auch zu einem funktionierenden BIND. Auf dem Router. Ich bin mal kurz auf der Toilette. Und wenn ich wiederkomme, ergänze ich das Startskript noch um ein „-4”, sonst meckert mir das Teil garantiert die Logs voll.
Für dnsmasq trägt man in der „/etc/config/dhcp” einfach ein alternatives „resolvfile” ein, z.B. „/etc/resolv.conf.recursive”, und befüllt die mit „nameserver 127.0.1.1”. Das Startskript von dnsmasq vergewaltigt man dann noch in dessen „start”-Teil, das sieht dann ungefähr so aus:
CODE:
/usr/sbin/dnsmasq $args -a 127.0.0.1 -a 192.168.10.1 -z ....
Neu ist natürlich der Teil mit dem „-a” und dem „-z” (steht in der Doku, was das macht). Und ja, das geht garantiert eleganter. Mir egal!
Meine Güte, ich hatte den ganzen Tag richtigen Heißhunger auf Pfannkuchen mit Apfelmuß, Zimt und Zucker, aber nach der Aktion ist es mir echt vergangen. BIND9. Auf dem Router. Meine Güte.
BTW, da fällt mir eine Geschichte von einem Ex-Kollegen ein, namentlich dem Hossain. Ich hatte damals (das muß so um 2000 gewesen sein) in Stuttgart gearbeitet und hatte die, äh, „ehrenvolle” Aufgabe, konzernweit in gefühlten drölftausend Niederlassungen eine Infrastruktur für LDAP und DNS aufzubauen (bzw. erstere zu erneuern). Das waren jetzt leider nicht so die Zeiten, wo man gesagt hätte: „Alles klar, wir kaufen dann mal neue Server, konfigurieren die zentral und liefern die aus - und tauschen auch gleich alles mit aus, was das, was es schon gegeben hat, mit benutzt.” Statt dessen durfte ich da unter der Leitung des obersten der Mohikaner, auch bekannt als Onkel Jörg (danke, daß Du mir damals den Fernseher geliehen hast!), mit zahlreichen mehr oder weniger fähigen Administratoren in diversen Niederlassungen telefonieren. Besonders lustig war da eben der Kollege Hossain. Die betreffende Niederlassung hatte AIX 4.3 am Start, und da gab es sowohl BIND4 als auch BIND8. Welchen von beiden man aufrufen wollte, hat man über Symlinks geregelt, das sah ca. so aus:
CODE:
# ls /usr/sbin/named*
named -> named4
named-xfer -> named4-xfer
named4
named4-xfer
named8
named8-xfer
Tja, ich hatte das damals alles nur für BIND8 vorbereitet, also habe ich Kollege Schnürschuh gebeten, die Symlinks zu verbiegen. Ich habs dann ungefähr zwei Minuten lang Tippen hören und dann sagte er mir: „Du Stefan, jetzt ist alles Scheiße, ich habe beide Versionen komplett gelöscht.” Ihr könnt Euch nicht wirklich vorstellen, wie ich in dem Moment lachen musste.
Aber mit DNS hat's der Kollege eh noch nie gehabt. Da gab's von IBM unter AIX so ein Skript, das hat einem eine „/etc/hosts” in eine Zonendatei übersetzt. Und irgendwas war da halt buggy. Auf jeden Fall hatte ich genau deswegen damals mit dem Hossain um 50DM gewettet. Und gezahlt hat er bis heute nicht