Aufstellen
Ich spiele mit einem kleinen Embedded Board, auf dem Debian Jessie läuft. Ich verwende so viel systemd
Zeug wie möglich, einschließlich der Netzwerksachen. Ich habe die Datei hinzugefügt:
/etc/systemd/network/eth0-dhcp.network
:
[Match]
Name=eth0
[Network]
DHCP=yes
Ich konfiguriere die /etc/resolv.conf
Datei so, dass sie ein symbolischer Link ist /run/systemd/resolve/resolv.conf
.
Die von systemd gemeldete Version ist 215.
Ich habe die Platine an mein MacBookPro angeschlossen, das seine WLAN-Verbindung als Ethernet freigibt.
Was geschieht
1) Beim ersten Booten ist alles in Ordnung. ifconfig
zeigt, dass ich eine gültige IP-Adresse vom MacBook habe. Ich kann ping 0.debian.pool.ntp.org
und bekomme gültige Antworten. cat /etc/resolv.conf
zeigt eine gültige nameserver
Adresse. Das ist alles wie erwartet und eine gute Sache (tm)
2) Wenn ich das Ethernet-Kabel abtrenne, erhalte ich eine Reihe von Meldungen auf der Konsole, die darauf hinweisen, dass die Verbindung unterbrochen ist. An diesem Punkt ifconfig
wird keine IP-Adresse mehr angezeigt. cat /etc/resolv.conf
ist jetzt leer. Und natürlich funktioniert auch Ping nicht mehr. Das ist auch alles wie erwartet.
3) Ich schließe das Kabel wieder an. Jetzt erhalte ich eine Reihe von Meldungen, die anzeigen, dass die Verbindung aktiv ist. An diesem Punkt ifconfig
zeigt dies an, dass ich wieder eine gültige IP-Adresse habe. Aber /etc/resolv.conf
sie enthält nichts. Mein Ping-Befehl funktioniert also nicht, keine Adresse. Ich kann jedoch ping 204.2.134.162
(die zuvor gemeldete Adresse des besagten Hosts). Ich würde also daraus schließen, dass meine Netzwerkschicht zwar mit dem Hot Plug des Kabels wieder ordnungsgemäß zum Leben erweckt wurde, aber systemd-resolved
nicht?
Nach der Ausführung systemctl restart systems-resolved
wird /etc/resolv.conf
erneut ein Eintrag angezeigt, die aufgelösten IP-Adressen sind jetzt jedoch unterschiedlich und es erfolgt immer noch kein Ping.
Kann mir jemand erklären, was hier passiert? Was ist nötig, damit die Namensauflösung nach einem Hot-Plug-Vorgang im Netzwerk wieder funktioniert? Seien Sie ruhig pedantisch, die meisten meiner Netzwerkkenntnisse sind anekdotischer Natur und durch Ausprobieren erlernt.
AKTUALISIEREN
Es wurde darauf hingewiesen, dass die Debian-Pool-Adressen tatsächlich unterschiedlich und nicht pingbar sein können. Wenn Sie google.com
stattdessen verwenden, funktioniert dieser Teil immer einwandfrei. Die verbleibende Frage ist also
Wie kann systemd-resolved dazu gebracht werden, nach einem Hotplug des Netzwerks neu zu starten?