Kann mir bitte jemand sagen was das sudo echo nameserver 8.8.8.8 > /etc/resolv.conf
macht?
Früher hatte ich zufällige Unterbrechungen der Internetverbindung für 15 Sekunden bis 3 Minuten, aber nachdem ich diesen Befehl verwendet habe, funktioniert die Internetverbindung wie ein Zauber. Ich bin nur neugierig, was diese magische Befehlszeile getan hat.
resolv.conf
Jeanno
quelle
quelle
Antworten:
Es ersetzt den Nameserver (DNS), der vom öffentlichen DNS-Dienst von Google auf Ihrem Computer verwendet wird . Wenn Sie diesen Befehl ausführen, haben Sie möglicherweise DNS-Probleme in den von Ihrem Netzwerk vorgegebenen Standardeinstellungen (DHCP). Es ist zwar besser, die Hauptursache des Problems zu beheben, dies ist jedoch eine allgemeine Antwort auf Ihre Frage.
Erklärung des Befehls
sudo
Erhöht in diesem Fall die Root-Berechtigung.echo
gibt nur die Argumente aus, die der Standardausgabe folgen (in diesem Fall wird sie ausgegebennameserver 8.8.8.8
)>
Leitet die Standardausgabe in eine Datei in einer regulären Unix-Shell um (überschreibt sie)./etc/resolv.conf
ist die Datei, in die die Ausgabe geschrieben wird.nameserver 8.8.8.8
In verwendet/etc/resolv.conf
das System den Nameserver mit der IP-Adresse,8.8.8.8
um Domainnamen in IP-Adressen aufzulösen. (sehr kurze Version dessen, was tatsächlich passiert)8.8.8.8
ist eine der von Google veröffentlichten Adressen , an der die öffentlichen DNS-Dienste von Google empfangsbereit sind.sudo
FehlerObwohl diese Erklärung plausibel klingt, funktioniert sie aufgrund eines Fehlers nicht:
Warum? Die Ausgabeumleitung wird von Ihrer Shell (hier: Bash) übernommen und für den Befehl, der für verwendet wird, nicht berücksichtigt
sudo
. Ähnlich wie das Multiplizieren in Mathematik Vorrang vor dem Addieren hat. Also, es ist nur so,echo
dass es erhöhte Privilegien hat, aber deine Shell hat es nicht! Um dies zu lösen, sollte man diesen Befehl wie folgt ausführenoder, indem Sie eine Pipe verwenden und
tee
in eine Datei ausgeben:Ubuntu und Network Manager
Unter Ubuntu ist dies nur eine vorübergehende Änderung, da Network Manager die
/etc/resolv.conf
Datei "verwaltet" . Lokale Änderungen werden überschrieben. Aus diesem Grund sollten Sie dies in Network Manager so konfigurieren, dass es dauerhaft bleibt.Konfiguration mit Network Manager
Ich würde empfehlen, Ihren PC ordnungsgemäß mit Network Manager zu konfigurieren. Ich gehe davon aus, dass Sie DHCP in Ihrem Netzwerk verwenden (am häufigsten). Führen Sie dann die folgenden Schritte aus, um das Gleiche wie bei dem Befehl auszuführen, den Sie verwendet haben:
Öffnen Sie Verbindungen bearbeiten :
Bearbeiten Sie das von Ihnen verwendete Verbindungsprofil.
Auf der Registerkarte IPv4-Einstellungen :
Methode: Nur automatische (DHCP) Adressen
Diese Einstellung veranlasst eine reguläre DHCP-Anforderung für die IP-Adresskonfiguration Ihres Hosts, ignoriert jedoch andere nicht obligatorische Optionen, wie die vorgeschlagenen DNS-Server.
8.8.8.8
Erledigt.
Wichtige Notizen
In einem lokalen oder Unternehmensnetzwerk kann der lokale DNS-Server für lokale Hosts verwendet werden. Sie verlieren diese Funktionalität, indem Sie die Server von Google direkt auffordern, Namen für Sie aufzulösen. Wenn zum Beispiel der lokale DNS-Server wissen würde, was "Drucker" ist, verlieren Sie die Verwendung Ihres Druckers mit diesem Namen.
Korrigieren Sie stattdessen Ihren lokalen DNS-Server. Wenn es sich nur um eine einfache Weiterleitung an einen defekten DNS-Server Ihres Internetdienstanbieters handelt und Sie dies nicht ändern können (z. B. von einem Internetdienstanbieter verwalteter All-in-One-Router), ist diese
8.8.8.8
Lösung möglicherweise Ihre einzige Option.quelle