/etc/resolv.conf ändert sich (z.B.) nach reboot automatisch auf falsche IP

Hallo zusammen,

ich habe eine Sache auf meinem Pi-Hole die ich nicht gelöst bekomme.
In meiner /etc/resolv.conf sollte immer DNS 172.24.1.50 (IP des Raspberry PI) eingetragen sein. Nach z.B. einem Reboot ändert sich der Eintrag aber immer auf 172.24.0.50. Das hat zur Folge, dass URLs nicht mehr aufgelöst werden können. Ich muss dann immer mit sudo nano /etc/resolv.conf den Eintrag wieder korrigieren damit wieder alles funktioniert.

Ich habe leider keine Linux Erfahrungen um zu wissen woher sich die resolv.conf jedes mal die falsche IP beim starten holt. Könnt ihr mir weiterhelfen?

Danke für eure Hilfe!

Viele Grüße
JD

Es ist völlig normal, dass diese Datei von der Netzwerk-Management-Software Deines Betriebssystems verwaltet wird.

Wie sieht denn resolv.conf bei Dir aus?

cat /etc/resolv.conf

Hier der Inhalt der resolv.conf:

'# Generated by resolvconf
nameserver 172.24.1.50

Das liefert schon einmal den Hinweis, dass resolvconf diese Datei schreibt.

Unter welchem Betriebssystem und welcher Version läuft Dein Pi-hole?

PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian

Die resolvconf-Software vermittelt zwischen Diensten, die Informationen zur Namensauflösung abrufen, und solchen, die diese Informationen bereitstellen.

Du musst also herausfinden, welche Programme letzteres tun, wenn Du Einfluss auf die nameserver nehmen willst, die in /etc/resolv.conf auftauchen.

Unter Raspberry Pi OS Buster wäre das standardmässig dhcpcd.

Ausgeführt auf Deinem RPi, was gibt folgendes Kommando zurück:

grep -v '^#\|^$' /etc/dhcpcd.conf

hostname
clientid
persistent
option rapid_commit
option domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes
option interface_mtu
require dhcp_server_identifier
slaac private
static ip_address=172.24.1.50/24
static routers=172.24.1.1
static domain_name_servers=172.24.0.50 172.24.0.50

Sieht aus, als würde da das interface fehlen.

Was gibt folgendes Kommando zurück:

ip -4 a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 172.24.1.50/24 brd 172.24.1.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
4: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 10.6.0.1/24 scope global wg0
       valid_lft forever preferred_lft forever

Dann fehlt Dir eth0 als Interface in Deiner dhcpcd.conf.

Der vollständige Abschnitt sollte dann etwa so aussehen:

interface eth0
    static ip_address=172.24.1.50/24
    static routers=172.24.1.1
    static domain_name_servers=172.24.0.50

Da die Einstellungen zuvor nicht aktiv waren, solltest Du diese nochmals kontrollieren, ob die Angaben auch so korrekt und von Dir gewünscht sind.

Soll ich das einfach 1 zu 1 in der Datei ergänzen?

Ja - sofern die Angaben richtig für Dein Netzwerk sind.

Insbesondere die /24 und die Adresse des Routers sollten stimmen.
Und die 172.24.0.50 bei domain_name_servers sollte ein DNS-Server sein.
Oder soll das Dein Pi-hole-Rechner selbst sein? Dann wäre die Adresse falsch.

Das sind aber alles Fragen zur Netzwerk-Konfiguration, nicht zu Pi-hole. :wink:

Vielen Dank für deine Hilfe Bucking_Horn !!

Ja, da gebe ich dir Recht. Das hat eigentlich nichts mit dem Pi-hole zu tun!

Ich bin jetzt aber auch wieder ein wenig unsicher wegen der Anpassung der dhcod,conf.

interface eth0
static ip_address=172.24.1.50/24 (IP vom RaspberryPI? - Welche Auswirkung hat nochmal die /24?)
static routers=172.24.1.1 (IP von meiner Fritzbox?)
static domain_name_servers=172.24.0.50 (müsste dann doch eigentlich 172.24.1.50 lauten oder. Der pi-Hole ist ja mein DNS) = Oder macht es aus deiner Sicht sogar mehr Sinn dort einen externen DNS Server wie z.B. 8.8.8.8 einzutragen? Ich dachte immer der pi-Hole "MUSS" der DNS Server sein, damit die Werbung richtig rausgefiltert wird.

Ja, Pi-hole muss der einzige DNS-Server für die Clients in Deinem Netzwerk sein, wenn wirksam gefiltert werden soll. :wink:

Auf dem Rechner, auf dem Pi-hole läuft, ist die Filterung hingegen zweitrangig, sofern dieser nicht parallel auch noch als Desktop arbeitet.
Wichtiger wäre hier, dass DNS auch dann funktioniert, wenn Pi-hole mal ausser Gefecht sein sollte. Außerdem kann es hier u.U. je nach Konfiguration des Routers und Pi-holes zu einer DNS-Schleife kommen.

Insofern ist es eine gute Überlegung, auf dem Pi-hole-Rechner auch (oder nur) noch einen öffentlichen Resolver anzugeben. Also z.B. den von Dir vorgeschlagenen 8.8.8.8.

static ip_address ist in der Tat die dann statische IP des Rechners.
Die kannst Du wahlweise aber auch ganz weglassen, sofern Du in Deiner FritzBox für Deinen RPi den Haken für das zuweisen einer fixen IP-Adresse gesetzt hast.
Ebenso könntest Du in dem Fall auf static routers verzichten.
Beide Informationen würden dann durch dhcpcd über DHCP von der FritzBox angefordert werden.

Dasselbe würde auch für domain_name_servers gelten.
Aber offensichtlich kam es hier ja gerade zu Problemen, wenn diese Informationen von der FritzBox übernommen werden.

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.