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 echo nameserver 8.8.8.8 > /etc/resolv.conf
sudo
podnosi uprawnienia do rootowania w tym przypadku.
echo
po prostu wyprowadza argumenty następujące po standardowym wyjściu (w tym przypadku wyprowadza nameserver 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.
- Mając na linię
nameserver 8.8.8.8
w /etc/resolv.conf
sprawia, że system za pomocą serwera nazw posiadający adres IP 8.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łąd
Chociaż to wyjaśnienie wydaje się prawdopodobne, nie zadziała, ponieważ wystąpi błąd :
bash: /etc/resolv.conf: Permission denied
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 prostu echo
ma podwyższone uprawnienia, ale twoja skorupa nie! Aby rozwiązać ten problem, należy uruchomić to polecenie jak
sudo sh -c "echo nameserver 8.8.8.8 > /etc/resolv.conf"
lub za pomocą potoku i tee
wyprowadzić go do pliku:
echo nameserver 8.8.8.8 | sudo tee /etc/resolv.conf #prints to screen as well
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.
- Serwery DNS:
8.8.8.8
- Hit Save
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ą.