Czy ktoś może mi powiedzieć, co sudo echo nameserver 8.8.8.8 > /etc/resolv.conf
robi?
Zwykle miałem przypadkowe zrywanie połączenia internetowego przez 15 sekund do 3 minut, ale po użyciu tego polecenia połączenie internetowe działa jak urok. Jestem tylko ciekawy, co zrobiła ta magiczna linia poleceń.
resolv.conf
Jeanno
źródło
źródło
Odpowiedzi:
Zastępuje serwer nazw (DNS) używany na twoim komputerze przez usługę Google Public DNS . Jeśli uruchomienie tej komendy pomoże ci, masz problemy z DNS w ustawieniach domyślnych zapewnionych przez twoją sieć (DHCP). Chociaż lepiej byłoby rozwiązać pierwotną przyczynę problemu, jest to ogólna odpowiedź na twoje pytanie.
Objaśnienie polecenia
sudo
podnosi uprawnienia do rootowania w tym przypadku.echo
po prostu wyprowadza argumenty następujące po standardowym wyjściu (w tym przypadku wyprowadzanameserver 8.8.8.8
)>
przekierowuje standardowe wyjście do pliku (zastępuje go) w zwykłej powłoce uniksowej./etc/resolv.conf
to plik, w którym zapisywane jest wyjście.nameserver 8.8.8.8
w/etc/resolv.conf
sprawia, że system za pomocą serwera nazw posiadający adres IP8.8.8.8
dla rozwiązywania nazw domen na adresy IP. (bardzo krótka wersja tego, co faktycznie się dzieje)8.8.8.8
jest jednym z adresów opublikowanych przez Google, w których nasłuchują ich publiczne usługi DNS.sudo
błądChociaż to wyjaśnienie wydaje się prawdopodobne, nie zadziała, ponieważ wystąpi błąd :
Dlaczego? Przekierowanie danych wyjściowych jest obsługiwane przez powłokę (tutaj: Bash) i nie jest brane pod uwagę dla polecenia użytego dla
sudo
. Podobne do mnożenia w matematyce ma pierwszeństwo przed dodawaniem. Po prostuecho
ma podwyższone uprawnienia, ale twoja skorupa nie! Aby rozwiązać ten problem, należy uruchomić to polecenie jaklub za pomocą potoku i
tee
wyprowadzić go do pliku:Ubuntu and Network Manager
W Ubuntu jest to tylko tymczasowa zmiana, ponieważ Network Manager „zarządza”
/etc/resolv.conf
plikiem. Lokalne modyfikacje zostaną zastąpione. Dlatego należy skonfigurować to w Menedżerze sieci, aby było trwałe.Konfiguracja za pomocą Network Managera
Zalecam prawidłowe skonfigurowanie komputera za pomocą Network Managera. Zakładam, że używasz DHCP w swojej sieci (najczęściej). Następnie zrób to, aby wykonać to samo, co odpowiednik polecenia, którego używałeś:
Otwórz edycję połączeń :
Edytuj używany profil połączenia.
Na karcie Ustawienia IPv4 :
Metoda: tylko adresy automatyczne (DHCP)
To ustawienie powoduje, że wykonuje on regularne żądanie DHCP dotyczące konfiguracji adresu IP hosta, ale zignoruje inne nieobowiązkowe opcje, takie jak sugerowane serwery DNS.
8.8.8.8
Gotowy.
Ważne notatki
W sieci lokalnej lub korporacyjnej lokalny serwer DNS może być używany do hostów lokalnych. Utracisz tę funkcję, prosząc bezpośrednio serwery Google o rozpoznanie dla Ciebie nazw. Tak więc, jeśli na przykład lokalny serwer DNS wiedziałby, co to jest „drukarka”, oznacza to, że utracisz używanie drukarki o tej nazwie.
Dlatego zamiast tego napraw lokalny serwer DNS. Jeśli jest to zwykły forwarder do uszkodzonego serwera DNS twojego dostawcy usług internetowych i nie możesz tego zmienić (na przykład router All-in-one-router zarządzany przez dostawcę usług internetowych), to
8.8.8.8
rozwiązanie może być Twoją jedyną opcją.źródło