/etc/resolv.conf hat nach Netzwerkwechsel immer mal wieder falsche Daten

Ich benutze meinen Laptop (Dell xps13 und opensuse-leap 15.1) regelmäßig in verschiedenen Netzen (auf der Arbeit, Zuhause, über den Hotspot meines Handys, …). Das ist normalerweise auch kein Problem. Aber manchmal kommt es vor, dass die /etc/resolv.conf mit den Daten (nameserver, domain) aus meinem WLAN Zuhause (eine Fritzbox) gesetzt wird, auch wenn ich in einem anderen Netz bin. Das ist um so erstaunlicher, da ich im journalctl sehe, dass die richtigen Daten per dhcp empfangen werden, und die IP-Adresse, das Gateway, … richtig gesetzt werden. Ich muss dann die resolv.conf von Hand editieren, um Zugriff auf das Internet zu bekommen. Wenn das Problem einmal auftritt, bleibt es bis zum nächsten Neustart.

Bitte prüfen ob, „resolv.conf” ist wie folgt:


 > l /etc/resolv.conf
lrwxrwxrwx 1 root root 26 18. Aug 15:13 /etc/resolv.conf -> /run/netconfig/resolv.conf
 > 
 > stat /etc/resolv.conf
  Datei: /etc/resolv.conf -> /run/netconfig/resolv.conf
  Größe: 26             Blöcke: 0          EA Block: 4096   symbolische Verknüpfung
Gerät: 802h/2050d       Inode: 4064457     Verknüpfungen: 1
Zugriff: (0777/lrwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Zugriff    : 2020-08-18 15:15:18.688128756 +0200
Modifiziert: 2020-08-18 15:13:29.728126233 +0200
Geändert   : 2020-08-18 15:13:29.728126233 +0200
 Geburt    : -
 > 

Wie sind die folgende ‚/etc/sysconfig/network/config’ Parametern eingestellt?

  • „NETCONFIG_FORCE_REPLACE=” – die Voreinstellung ist “no” aber, vielleicht “yes” wird in diesen Fall besser …
  • „NETCONFIG_DNS_STATIC_SEARCHLIST=” – die Voreinstellung ist “” aber, wenn, zum Beispiel, “fritz.box” eingestellt worden ist, dann …
  • „NETCONFIG_DNS_STATIC_SERVERS=” – das Gleiche, bis auf “192.168.178.1” …

als erstes fällt auf, dass der symbolische Link nicht nach /run/netconfig/resolv.conf sondern nach /var/run/netconfig/resolv.conf geht. Allerdings ist /var/run ein symbolischer Lind auf /run. Sollte also nicht stören. NETCONFIG_FORCE_REPLACE habe ich auf yes gesetzt, die beiden anderen Variablen sind nicht gesetzt (also richtig). Hier die gewünschten ausgaben:

 ls -l /etc/resolv.conf
lrwxrwxrwx 1 root root 30 Jun 11 17:14 /etc/resolv.conf -> /var/run/netconfig/resolv.conf 
 stat /etc/resolv.conf
  File: /etc/resolv.conf -> /var/run/netconfig/resolv.conf
  Size: 30              Blocks: 8          IO Block: 4096   symbolic link
Device: 30h/48d Inode: 224957      Links: 1
Access: (0777/lrwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-10-02 10:44:08.099261441 +0200
Modify: 2020-06-11 17:14:08.799999844 +0200
Change: 2020-06-11 17:14:08.799999844 +0200
 Birth: -
 

@triessner:

Und, wie schaut es mit der Inhalt aus?

  • Hier, mit Leap 15.2 ein Beispiel – AVM FRITZ!Box als DNS/DHCP Server und DSL Router:

 > cat /etc/resolv.conf 
### /etc/resolv.conf is a symlink to /var/run/netconfig/resolv.conf
### autogenerated by netconfig!
#
# Before you change this file manually, consider to define the
# static DNS configuration using the following variables in the
# /etc/sysconfig/network/config file:
#     NETCONFIG_DNS_STATIC_SEARCHLIST
#     NETCONFIG_DNS_STATIC_SERVERS
#     NETCONFIG_DNS_FORWARDER
# or disable DNS configuration updates via netconfig by setting:
#     NETCONFIG_DNS_POLICY=''
#
# See also the netconfig(8) manual page and other documentation.
#
### Call "netconfig update -f" to force adjusting of /etc/resolv.conf.
search fritz.box
nameserver 192.168.178.1
nameserver »IPv6 Adresse«
 > l /etc/resolv.conf 
lrwxrwxrwx 1 root root 26 18. Aug 15:13 /etc/resolv.conf -> /run/netconfig/resolv.conf
 > stat /etc/resolv.conf 
  Datei: /etc/resolv.conf -> /run/netconfig/resolv.conf
  Größe: 26             Blöcke: 0          EA Block: 4096   symbolische Verknüpfung
Gerät: 802h/2050d       Inode: 4064457     Verknüpfungen: 1
Zugriff: (0777/lrwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Zugriff    : 2020-08-18 15:15:18.688128756 +0200
Modifiziert: 2020-08-18 15:13:29.728126233 +0200
Geändert   : 2020-08-18 15:13:29.728126233 +0200
 Geburt    : -
 > 

Die Zeitstempeln von ‚/etc/resolv.conf’ sind das Systeminstallationsdatum …

Hab das Problem (wahrscheinlich) gefunden. Ein Fehler in der Konfiguration in yast2. Ich hatte bei den Netzwerkeinstellungen->Network-Setup-Method Wicked Service ausgewählt :shame:. Seit dem ich es auf NetworkManager Service geändert habe, funktioniert es (bis jetzt). Ich hoffe es bestätigt sich in den nächsten Tagen. Wenn nicht schreibe ich nochmal.

Wenn man Wicked wählt is das kein Fehler an sich. Das tut man wenn man es braucht und sollte auch funktionieren.

Ob der Netconfig-Mechanismus die /etc/resolv.conf korrekt anpasst, kann man mit dem Befehl:

su

netconfig update

testen. Siehe:

man netconfig

more /etc/resolv.conf

für mehr Informationen.

Bitte immer

su -

und nie

su