DNS per DHCP klappt nicht (Bookworm)

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Benutzeravatar
MSfree
Beiträge: 10863
Registriert: 25.09.2007 19:59:30

Re: DNS per DHCP klappt nicht (Bookworm)

Beitrag von MSfree » 23.06.2023 09:51:24

JTH hat geschrieben: ↑ zum Beitrag ↑
22.06.2023 19:23:17
Wenn nicht stattdessen Debianresolvconf oder irgendetwas vergleichbares oder einer der verschiedenen Netzwerkmanager installiert ist, wird die Datei natürlich nie automatisch aktualisiert.
Und genau da entsteht das Problem. Mit installiertem Debianresolvconf wird aus /etc/resolv.conf ein symbolischer Link auf ../run/resolvconf/resolv.conff und in dieser Datei steht dann ausser vier Kommentarzeilen nichts drin. Reboot hilft nicht.

Mein DHCP-Server übergibt die DNS-Informationen völlig korrekt, der Client hier übernimmt es aber nicht. Ist der Client jedoch mit ifup/ifdown statt systemd-networkd konfiguriert, klappt es auch mit der Regeneration von /etc/resolv.conf.

JTH
Moderator
Beiträge: 3028
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: DNS per DHCP klappt nicht (Bookworm)

Beitrag von JTH » 23.06.2023 11:16:08

MSfree hat geschrieben: ↑ zum Beitrag ↑
23.06.2023 09:51:24
Mein DHCP-Server übergibt die DNS-Informationen völlig korrekt, der Client hier übernimmt es aber nicht. Ist der Client jedoch mit ifup/ifdown statt systemd-networkd konfiguriert, klappt es auch mit der Regeneration von /etc/resolv.conf.
Ich bin mir einigermaßen sicher, dass systemd-networkd zwingend systemd-resolved braucht¹, um in .network-Units festgelegte oder per DHCP angekündigte Nameserver „anzuwenden“, also u.a. in /etc/resolv.conf landen zu lassen. Das geht wohl auch zusammen mit resolvconf [1] [2], wenn man das denn unbedingt behalten möchte – und systemd-resolvd nicht traut.

Aber du kannst die Verwendung von systemd-resolved ja auf ein Minimum beschränken, ohne resolvconf:
DNSStubListener in /etc/systemd/resolved.conf auf No setzen und aus /etc/resolv.conf nen Symlink auf /run/systemd/resolve/resolv.conf machen. Dann füllt systemd-resolved die /etc/resolv.conf bzw. die verlinkte Datei, aber agiert darüber hinaus nicht als lokaler, cachender Nameserver.

¹ Aber da das systemd-Projekt ja ganz offen für andere Implementierungen ist *hust*, braucht es nicht eigentlich systemd-resolved. Sondern nur irgendeinen Dienst, der die D-Bus-Schnittstelle unter dem Namen org.freedesktop.resolve1 implementiert.
Manchmal bekannt als Just (another) Terminal Hacker.

KP97
Beiträge: 3467
Registriert: 01.02.2013 15:07:36

Re: DNS per DHCP klappt nicht (Bookworm)

Beitrag von KP97 » 23.06.2023 15:12:49

JTH hat geschrieben: ↑ zum Beitrag ↑
23.06.2023 11:16:08
Ich bin mir einigermaßen sicher, dass systemd-networkd zwingend systemd-resolved braucht....
Nein, braucht es nicht. Ich habe systemd-networkd lange ohne den Service genutzt, einfach mit einer resolve.conf in /etc. Ein Link davon nach /run ist auch nicht notwendig. Wenn man will, funktioniert systemd-networkd genau wie früher.

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

Re: DNS per DHCP klappt nicht (Bookworm)

Beitrag von MSfree » 23.06.2023 15:22:12

KP97 hat geschrieben: ↑ zum Beitrag ↑
23.06.2023 15:12:49
Nein, braucht es nicht. Ich habe systemd-networkd lange ohne den Service genutzt, einfach mit einer resolve.conf in /etc.
Ich will die resolv.conf aber nicht manuell editieren müssen. :wink:

KP97
Beiträge: 3467
Registriert: 01.02.2013 15:07:36

Re: DNS per DHCP klappt nicht (Bookworm)

Beitrag von KP97 » 23.06.2023 15:57:06

Warum sollte man das? Wenn man einmal den Router bzw. den Provider eingetragen hat, bleibt es doch so.
Ich spreche aber nicht von einem komplizierten Firmennetz, da mag das anders sein.

JTH
Moderator
Beiträge: 3028
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: DNS per DHCP klappt nicht (Bookworm)

Beitrag von JTH » 23.06.2023 16:03:15

KP97 hat geschrieben: ↑ zum Beitrag ↑
23.06.2023 15:12:49
JTH hat geschrieben: ↑ zum Beitrag ↑
23.06.2023 11:16:08
Ich bin mir einigermaßen sicher, dass systemd-networkd zwingend systemd-resolved braucht....
Nein, braucht es nicht.
Doch, braucht es, wenn du die zweite Hälfte des Satzes nicht unterschlägst:
JTH hat geschrieben: ↑ zum Beitrag ↑
23.06.2023 11:16:08
Ich bin mir einigermaßen sicher, dass systemd-networkd zwingend systemd-resolved braucht¹, um in .network-Units [per DNS=] festgelegte oder per DHCP angekündigte Nameserver […] in /etc/resolv.conf landen zu lassen.
Wie MSfree schon schrieb, kannst du jederzeit ohne systemd-resolved nen Nameserver statisch in /etc/resolv.conf reinschreiben. Die Möglichkeit ist auch völlig unabhängig davon, wie das Netzwerk ansonsten konfiguriert wird. Aber in einem dynamisch(er)en Szenario funktioniert das nicht mehr.

KP97 hat geschrieben: ↑ zum Beitrag ↑
23.06.2023 15:57:06
Warum sollte man das? Wenn man einmal den Router bzw. den Provider eingetragen hat, bleibt es doch so.
Alleine auf einem Laptop, mit dem du in wechselnden (Heim-) WLAN-Netzen unterwegs bist, benutzt du vermutlich regelmäßig unterschiedliche DNS-Server – den des jeweiligen (Heim-) Routers. Man kann natürlich einen fixen, externen DNS-Server benutzen, wie Googles 8.8.8.8 oder weniger suspekte Alternativen, dann müsste sich in der resolv.conf nix ändern.

Auch wenn du z.B. ein VPN benutzt, wird der verwendete DNS-Server bei Einwahl evtl. geändert oder zumindest ein weiterer ergänzt.
Manchmal bekannt als Just (another) Terminal Hacker.

KP97
Beiträge: 3467
Registriert: 01.02.2013 15:07:36

Re: DNS per DHCP klappt nicht (Bookworm)

Beitrag von KP97 » 23.06.2023 16:10:33

Gut, das leuchtet mir ein, dann war mein Beitrag Quatsch, also ignorieren...

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

Re: DNS per DHCP klappt nicht (Bookworm)

Beitrag von mat6937 » 23.06.2023 16:13:44

JTH hat geschrieben: ↑ zum Beitrag ↑
23.06.2023 16:03:15
Aber in einem dynamisch(er)en Szenario funktioniert das nicht mehr.
Das muss es auch nicht bzw. es geht auch ohne systemd-resolved.
Z. B. wenn man in/mit einer *.network-Datei, die IP-Adresse per dhcp zuweisen lässt:

Code: Alles auswählen

# ...
[NETWORK]
DHCP=ipv4    # oder yes

[DHCPV4] 
UseDNS=true  # was aber schon die default Einstellung ist
# ...
D. h.:
When true (the default), the DNS servers received from the DHCP server will be used and take precedence
over any statically configured ones.
This corresponds to the nameserver option in resolv.conf
(5).
Quelle: manpage

KP97
Beiträge: 3467
Registriert: 01.02.2013 15:07:36

Re: DNS per DHCP klappt nicht (Bookworm)

Beitrag von KP97 » 23.06.2023 16:20:58

mat6937 hat geschrieben: ↑ zum Beitrag ↑
23.06.2023 16:13:44
Z. B. wenn man in/mit einer *.network-Datei, die IP-Adresse per dhcp zuweisen lässt
So mache ich das auch, vielleicht ist deshalb meine resolv.conf schon ewig nicht mehr angepackt worden.
Aber wie gesagt, ich bin hier zuhause und nicht in einem Firmennetzwerk, da sind sicher schon ein paar Unterschiede.

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

Re: DNS per DHCP klappt nicht (Bookworm)

Beitrag von mat6937 » 23.06.2023 16:25:43

KP97 hat geschrieben: ↑ zum Beitrag ↑
23.06.2023 16:20:58
So mache ich das auch, ...
Aber wie gesagt, ich bin hier zuhause und nicht in einem Firmennetzwerk, da sind sicher schon ein paar Unterschiede.
Nein, wenn Du dhcp mit systemd-networkd benutzt, sind da keine Unterschiede, denn deine Konfiguration bzgl. zuweisen der IP-Adresse und Benutzung von DNS-/NTP-Servern, ist für die Verwendung in wechselnden/verschiedenen Netzwerken/W/LANs geeignet.

KP97
Beiträge: 3467
Registriert: 01.02.2013 15:07:36

Re: DNS per DHCP klappt nicht (Bookworm)

Beitrag von KP97 » 23.06.2023 17:27:31

Danke @mat für die Aufklärung. Von Netzwerken hab ich nicht wirklich Ahnung, was man halt so als Basis mitbekommt.
Da freut es mich, wenn mir ein Wissender mehr dazu sagen kann.

JTH
Moderator
Beiträge: 3028
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: DNS per DHCP klappt nicht (Bookworm)

Beitrag von JTH » 23.06.2023 18:04:58

Irgendwie komm ich mir veräppelt vor :?

mat6937 hat geschrieben: ↑ zum Beitrag ↑
23.06.2023 16:13:44
Das muss es auch nicht bzw. es geht auch ohne systemd-resolved.
Nein, die Aussage ist einfach falsch. systemd-networkd alleine füllt nie die /etc/resolv.conf (= die elementare Konfigurationsdatei für DNS-Namensauflösung, um das für Mitlesende nochmal so zu sagen). Egal was da an DHCP=ipv4, UseDNS=yes, DNS=8.8.8.8 oder ähnlichem in den .network-Dateien gesetzt ist.

Wenn auf nem System /etc/resolv.conf gefüllt ist und gleichzeitig systemd-networkd läuft, systemd-resolved aber nicht (und auch nichts ähnliches läuft), dann stammt der Inhalt der resolv.conf aus nem vorherigen Setup oder ist von Hand gesetzt – was ja völlig okay, funktional und legitim ist. Aber er stammt nicht von systemd-networkd.

Als „Beweis“ für „systemd-networkd alleine füllt nie die /etc/resolv.conf“ auf nem System, auf dem nur systemd-networkd läuft:
  • resolv.conf mit Backup aus dem Weg schieben:

    Code: Alles auswählen

    [ -f /etc/resolv.conf ] && mv /etc/resolv.conf /etc/resolv.conf.backup || rm -f /etc/resolv.conf
  • Der Einfachheit halber: Reboot
  • Namensauflösung ist kaputt
  • systemd-resolved installieren:

    Code: Alles auswählen

     apt install --no-install-recommends systemd-resolved
    Ach geht gerade nicht, weil Namen nicht aufgelöst werden können ;) (Außer man hat IPs, statt Namen in der sources.list.)
Aber wenn man an dieser Stelle systemd-resolved installieren würde – während die /etc/resolv.conf nicht existiert – und anschließend einfach nochmal nen Reboot macht, hat systemd-resolved anschließend dafür gesorgt, dass Namen wieder auflösbar sind.

mat6937 hat geschrieben: ↑ zum Beitrag ↑
23.06.2023 16:25:43
Nein, wenn Du dhcp mit systemd-networkd benutzt, sind da keine Unterschiede, denn deine Konfiguration […] ist für die Verwendung in wechselnden/verschiedenen Netzwerken/W/LANs geeignet.
Nein, das ist die Konfiguration ohne systemd-resolved eben nicht. Muss sie je nach Benutzung und Anforderung aber natürlich auch nicht.

mat6937 hat geschrieben: ↑ zum Beitrag ↑
23.06.2023 16:13:44
So mache ich das auch, vielleicht ist deshalb meine resolv.conf schon ewig nicht mehr angepackt worden.
Kannst ja mal schauen, wann die Datei das letzte Mal modifiziert wurde:

Code: Alles auswählen

stat -c%y /etc/resolv.conf


Um hier mal ne Quelle zu zitieren, wenn man mir irgendwie nicht glaubt:
https://wiki.archlinux.org/title/Systemd-networkd hat geschrieben:
  • systemd-resolved is required if DNS entries are specified in .network files. [also mit DNS=…]
  • systemd-resolved is also required if you want to obtain DNS addresses from DHCP servers […] (by setting DHCP= […], and UseDNS=yes (the default) […]
Manchmal bekannt als Just (another) Terminal Hacker.

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

Re: DNS per DHCP klappt nicht (Bookworm)

Beitrag von MSfree » 23.06.2023 18:07:24

mat6937 hat geschrieben: ↑ zum Beitrag ↑
23.06.2023 16:13:44
Das muss es auch nicht bzw. es geht auch ohne systemd-resolved.
Z. B. wenn man in/mit einer *.network-Datei, die IP-Adresse per dhcp zuweisen lässt:

Code: Alles auswählen

# ...
[NETWORK]
DHCP=ipv4    # oder yes

[DHCPV4] 
UseDNS=true  # was aber schon die default Einstellung ist
# ...
D. h.:
When true (the default), the DNS servers received from the DHCP server will be used and take precedence
over any statically configured ones.
This corresponds to the nameserver option in resolv.conf
(5).
Quelle: manpage
Also, das Setup, das ich hier beschrieben habe: viewtopic.php?p=1297040#p1297040
hat im März 2022 problemlos funktioneirt, inklusive der Aktualisierung der /etc/resolv.conf.

Seit Ende April wird /etc/resolv.conf nicht mehr aktualisiert.

Ganz offensichtlich hat sich also das Verhalten irgendwo geändert. Meine Konfiguration war es jedenfalls nicht. Daß bei mir die Namensauflösung trotzdem funktioniert,ist purer Zufall, weil ich noch eine alte resolv.conf auf der Platte hatte.

Daß die Manpage nicht den Tatsachen entspricht, kann schonmal vorkommen. :wink:

JTH
Moderator
Beiträge: 3028
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: DNS per DHCP klappt nicht (Bookworm)

Beitrag von JTH » 23.06.2023 18:12:51

MSfree hat geschrieben: ↑ zum Beitrag ↑
23.06.2023 18:07:24
hat im März 2022 problemlos funktioneirt, inklusive der Aktualisierung der /etc/resolv.conf.

Seit Ende April wird /etc/resolv.conf nicht mehr aktualisiert.
Der Dienst systemd-resolved steckte bis Version 251.3-1 noch in Debiansystemd. Seid 251.3-2 hat er ein eigenes Paket Debiansystemd-resolved (ohne das Debiansystemd davon abhängen würde) – und der Dienst bei dir deshalb vermutlich seitdem nicht mehr vorhanden.
Manchmal bekannt als Just (another) Terminal Hacker.

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

Re: DNS per DHCP klappt nicht (Bookworm)

Beitrag von MSfree » 23.06.2023 18:18:43

JTH hat geschrieben: ↑ zum Beitrag ↑
23.06.2023 18:12:51
und der Dienst bei dir deshalb vermutlich seitdem nicht mehr vorhanden.
Stimmt, das Paket ist nicht (mehr) installiert. Das muß wohl bei einem der zahlrechen dist-upgrades in Freeze-Phase von Bookworm deinstalliert worden sein, ohne, daß es mir aufgefallen ist.

Ich werde das später mal nachinstallieren und testen.

KP97
Beiträge: 3467
Registriert: 01.02.2013 15:07:36

Re: DNS per DHCP klappt nicht (Bookworm)

Beitrag von KP97 » 23.06.2023 20:23:37

JTH hat geschrieben: ↑ zum Beitrag ↑
23.06.2023 18:04:58
Wenn auf nem System /etc/resolv.conf gefüllt ist und gleichzeitig systemd-networkd läuft, systemd-resolved aber nicht (und auch nichts ähnliches läuft), dann stammt der Inhalt der resolv.conf aus nem vorherigen Setup oder ist von Hand gesetzt – was ja völlig okay, funktional und legitim ist. Aber er stammt nicht von systemd-networkd.
Genau so ist es. Meine /etc/resolv.conf ist zuletzt am 22.10.22 angefaßt worden, da hab ich wohl was geändert. Die Aussage stammt aber nicht von mir, daß systemd-resolved die
resolv.conf füllt, meine habe ich manuell erstellt.
Und veräppeln will Dich ganz sicher niemand, wir haben wahrscheinlich alle unterschiedliche Konfigurationen und mit systemd auch andere Wege eingeschlagen.

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

Re: DNS per DHCP klappt nicht (Bookworm)

Beitrag von mat6937 » 23.06.2023 20:47:00

JTH hat geschrieben: ↑ zum Beitrag ↑
23.06.2023 18:04:58
Irgendwie komm ich mir veräppelt vor :?

mat6937 hat geschrieben: ↑ zum Beitrag ↑
23.06.2023 16:13:44
Das muss es auch nicht bzw. es geht auch ohne systemd-resolved.
Nein, die Aussage ist einfach falsch. systemd-networkd alleine füllt nie die /etc/resolv.conf (= die elementare Konfigurationsdatei für DNS-Namensauflösung, um das für Mitlesende nochmal so zu sagen). Egal was da an DHCP=ipv4, UseDNS=yes, ...
In welchem meiner Beiträge habe ich geschrieben, dass systemd-networkd die /etc/resolv.conf füllt?

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

Re: DNS per DHCP klappt nicht (Bookworm)

Beitrag von mat6937 » 23.06.2023 20:56:40

KP97 hat geschrieben: ↑ zum Beitrag ↑
23.06.2023 20:23:37
Genau so ist es. Meine /etc/resolv.conf ist zuletzt am 22.10.22 angefaßt worden, da hab ich wohl was geändert. Die Aussage stammt aber nicht von mir, daß systemd-resolved die
resolv.conf füllt, meine habe ich manuell erstellt.
Poste mal die Ausgaben von:

Code: Alles auswählen

networkctl status
cat /etc/resolv.conf
"networkctl status" sollte die DNS-Server die via systemd-networkd wirksam sind und die die aus der /etc/resolv.conf kommen, zeigen.

EDIT:

In der Datei "/var/run/systemd/netif/state" sollten u. a. auch die via systemd-networkd (per dhcp) gelernten DNS-Server (neben dem aus der /etc/resolv.conf) eingetragen sein:

Code: Alles auswählen

cat /var/run/systemd/netif/state
? Eindeutig ist es, wenn Du in der /etc/resolv.conf einen anderen DNS-Server eingetragen hast, als der DHCP-Server dem systemd-networkd mitteilt.
Zuletzt geändert von mat6937 am 23.06.2023 21:13:18, insgesamt 1-mal geändert.

KP97
Beiträge: 3467
Registriert: 01.02.2013 15:07:36

Re: DNS per DHCP klappt nicht (Bookworm)

Beitrag von KP97 » 23.06.2023 21:12:36

Hier:
root@MB:/home/MB# cat /etc/resolv.conf
nameserver 192.168.0.1
nameserver 80.69.96.12
#nameserver 81.210.129.4
root@MB:/home/MB# networkctl status
● State: routable
Online state: online
Address: 192.168.0.87 on eth0
fe80::defe:7ff:fee1:7722 on eth0
Gateway: 192.168.0.1 on eth0
DNS: 81.210.129.4
80.69.96.12

Jun 23 20:02:49 MB systemd-networkd[345]: lo: Link UP
Jun 23 20:02:49 MB systemd-networkd[345]: lo: Gained carrier
Jun 23 20:02:49 MB systemd-networkd[345]: Enumeration completed
Jun 23 20:02:50 MB systemd-networkd[345]: eth0: Configuring with /etc/systemd/network/60-kabel.network.
Jun 23 20:02:50 MB systemd-networkd[345]: eth0: Link UP
Jun 23 20:02:53 MB systemd-networkd[345]: eth0: Gained carrier
Jun 23 20:02:54 MB systemd-networkd[345]: eth0: Gained IPv6LL
Jun 23 20:02:57 MB systemd-networkd[345]: eth0: DHCPv4 address 192.168.0.87/24, gateway 192.168.0.1 acquired from 192.168.0.1
root@MB:/home/MB#

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

Re: DNS per DHCP klappt nicht (Bookworm)

Beitrag von mat6937 » 23.06.2023 21:18:24

KP97 hat geschrieben: ↑ zum Beitrag ↑
23.06.2023 21:12:36
Hier:
root@MB:/home/MB# cat /etc/resolv.conf
nameserver 192.168.0.1
nameserver 80.69.96.12
#nameserver 81.210.129.4
root@MB:/home/MB# networkctl status

DNS: 81.210.129.4
Der DNS-Server 81.210.129.4 ist nicht in der /etc/resolv.conf. Wird der via DHCP (vom Router) mitgeteilt?

Siehe auch EDIT im Beitrag vom 23.06.2023 19:56:40 Uhr.

EDIT:

Mit tcpdump kannst Du prüfen, welcher DNS-Server benutzt wird, damit ersichtlich ist, ob systemd-networkd auf die /etc/resolv.conf überhaupt angewiesen ist.

KP97
Beiträge: 3467
Registriert: 01.02.2013 15:07:36

Re: DNS per DHCP klappt nicht (Bookworm)

Beitrag von KP97 » 23.06.2023 21:43:56

Ich habe jetzt mal in der resolv.conf nur den Router aktiv gelassen, die beiden anderen nameserver sind auskommentiert.
Und ja, der Router teilt die Adresse mit.
Ich lasse das auch so, da hier alles bestens läuft.
root@MB:/home/MB# cat /etc/resolv.conf
nameserver 192.168.0.1
#nameserver 80.69.96.12
#nameserver 81.210.129.4
root@MB:/home/MB# networkctl status
● State: routable
Online state: online
Address: 192.168.0.87 on eth0
fe80::defe:7ff:fee1:7722 on eth0
Gateway: 192.168.0.1 on eth0
DNS: 81.210.129.4
80.69.96.12

Jun 23 21:37:36 MB systemd-networkd[336]: lo: Link UP
Jun 23 21:37:36 MB systemd-networkd[336]: lo: Gained carrier
Jun 23 21:37:36 MB systemd-networkd[336]: Enumeration completed
Jun 23 21:37:37 MB systemd-networkd[336]: eth0: Configuring with /etc/systemd/network/60-kabel.network.
Jun 23 21:37:37 MB systemd-networkd[336]: eth0: Link UP
Jun 23 21:37:40 MB systemd-networkd[336]: eth0: Gained carrier
Jun 23 21:37:41 MB systemd-networkd[336]: eth0: Gained IPv6LL
Jun 23 21:37:43 MB systemd-networkd[336]: eth0: DHCPv4 address 192.168.0.87/24, gateway 192.168.0.1 acquired from 192.168.0.1
root@MB:/home/MB#

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

Re: DNS per DHCP klappt nicht (Bookworm)

Beitrag von mat6937 » 23.06.2023 21:55:37

KP97 hat geschrieben: ↑ zum Beitrag ↑
23.06.2023 21:43:56
Ich habe jetzt mal in der resolv.conf nur den Router aktiv gelassen, die beiden anderen nameserver sind auskommentiert.
Und ja, der Router teilt die Adresse mit.
root@MB:/home/MB# cat /etc/resolv.conf
nameserver 192.168.0.1
#nameserver 80.69.96.12
#nameserver 81.210.129.4
root@MB:/home/MB# networkctl status
DNS: 81.210.129.4
80.69.96.12
D. h. networkctl ignoriert den DNS-Server aus der /etc/resolv.conf. Mit:

Code: Alles auswählen

tcpdump -c 50 -vvveni eth0 dst port 53
und anschließend:

Code: Alles auswählen

host -t a loc.gov
könntest Du feststellen an welchen DNS-Server, bei deiner Konfiguration/Konstellation, die Anfrage gesendet wird.

systemd-networkd ist dann sowohl in einem dynamischen als auch in einem statischen Szenario nicht auf systemd-resolved (... und evtl. auch nicht auf die /etc/resolv.conf?), angewiesen.

EDIT:

Wie ist bei dir die Ausgabe von:

Code: Alles auswählen

cat /etc/nsswitch.conf
?

KP97
Beiträge: 3467
Registriert: 01.02.2013 15:07:36

Re: DNS per DHCP klappt nicht (Bookworm)

Beitrag von KP97 » 23.06.2023 22:19:05

hallo mat,
das verschiebe ich jetzt mal auf morgen, mein Abendbrot wartet ... :-)
aber feststeht, daß ich so noch nie hinter die Kulissen geblickt habe, tcpdump mußte ich auch erst installieren, sehr umfangreiches Thema ...

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

Re: DNS per DHCP klappt nicht (Bookworm)

Beitrag von mat6937 » 24.06.2023 10:55:26

MSfree hat geschrieben: ↑ zum Beitrag ↑
23.06.2023 18:07:24
Ganz offensichtlich hat sich also das Verhalten irgendwo geändert. Meine Konfiguration war es jedenfalls nicht. Daß bei mir die Namensauflösung trotzdem funktioniert,ist purer Zufall, weil ich noch eine alte resolv.conf auf der Platte hatte.
Das ist aber nur eine Vermutung, denn getestet hast Du das nicht?

ich habe jetzt mit systemd-networkd (aus systemd-version 247, bullseye) folgenden Test gemacht:
Für systemd-networkd ist _nur_ der DNS-Server von OpenBSD (statisch) konfiguriert:

Code: Alles auswählen

:~# networkctl status
●          State: routable                                                                     
         Address: 192.168.178.13 on eth0
         Gateway: 192.168.178.1 (AVM Audiovisuelles Marketing und Computersysteme GmbH) on eth0
             DNS: 208.67.222.222
  Search Domains: fritz.box
             NTP: 192.168.178.1
systemd-resolved ist aktiv und hat die IP der FritzBox als DNS-Server. Die FritzBox benutzt den DNS-Server von OpenBSD _nicht_. In der /etc/resolv.conf ist als nameserver 127.0.0.53 (systemd-resolved) eingetragen.
Wenn ich jetzt mit einem dns-tool (dig oder host) die Namensauflösung von "myip.opendns.com" (was nur durch den DNS-Server von OpenBSD aufgelöst werden kann) mache, sehe ich im tcpdump _nur_ Folgendes:

Code: Alles auswählen

:~# tcpdump -c 50 -vvveni eth0 dst port 53
tcpdump: listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
09:28:26.563351 b8:27:eb:##:##:## > 3c:a6:2f:xx:xx:xx, ethertype IPv4 (0x0800), length 87: (tos 0x0, ttl 64, id 10911, offset 0, flags [DF], proto UDP (17), length 73)
    192.168.178.13.60667 > 208.67.222.222.53: [bad udp cksum 0x221f -> 0x6a9b!] 61754+ [1au] A? myip.opendns.com. ar: . OPT UDPsize=512 (45)
EDIT:

BTW: In der "hosts"-Zeile der /etc/nsswitch.conf, ist nur "files dns" und kein "resolve" eingetragen.

KP97
Beiträge: 3467
Registriert: 01.02.2013 15:07:36

Re: DNS per DHCP klappt nicht (Bookworm)

Beitrag von KP97 » 24.06.2023 15:45:09

@mat6937
So, ich fasse jetzt mal meine Konstellation zusammen:
Hier die Ausgabe von tcpdump:
root@MB:/home/MB# tcpdump -c 50 -vvveni eth0 dst port 53
tcpdump: listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
14:44:33.671740 dc:fe:07:e1:77:22 > 38:43:7d:30:87:57, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 64, id 17361, offset 0, flags [DF], proto UDP (17), length 60)
192.168.0.87.51588 > 192.168.0.1.53: [bad udp cksum 0x81e2 -> 0xdfbe!] 16039+ A? debianforum.de. (32)
Danach folgen noch weitere Ausgaben, die sind aber fast gleich bis auf die Uhrzeit.

1. Ich nutze ein Sid mit systemd Version 253-3
2. Das Paket systemd-resolved ist nicht installiert, es gibt also auch keinen Link nach /run/systemd/resolve
3. Mein Netzwerk managed systemd über eine .network Datei:
[Match]
MACAddress=dc:fe:07:e1:77:22

[Network]
DHCP=yes
Damit der Gerätename eth0 lautet, habe ich auch eine entsprechende .link Datei
4. In der /etc/resolv.conf steht nur die Adresse des Routers, s.o.
5. Der Router macht die Namensauflösung, wenn ich die Adresse des Routers in der resolv.conf auskommentiere, erfolgt die auch nicht, klar.

So sieht das bei mir aus, diese Konfig läuft schon lange so ohne Probleme.
Wenn ich will, kann ich auch Wlan mit systemd steuern, aber eigentlich brauche ich das bei meinem NUC nicht, daher ist das inaktiv.

Hoffentlich verzeiht uns der TE, daß wir seinen Thread gekapert haben...

Antworten