Warum muss ich bei Verwendung von chroot DNS angeben?

Warum muss ich bei Verwendung von chroot DNS angeben?

Als ich das letzte Mal von Live USB auf mein altes, kaputtes System chrootete, konnte ich keine Verbindung zum Internet herstellen. In diesemLernprogramm, ich habe gelesen, ich sollte OpenDNS zu meinem hinzufügen/etc/resolv.conf wenn ich DHCP verwende.

Wie beeinflusst DHCP (oder Chroot) mein DNS?

Ist DHCP nicht nur eine Möglichkeit für meinen Router, mir eine IP zuzuweisen? Warum kann ich von Live USB aus normal eine Verbindung zum Internet herstellen, obwohl chrootich einen neuen DNS hinzufügen muss?

Antwort1

Ist DHCP nicht nur die Art und Weise, wie mir mein Router eine IP-Adresse zuweist?

Nein, auf diese Weise stellt Ihnen Ihr Router auch zusätzliche Informationen zur Verfügung – Gateway-IP, DNS-Server-IP, Standarddomänenname, Zeitserver-IP usw.

Warum kann ich von Live USB normal eine Verbindung zum Internet herstellen, während ich in chroot einen neuen DNS hinzufügen muss?

Linux speichert die DNS-Serveradresse in einer Datei. Da chroot die Art und Weise ändert, wie Programme Dateipfade sehen, bedeutet dies, dass sie unter dem /etc/resolv.confPfad eine andere Datei finden, was wiederum bedeutet, dass sie dort möglicherweise eine andere Adresse gespeichert finden.

(Ihr DHCP-Client weiß nichts über Ihre Chroots und aktualisiert nur diehauptsächlich /etc/resolv.confDatei – es kann nicht suchen und aktualisierenallemögliche Dateien.)


Eine gängige Problemumgehung besteht darin, den „inneren“ Pfad zu verknüpfen (binden), sodass er auf dieselbe „äußere“ Datei verweist. Sie können dies beispielsweise tun, bevor Sie nach /mnt chrooten:

mount --bind /etc/resolv.conf /mnt/etc/resolv.conf

(Natürlich müssen Sie dies später aushängen, bevor das System Ihnen das Aushängen von /mnt erlaubt.)

verwandte Informationen