Hallo,
In de.comp.os.unix.networking.misc Christian Brandt <
bra...@psi5.com> wrote:
> Welcher abgrundtief Menschenhasser hat sich resolvconf ausgedacht?
Nicht resolv.conf ist das Problem, sondern Software, die diese Datei
zu ueberschreiben/ersetzen zu versucht (zumindest dann, wenn man vorhat
einen chache-only DNS auf dem lokalen Rechner laufen zu lassen ...).
> Was wollte ich machen: Ein Rechner mit statischer IP-Adresse sollte
> selbst Slave-Nameserver für ein kleines Netz spielen. Unter uns, es
> macht ja wenig Sinn sowas auf einer dynamischen IP-Adresse zu betreiben.
Wenn dieser Rechner im lokalen Netz DNS sein soll, warum laesst du dann
nicht seine Adresse per DHCP auch als DNS-Server verteilen? Dann waerst
du mit dem Thema durch ...
> Also trägt man in /etc/network/interface eben wie seit 15 Jahren ein
> iface eth0 inet static uswusf ein.
> Hoppla, /etc/resolv.conf wird jetzt bei jedem Neustart mit einem leeren
> Template überschrieben weil ja der dhcp wegen isnich nixda zurückliefert.
Warum laesst du deinen DHCP-Server nicht die Information verteilen,
welche IP-Adresse dein DNS im lokalen Netz hat?
> Ein paar Try&Error&Copy&Paste-Admins schlagen daher ernsthaft vor mit
> chattr -i diese Datei vor Änderungen zu schützen. Wie die wohl einen
> Prozeß vor unbefugtem Lesezugriff schützen? Mit chmod a-r /dev/kmem?
Wie waere es mit der Lektuere von "man resolvconf" (das AFAIK fuer die
Aenderung der resolvconf verantwortlich ist)?
> Naja, wie haben wir es früher gemacht? Eben, aptitude remove resolvconf.
... und dann wird die etliches weitere mitbeseitigt ... Kannst du auf
den Kram dann wirklich vollstaendig verzichten?
> Hoppla, Ubuntu 12.04 ist da der Meinung daß damit das Paket
> ubuntu-minimal verschwinden muß. Achja und im gleichem Aufwasch auch
> noch die nicht länger genutzten Pakete adduser, apt, apt-utils, bzip2,
> console-setup, debconf, debconf-i18n, eject, gnupg, ifupdown uswusf...
> nebenbei, Debian unstable war auch der Meinung daß der Verzicht auf
> resolvconf auch gleich passwd entsorgen sollte aber immerhin bzip hätte
> es mir weiter gegönnt.
Viel nerviger finde ich in aktuellen Versionen des Networkmanagers die
Zwangsbundelung mit dnsmasq, an der man auch nur schwer bis gar nicht
vorbei kommt (was fuer ein Schwachsinn) ... Gluecklicherweise laesst
sich dieser Unfug durch Anpassung der /etc/NetworkManager/NetworkManager.conf
mit anschliessendem Neustart des NetworkManagers abstellen ...
> Naja, bevor ich jetzt mit Paketpinning usw anfange, wirklich elegant
> ist der Verzicht auf resolvconf ja dann doch nicht. Da gibts sicher
> irgendwo einen Schalter "resolvconf=off" oder so.
... den du vermutlich mittels Lektuere der zugehoerigen man-page
gefunden haettest ... Warum nicht einfach das Problem umschiffen,
indem du deinen DHCP deinen DNS bekanntgeben laesst?
> Haha, weit gefehlt. Solange man nicht direkt "Do-not-Edit" Initscripte
> editiert - und zwar sehr, sehr viele - kann man resolvconf praktisch
> nicht bändigen.
Falsch. Nach einem "resolvconf --disable-updates" wird die resolv.conf
nicht mehr ueberschrieben, so dass manuelle Aenderungen auch erhalten
bleiben, wie man der man-page leicht entnehmen kann.
> Ja, man könnte in /sbin/resolvconf in die zweite Zeile
> "echo maultierkacke && exit 0" einbauen oder es auf /bin/true umbiegen.
> Alles andere? Da kann ich gleich Bind9 auf Plan9 portieren.
Was nicht unbedingt so schwierig sein muss ...
> Hm, also schauen wir mal in die Anleitung von resolvconf... es gibt ja noch:
> /etc/resolvconf/resolv.conf.d/base
> /etc/resolvconf/resolv.conf.d/head
Anleitung wie in "Hacker-Tips von Leuten, die keine manpages lesen"?
> Toll, Anleitung rät meine Nameserver in base einzutragen.
> Ja, das könnte daran liegen daß alle die das Vorschlagen und alle die
> das ausprobieren ja mit statischen Adressen arbeiten, da läuft kein dhcp
> also wie soll dhcp diese manuellen Adressen an resolvconf übergeben?
> <karnevalstusch>tata-tata-tata</karnevalstusch>
Statische IP-Adressen und DHCP schliessen sich nicht aus.
> Nach Reboot steht in der resolv.conf: nameserver 127.0.0.1
... und zwar weil ein dnsmasqd als lokaler DNS-Cache gestartet wird.
Hast du noch nicht einmal das bemerkt? Und dieser Unfug laesst sich
nach Lektuere von NetworkManager.conf aus der Konfigurationsdatei
ausbauen (was dann nach einem Neustart des network-managers auch
tatsaechlich wirkt). Man kann Ubuntu vorwerfen, dass sie diese
Aenderungen an der NetworkManager.conf nicht gut genug dokumentiert
haben (dieser dnsmasqd-Quatsch ist echt nervig, solange man noch
nicht weiss, wie man den Mist abstellt), aber sonst liegen deine
Fehler in erster Linie darin, herumzupfuschen statt *zuerst* die
zugehoerigen man-pages zu lesen.
> Die Werte noch ein wenig herumgespielt: Es bleibt immer bei der
> 127.0.0.1 - kann ja keiner mit rechnen daß jemand einen externen
> Nameserver verwenden will, oder? tata-tata-tata
Der vom lokalen DNS-Cache verwendete Forwarder wird dann umkonfiguriert.
Das geschieht durch das NetworkManager-Plugin, das durch "dns=dnsmasq"
in der Konfigurationsdatei aktiviert wird.
> Ok, fassen wir das nochmal zusammen:
Du hast keine Ahnung, wie die Pakete zusammenhaengen und hat dir noch
nicht einmal die Muehe gemacht, die man-pages zu lesen, stattdessen
hast du wild an irgendwelchen Dateien herumgepatched und deinen Unmut
darueber, dass dieses Vorgehen nicht funktionierte ins Usenet geblasen.
Trifft das in etwa den Sachverhalt? Ich denke ja.
> Ich glaube ich habe gerade Stoff für mindestens ein Dutzend Designfixes
> gesammelt.
Vor allem hat du dich (nicht nur einmal) zum Brot gemacht, weil du dich
lieber durch kilometerweise scripte wuehlst, statt einfach ein paar man-
pages zu lesen ("man resolvconf", "man NetworkManager.conf", ...).
Tschuess,
Juergen Ilse (
jue...@usenet-verwaltung.de)
--
Ein Domainname ist nur ein Name, nicht mehr und nicht weniger.
Wer mehr hineininterpretiert, hat das Domain-Name-System nicht
verstanden.