Wie kommen die Nameserver in die /etc/resolv.conf ?

  • Hallo!
    Ich hätte einmal eine Verständnisfrage, wie die Nameserver in /etc/resolv.conf kommen.
    Es handelt sich um zwei RBP 4b mit Bullseye.
    Es läuft auf beiden das voreingestellte dhcpcd und kein systemd-networkd, kein resolvconf und kein networkmanager.

    Nach meinem Verständnis sollten die Nameserver in /etc/dhcpcd.conf eingetragen werden und vom dhcpcd beim Restart in /etc/resolv.conf übernommen werden.
    Auf einem der beiden läuft Pi-Hole als erstem Nameserver unter 127.0.0.1 und die Fritz!Box ist als weiterer Nameserver eingetragen.
    Also /etc/dhcpcd.conf:

    Mit "sudo /bin/systemctl restart dhcpcd" wird die /etc/resolv.conf auch aktualisiert, allerdings zu:

    Code
    # Generated by resolvconf
    domain fritz.box
    nameserver 127.0.0.1

    Wieso fehlen da die anderen vier eingetragenen Nameserver?
    Oder von woher wird 127.0.0.1 sonst übernommen?

    Der andere Server hängt einfach nur an der Fritz!Box. In der /etc/dhcpcd.conf sind keine Nameserver eingetragen. Da werden (sauber) drei nameserver-Einträge für die Fritz!Box generiert (1*IPv4 und 2*IPv6).
    Bekommt dhcpcd diese IPs beim Booten vom DHCP der Fritz!Box?

    Klar kann ich die /etc/resolv.conf von Hand pflegen. Ich würde aber gerne das "richtige" Verfahren verstehen.

  • Wie kommen die Nameserver in die /etc/resolv.conf ?? Schau mal ob du hier fündig wirst!

  • Mit "sudo /bin/systemctl restart dhcpcd" wird die /etc/resolv.conf auch aktualisiert, allerdings zu:

    Code
    # Generated by resolvconf
    domain fritz.box
    nameserver 127.0.0.1

    Wieso fehlen da die anderen vier eingetragenen Nameserver?
    Oder von woher wird 127.0.0.1 sonst übernommen?

    Das kann an der Konfiguration von dhcpcd-run-hooks via dhcpcd.conf, liegen.
    Trage mal 127.0.0.2 ein und führe danach "sudo resolvconf -u" aus. Was steht dann in der resolv.conf?


    EDIT:

    Versuch mal auch mit:

    Code
    nohook resolv.conf

    in der dhcpcd.conf.

  • ...
    Trage mal 127.0.0.2 ein und führe danach "sudo resolvconf -u" aus. Was steht dann in der resolv.conf?
    ...

    127.0.0.2 habe ich so als ersten Nameserver in die /etc/dhcpcd.conf aufgenommen:

    "sudo /usr/sbin/resolvconf -u" hat danach eigentlich nichts bewirkt. Die /etc/resolv.conf hatte den alten Zeitstempel und war auch inhaltlich unverändert.
    Interessanterweise liefert "sudo /usr/sbin/resolvconf -l" zu dem Zeitpunkt die erwünschten Nameserver (obwohl auch noch 127.0.0.2 eingetragen war):

    Was ist denn da mit "from wlan0.dhcp" gemeint? Da steht ja dann anscheinend die richtige Information drin. Wieso kommt das nicht in der /etc/resolv.conf an.

    Die dhcpcd-hooks dürften die mit Bullseye ausgelieferten sein:


    Versuch mal auch mit:

    Code
    nohook resolv.conf

    in der dhcpcd.conf.

    Ich möchte das ja nicht abschalten, sondern verstehen, wie das "richtig" gemacht wird.

  • 127.0.0.2 habe ich so als ersten Nameserver in die /etc/dhcpcd.conf aufgenommen:

    "sudo /usr/sbin/resolvconf -u" hat danach eigentlich nichts bewirkt. Die /etc/resolv.conf hatte den alten Zeitstempel und war auch inhaltlich unverändert.
    Interessanterweise liefert "sudo /usr/sbin/resolvconf -l" zu dem Zeitpunkt die erwünschten Nameserver (obwohl auch noch 127.0.0.2 eingetragen war):

    Was ist denn da mit "from wlan0.dhcp" gemeint? Da steht ja dann anscheinend die richtige Information drin. Wieso kommt das nicht in der /etc/resolv.conf an.

    Die dhcpcd-hooks dürften die mit Bullseye ausgelieferten sein:

    Ich möchte das ja nicht abschalten, sondern verstehen, wie das "richtig" gemacht wird.

    Evtl. war der Eintrag des 127.0.0.2 noch nicht wirksam, als Du resolvconf -u ausgeführt hast, weil Du vorher nicht:

    Code
    sudo systemctl daemon-reload
    sudo systemctl restart dhcpcd

    ausgeführt hast.
    Ist dein PI per lan und per wlan mit der FB verbunden? Wenn nicht, dann deaktiviere das eth0-Interface in der dhcpcd.conf.
    Naja, evtl. verstehst Du wie es richtig gemacht wird, wenn Du _temporär_

    Code
    nohook resolv.conf

    benutzt und vergleichst.

  • Interessant! Durch "sudo /bin/systemctl restart dhcpcd" wird nicht nur die /etc/resolv.conf neu erzeugt!
    In /etc/resolvconf.conf finden sich mehr Verweise:

    Code
    resolv_conf=/etc/resolv.conf
    dnsmasq_resolv=/var/run/dnsmasq/resolv.conf
    pdnsd_conf=/etc/pdnsd.conf
    unbound_conf=/etc/unbound/unbound.conf.d/resolvconf_resolvers.conf

    /etc/pdnsd.conf gibt es nicht.
    Die anderen beiden wurden auch alle neu erstellt:

    /var/run/dnsmasq/resolv.conf:

    Code
    nameserver 192.168.178.1
    nameserver 8.8.8.8
    nameserver fd51:***
    nameserver fd00:***
    nameserver 2a00:***

    /etc/unbound/unbound.conf.d/resolvconf_resolvers.conf:

    Da finden sich also die vermissten Einträge als forward-addr und nameserver. Wie schon geschrieben, läuft nur kein dnsmasq und auch kein unbound.

    Die Einträge werden ja demnach erkannt. Nur landen sie nicht in der /etc/resolv.conf.

  • Ist das vielleicht ein Effekt von Pi-Hole? Überschreibt es irgendwie die nameserver in resolv.conf mit sich selbst - 127.0.0.1?

    Kann sein. Deaktiviere temporär pihole und dnsmasq, _lasse die Deaktivierung wirksam werden_ und vergleiche.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!