resolv.conf - systemd

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
wfsp
Beiträge: 8
Registriert: 14.01.2016 19:16:04

resolv.conf - systemd

Beitrag von wfsp » 12.12.2016 16:19:56

Hallo,


ich habe jetzt längere Zeit in den Tiefen des Universums gesucht, und kein brauchbares Ergebnis gefunden.
Meine resolv.conf wird überschrieben.
Dies geschieht sowohl bei einem Neustart als auch im laufenden Betrieb nach einem restart des Netzwerkes. Jeweils nach ca. 3 - 4 Minuten.

Standardeintrag der resolv.conf:
domain fritz.box
search fritz.box
nameserver 192.168.178.1

Dieser Eintrag wird überschrieben mit der
MAC-Adresse der FritzBox

Ausgangssituation:
Neuinstallation von Jessie über eine Netinstall-CD
Kernel: 3.16.0-4-686-pae
Internetzugang über eine FritzBox cable 6360 /dhcp
resolvconf ist nicht installiert
NM ist disabled

In unserem Haushalt laufen 2 weitere Rechner mit Jessie (Notbook und Desktop)
Beide Rechner wurden schon vor einigen Monaten mit einem upgrade auf Jessie umgestellt, und haben in der resolv.conf den Standardeintrag.

Wenn ich die resolv.conf sperre, wird eine resolv.conf.dhclient-new generiert, mit der richtigen Konfiguration.
Einige Zeilen weiter unten in der syslog wird dieser Eintrag meiner Meinung nach von systemd überschrieben.
file:///home/friedemann-1/Schreibtisch/systemd%20sys-log

Ich habe dann den Rechner ohne den Dienst pppd-dns.service gestartet. Kein Ergebnis.
Das Bild zeigt den Zustand des Dienstes bei regulärem Start.
file:///home/friedemann-1/Schreibtisch/status%20pppd-dns.service

Weiter habe ich auf eine feste IP-Adresse umgestellt. Wie erwartet kein Ergebnis.
Ich habe die diversen Vorschläge und Hinweise, die es auch hier im Forum zu dieser Problematik gibt, umgesetzt. Ohne Ergebnis.

Auf den Fehler wurde ich aufmerksam, als ich Moneyplex wieder installieren wollte, und das Programm keine
Internetverbindung aufbauen konnte. Über den Support von Matrica bin ich dann auf die resolv.conf gestossen.

Als Abschluss noch eine Ausgabe über den Status des networking.service.
file:///home/friedemann-1/Schreibtisch/systemctl%20networking

Liegt es an der Bootreihenfolge? Oder ist ein anderer Kernel notwendig?
Wobei das Linux-Image-686-pae auf meinem Rechner nicht installiert werden kann.

Es kam auch schon vor, dass die resolv.conf nach einem Neustart mit der richtigen Konfiguration
geladen wurde, (natürlich ohne chattr +i) Und dann nach einigen Minuten wieder mit der MAC-Adresse überschrieben wurde.

Viele Grüße

Friedemann

Benutzeravatar
MSfree
Beiträge: 10727
Registriert: 25.09.2007 19:59:30

Re: resolv.conf - systemd

Beitrag von MSfree » 12.12.2016 16:22:49

Erstelle mit einem Editor die Datei
/etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
mit folgendem Inhalt:

Code: Alles auswählen

#!/bin/sh
make_resolv_conf()
{
  :
}
Und mache sie anschließend ausführbar mit:

Code: Alles auswählen

chmod +x etc/dhcp/dhclient-enter-hooks.d/nodnsupdate

uname
Beiträge: 12072
Registriert: 03.06.2008 09:33:02

Re: resolv.conf - systemd

Beitrag von uname » 12.12.2016 16:27:23

Vielleicht kannst du den Prozess ermitteln, der die Datei ändert. Nicht selbst probiert.

http://unix.stackexchange.com/questions ... ing-a-file

Benutzeravatar
sbruder
Beiträge: 333
Registriert: 24.06.2016 13:54:36
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Franken

Re: resolv.conf - systemd

Beitrag von sbruder » 12.12.2016 22:55:52

wfsp hat geschrieben: Dieser Eintrag wird überschrieben mit der
MAC-Adresse der FritzBox
Ich glaube es wird nicht die MAC-Adresse sondern die IPv6-Adresse da rein geschrieben.
Es gibt aber die Dateien

Code: Alles auswählen

/etc/resolv.conv.head
/etc/resolv.conv.tail
Diese werden bei der neugenerierung der resolv.conf jeweils oben, bzw. unten angehängt.

Alternativende
Beiträge: 2091
Registriert: 07.07.2006 18:32:05

Re: resolv.conf - systemd

Beitrag von Alternativende » 12.12.2016 23:09:12

Also hier steht das man das mit systemD auch statisch betreiben kann mit der resolv.conf

https://www.freedesktop.org/software/sy ... rvice.html

Vielleicht hilft dir das ja

r4pt0r
Beiträge: 1237
Registriert: 30.04.2007 13:32:44
Lizenz eigener Beiträge: MIT Lizenz

Re: resolv.conf - systemd

Beitrag von r4pt0r » 13.12.2016 08:57:56

Der korrekte hook ist (war? KA ob systemd mittlerweile auch in DHCP reinpfuscht...) /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
/etc/resolv.conf.head/tail sind für zusätzliche/lokale statische Routen.

Wenn systemd trotz 'nodnsupdate' noch die resolv.conf versaut: 'chattr +i /etc/resolv.conf' (+bugreport? Wird aber eher nix bringen - ist sicher ein Feature, systemd ist ja unfehlbar...)

TomL

Re: resolv.conf - systemd

Beitrag von TomL » 13.12.2016 09:54:00

r4pt0r hat geschrieben:KA ob systemd mittlerweile auch in DHCP reinpfuscht ........
Ich würde eher im Umfeld "networking" und "ifup" suchen. systemd startet lediglich genau diese Interface-Tools, wenn es über udev quasi als Event über ein 'neues' Nic informiert wird. Und genau die Tools tun Dinge, die bei mir für manche Halskrause verantwortlich waren. Seitdem ich den Mist entsorgt habe und die Socket-Tools direkt über Systemd bediene, läuft das alles sowas von störungsfrei.... dazu gehören bei mir jetzt eben auch resolved und timesyncd.

schwedenmann
Beiträge: 5528
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: resolv.conf - systemd

Beitrag von schwedenmann » 13.12.2016 10:07:52

Hallo

Die resolv.conf wurde doch afaik schon immer überschrieben, auch vor systemd, bei jedem Neustart.


mfg
schwedenmann

P.S. Ansonsten kann man in der Fritte auch alternative DNS-Server eintragen

mat6937
Beiträge: 2946
Registriert: 09.12.2014 10:44:00

Re: resolv.conf - systemd

Beitrag von mat6937 » 13.12.2016 10:19:08

wfsp hat geschrieben: Internetzugang über eine FritzBox cable 6360 /dhcp
Hast Du mit deinem cable-Internetanschluss, DS oder DS-lite (d. h. natives IPv6 und IPv4)?

Teste mal ob deine FritzBox-cable, IPv6-Namensauflösungen auch mit ihrer IPv4-Adresse machen kann (... was i. d. R. möglich ist). Z. B.:

Code: Alles auswählen

nslookup -type=AAAA heise.de 192.168.178.1
Hast Du evtl. auf deinem Gerät/PC, Anwendungen/Dienste, die (nur) IPv6 verwenden wollen?

EDIT:

Siehe auch die Ausgabe von:

Code: Alles auswählen

ndptool -v -i <Interface> monitor
nach einem:

Code: Alles auswählen

ndptool -v -i <Interface> -t rs send

r4pt0r
Beiträge: 1237
Registriert: 30.04.2007 13:32:44
Lizenz eigener Beiträge: MIT Lizenz

Re: resolv.conf - systemd

Beitrag von r4pt0r » 13.12.2016 11:45:59

schwedenmann hat geschrieben:Die resolv.conf wurde doch afaik schon immer überschrieben, auch vor systemd, bei jedem Neustart.
Was aber durch die dhclient-enter/exit-hooks beeinflusst werden konnte - authorative und einzige anlaufstelle für das erstellen/ändern der resolv.conf war also die config vom dhclient. Chaos ist dann eigentlich erst ausgebrochen als z.b. (schlimmstes Beispiel) der Network-Manager auch direkt in der resolv.conf rumschreiben durfte. Bei mehreren search-domains ist das regelmäßig in die luft geflogen...

Wenn jetzt auch noch systemd dazwischenpfuscht und an der resolv.conf rumbastelt gibts wohl komplettes chaos - je nach dem wer zuletzt an der datei war.


Hab gerade mal nachgeschaut: an den beiden verbliebenen debian-gateways ist die resolv.conf jeweils per chattr auf immutable gesetzt. IIRC pfuschte nämlich der pppd auch noch direkt an der resolv.conf herum...

mat6937
Beiträge: 2946
Registriert: 09.12.2014 10:44:00

Re: resolv.conf - systemd

Beitrag von mat6937 » 13.12.2016 12:03:10

TomL hat geschrieben:...und die Socket-Tools direkt über Systemd bediene, läuft das alles sowas von störungsfrei.... dazu gehören bei mir jetzt eben auch resolved ...
BTW: Bei IPv6 muss auch systemd/resolved (mehr oder weniger schonend, ... auch abhängig von der Konfiguration des resolved) die resolv.conf verändern/ergänzen können. Z. B. wenn der IPv6-fähige Router, im laufenden Betrieb per RA einen anderen IPv6-DNS-Server bekannt gibt (... z. B. wegen einer Konfigurationsänderung oder ähnlich, im/beim Router).

TomL

Re: resolv.conf - systemd

Beitrag von TomL » 13.12.2016 14:54:09

mat6937 hat geschrieben:BTW: Bei IPv6 muss auch systemd/resolved (mehr oder weniger schonend, ... auch abhängig von der Konfiguration des resolved) die resolv.conf verändern/ergänzen können. Z. B. wenn der IPv6-fähige Router, im laufenden Betrieb per RA einen anderen IPv6-DNS-Server bekannt gibt (... z. B. wegen einer Konfigurationsänderung oder ähnlich, im/beim Router).
Ja, richtig. Systemd-resolved nutzt dafür eine eigene Conf mit vorgegebenen Einstellungen in /etc/systemd und erzeugt bei start- oder restart von systemd-resolved und vermutlich auch bei den von Dir erwähnten Veränderungen eine neue und eigene

Code: Alles auswählen

/var/run/systemd/resolve/resolv.conf
Die alte /etc/resolv.conf wird unter systemd eigentlich nur auf die neue in /var/* gesymlinkt. Das heisst, wenn jemand eine static-resolve.conf haben möchte, muss er bei systemd-resolved lediglich auf den symlink verzichten.... und fertig ist die Laube....

wfsp
Beiträge: 8
Registriert: 14.01.2016 19:16:04

Re: resolv.conf - systemd

Beitrag von wfsp » 13.12.2016 18:26:25

Hallo,

vielen Dank für die Antworten.
Da es doch ziemlich unterschiedliche Ansichten zu diesem sehr komplexen Thema gibt, zunächst einmal
etwas mehr zu den Logdateien.

Die Änderungen der resolv.conf im lfd. Betrieb werden durch /sbin/rdnssd -u rdnssd -H /etc/rdnssd/merge-hook vorgenommen. Ich glaube aber nicht, dass dies auch schon beim Booten der Fall ist.
Die auditd-Datei ist sehr schwer lesbar.

Nachdem ich wieder auf dynamische IP umgestellt und die resolv.conf entsperrt habe, fehlt der syslog-Eintrag
bzgl. der dhclient-new.

Der folgende Eintrag wird jedoch immer geschrieben:
systemd 1: Started restore /etc/resolv.conf if the system crashed before the ppp link was shutdown
Subject: Unit pppd-dns.service has finished start up
Defined By: systemd
Unit pppd-dns.service has finished starting up

Grüße

Friedemann

mat6937
Beiträge: 2946
Registriert: 09.12.2014 10:44:00

Re: resolv.conf - systemd

Beitrag von mat6937 » 13.12.2016 18:35:54

wfsp hat geschrieben:
Die Änderungen der resolv.conf im lfd. Betrieb werden durch /sbin/rdnssd -u rdnssd -H /etc/rdnssd/merge-hook vorgenommen. Ich glaube aber nicht, dass dies auch schon beim Booten der Fall ist.
OK, aber der rdnssd ist für IPv6 zuständig:
Description: IPv6 recursive DNS server discovery daemon
rdnssd autoconfigures recursive DNS servers on IPv6 networks
using ICMPv6 Neighbor Discovery (RFC 5006), and can update the
DNS resolvers configuration (/etc/resolv.conf) accordingly.

wfsp
Beiträge: 8
Registriert: 14.01.2016 19:16:04

Re: resolv.conf - systemd

Beitrag von wfsp » 14.12.2016 12:11:58

Hallo,

der Fall ist gelöst mit purge rdnssd
Der Dienst wurde im Rahmen der Neuinstallation von Jessie installiert.

Die Meldung "systemd 1 Starting Restore /etc/resolv.conf...." erscheint zwar immer noch in der syslog,
bewirkt aber keine erkennbaren Veränderungen.

Bei der für mich falschen Ausgabe in der resolv.conf handelte es sich nicht um die MAC-Adresse, sondern
um die ipv6-Adresse der Fritzbox. Und die brauche ich nicht.

Nochmals Danke für die Hilfe.

Friedemann

Antworten