Niezwykle wolne wyszukiwanie DNS

11

Ubuntu 12.10

Wyjaśnię pierwszy problem. Czasami, gdy ładuję stronę internetową, nigdy się nie kończy ładowanie i mówi, że nie mogę połączyć się z serwerem lub coś takiego. Kiedy pinguję tę stronę, terminal mówi, że nie może rozpoznać nazwy hosta. Próbowałem więc serwerów DNS Google, ale nie miałem tam szczęścia. To dziwne, ponieważ nigdy nie miałem tego problemu w systemie Windows 7. Użyłem

    cat /etc/resolv.conf

i wymyślił to:

    # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
    #DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
    nameserver 127.0.1.1
    search hsd1.or.comcast.net

Dlaczego miałby używać 127.0.1.1? Czy to oznacza, że ​​próbuje rozwiązać adresy lokalnie? Podczas pingowania na serwer wyszukiwania Comcast pojawia się błąd przekroczenia limitu czasu.

Kenneth Clark
źródło
Wyszukiwanie DNS wydaje się działać, jeśli zamienię 127.0.1.1 na 8.8.8.8, który jest serwerem DNS Google. Ale to zostaje nadpisane przy każdym rozruchu.
Kenneth Clark
podziel połowę tego (prawdopodobnie problem z AMD) na osobne pytanie, aby uzyskać własne odpowiedzi.
ImaginaryRobots
W porządku. Podzielę te dwie części. Teraz, gdybym tylko mógł znaleźć rozwiązanie: /
Kenneth Clark
Ustawiłem już mój serwer DNS na 8.8.8.8, więc zmieniłem go na 8.8.4.4 i zaczął działać, więc Google ma czasem pewne problemy. Pomyślałem, że warto wspomnieć.
Eduard Luca

Odpowiedzi:

29

/etc/resolv.conf (który w rzeczywistości jest dowiązaniem symbolicznym do /run/resolvconf/resolv.conf) jest napisany przez narzędzie resolvconf na podstawie informacji pochodzących z różnych możliwych źródeł.

127.0.1.1 to zwrotny adres IP, na którym nasłuchuje kontrolowana przez NetworkManager instancja dnsmasq. Dnsmasq działa lokalnie i przyjmuje zapytania DNS w wersji 127.0.1.1 i przekazuje je do zewnętrznego serwera nazw, którego adres jest dostarczany przez NetworkManager. Ten schemat nie zawsze działa dobrze i jeśli masz z nim jakikolwiek problem (tak jak ty), zaleca się wyłączenie dnsmasq kontrolowanego przez NetworkManager. Aby go wyłączyć, edytuj/etc/NetworkManager/NetworkManager.conf

sudo gedit /etc/NetworkManager/NetworkManager.conf

i skomentuj linię

dns=dnsmasq

dzięki czemu wygląda następująco.

#dns=dnsmasq

Następnie uruchom ponownie menedżera sieci. Polecenie, którego używasz, zależy od wersji Ubuntu:

sudo service network-manager restart # For newer systems using Systemd
sudo restart network-manager         # For older systems using Upstart

Następnie powinieneś mieć nameserverlinię w resolv.conf z adresem IP bez pętli zwrotnej. Jeśli tak nie jest, spróbuj wykonać następujące polecenie.

sudo dpkg-reconfigure resolvconf

Jeśli nadal nie masz nameserverlinii w resolv.conf z adresem IP bez pętli zwrotnej lub jeśli nadal nie masz usługi DNS, spróbuj ponownie uruchomić komputer.

Jeśli nadal nie masz dobrej usługi DNS, zacznij sprawdzać serwer nazw pod zewnętrznym adresem IP (1.2.3.4 w poniższym przykładzie). Czy poprawnie rozpoznaje nazwy domen, gdy zwraca się do nich za pomocą narzędzia hostlub dig?

host www.ford.com 1.2.3.4

dig @1.2.3.4 www.gm.com

Czy serwery nazw Google działają?

host www.ford.com 8.8.8.8

dig @8.8.4.4 www.gm.com

Jeśli stwierdzisz, że twój zewnętrzny serwer nazw nie działa poprawnie, powinieneś skonfigurować połączenie tak, aby korzystało z dobrze zachowującego się serwera nazw, takiego jak Google. Aby to zrobić, kliknij prawym przyciskiem myszy wskaźnik sieci i przejdź do Edytuj połączenia | | Edytuj ... | Ustawienia IPv4. Zakładając, że bieżącą metodą jest Automatic (DHCP), ustaw metodę na Automatic (DHCP) addresses onlyi wpisz dobre adresy serwerów nazw w polu zatytułowanym Additional DNS servers.

jdthood
źródło
1
Dlaczego zaangażowany jest dnsmasq? Ten problem mnie gryzie za każdym razem, gdy instaluję Ubuntu.
Joseph Garvin
Dla mnie był to problem z Google DNS 8.8.8.8, który był tymczasowo niedostępny. Który został ręcznie skonfigurowany w mojej konfiguracji bramy jako podstawowy DNS. Dostępność DNS została sprawdzona przez wykonanie ping 8.8.8.8. Aby rozwiązać ten problem, zmieniam mój podstawowy adres IP DNS na jeden z adresów OpenDNS IP 208.67.222.222.
jmarceli
1

Możesz kliknąć prawym przyciskiem myszy aplet menedżera sieci, edytować połączenia i dodać kolejne dns. To powinno „trzymać się”

Scott Goodgame
źródło
Kiedy edytuję go w menedżerze sieci, nic nie robi. To naprawdę dziwne ...
Kenneth Clark