Uaktualniłem do Ubuntu 17.04 i wydaje się, że teraz ma nowy mechanizm rozpoznawania nazw DNS po raz pierwszy wprowadzony w Ubuntu 16.10.
Otrzymuję teraz błędy wyszukiwania DNS w 50% przypadków. Każde inne połączenie z nslookup kończy się niepowodzeniem, a połowa połączeń jest w porządku, a połowa daje to:
watch -n 1 nslookup google.com
Server: 127.0.0.53
Address: 127.0.0.53#53
** server can't find google.com: SERVFAIL
Z tego, co rozumiem, ten adres IP serwera DNS jest teraz używany do reprezentowania rozwiązania systemd, który dokonuje pewnego rodzaju wyszukiwania meta, aby uniknąć spowolnienia zapytań DNS (czy coś takiego ...). Widzę dokładnie to samo zachowanie na dwóch komputerach, które zaktualizowałem do 17.04 w ostatnim tygodniu.
Masz pojęcie, na czym polega problem i właściwy sposób jego rozwiązania?
Przed aktualizacją wszystko działało dobrze (od 16.04 lub 16.10, nie pamiętam które, przepraszam). Myślałem, że 17.04 było wydaniem LTS, ale teraz widzę, że podskoczyłem z pistoletu i nie będzie uważany za stabilny aż do kwietnia. A więc jestem tu.
Warto również zauważyć ... wydaje się, że przeglądarki nie wykazują problemów, ale nslookup, ping, git itp.
.
w miesiąc, w którym zostanie wydane. (Więc w twoim przypadku będzie to04
/17
)Odpowiedzi:
Ubuntu 17.04 nie może rozpoznać serwerów DNS z obsługą DNSSEC od 18.04.2017. Wyłącz DNSSEC za pomocą tego demona:
Opcjonalnie ponownie skonfiguruj resolvconf, jeśli pomieszałeś go (powiedz „tak”, aby „przygotować /etc/resolve.conf do aktualizacji dynamicznych?”):
Uruchom ponownie systemd rozwiązany:
Twój DNS powinien zacząć działać. Możesz to sprawdzić, próbując
systemd-resolve www.google.com
zobaczyć odpowiedź.źródło
Przełączałem się między zarządzaniem systemd a ręcznym zarządzaniem /etc/resolv.conf i nie znalazłem jeszcze systemowego mechanizmu rozwiązywania DNS.
Najwyraźniej jest co najmniej jeden błąd libnss w Ubuntu 16.10 i prawdopodobnie nadal w 17.04. Istnieje wiele osób z problemami DNS, odkąd system Ubuntu 16.10 włączył systemd rozwiązany, oto jedna analiza, a tutaj jest obejście innej osoby. Żadne z nich nie działało dla mnie, dopóki ręcznie nie nadpisałem /etc/resolv.conf za pomocą serwerów DNS Google.
Jest to całkowicie poprawne rozwiązanie , jeśli nie potrzebujesz dynamicznej konfiguracji DNS. Tylko upewnij się, że zatrzymałeś i wyłączyłeś systemd rozwiązany:
źródło
systemctl enable systemd-resolved.service && systemctl start systemd-resolved.service
Ubuntu 17.04 i inne dystrybucje obejmują systemd, w tym systemd-resolved, który poddaje użytkowników raczej ciężkiej rozdzielczości DNS.
Nie sądzę, że to koniecznie ZŁA zmiana, to po prostu DUŻO zmian. Spróbuję zaktualizować i rozszerzyć tę odpowiedź, gdy dowiem się więcej.
źródło
Mówiąc wprost, wystarczy mieć wiersz „DNSSEC = no” w sekcji [Rozwiąż] pliku /etc/systemd/resolved.conf.
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1682499/
źródło
wystarczy dodać serwer nazw /etc/systemd/resolved.conf DNS = 194.109.xxx.xxx (na routerze, zewnętrzny serwer nazw)
systemctl uruchom ponownie systemd-rozwiązany
nie trzeba zmieniać rand z 3 na 2, nie trzeba zmieniać ustawienia dnssec na off
źródło