Po uaktualnieniu mojej instalacji 16.04 do 16.10 mam problemy z DNS.
Najpierw kilka razy miałem problemy po podłączeniu do Wi-Fi, podczas gdy działało ono na eterze. Teraz wydaje się, że działa również na Wi-Fi. Nie jestem pewien, dlaczego i jeśli jest to w jakikolwiek sposób związane z problemem, z którym się teraz spotykam:
Podczas łączenia się z hostem VPN Cisco Anyconnect VPN , to dodaje się wiersz w „/etc/resolv.conf” . Rozumiem, że Ubuntu używa teraz systemd-resolver , a strona man mówi, że istnieją trzy różne tryby obsługi /etc/resolv.conf. Mój plik /etc/resolv.conf nie jest dowiązaniem symbolicznym i nie zawiera 127.0.0.53 jako serwera DNS, o ile rozumiem systemd-rozwiązany powinien „odczytać go dla danych konfiguracyjnych DNS”. Wydaje się jednak, że to nie obchodzi.
kopać
Dziwne (dla mnie) jest to dig host.customer.tld
, że zwraca miłą odpowiedź z SEKCJĄ ODPOWIEDZI pokazującą adres IP żądanego hosta i odnosi się do serwera dns dodanego do /etc/resolv.conf przez klienta VPN jako SERWERA. Gdy połączenie VPN jest wyłączone, nie otrzymuję odpowiedzi. Czyli dig czyta /etc/resolv.conf .
świst
Z drugiej strony przeglądarka nie uzyskuje dostępu do /etc/resolv.conf i nie jest w stanie rozpoznać nazwy hosta. Nawiasem mówiąc, nie jest też ping / curl.
nmcli
Znalazłem powiązany post i próbowałem uruchomić
nmcli device show <interfacename> | grep IP4.DNS
ale nie wyświetla żadnych dns dla urządzenia cscotun0. (Jednak nie ma go również w 16.04.) Ponadto nmcli wymienia mój serwer dhcp (mój router) jako host IP4.DNS dla moich połączeń eth / wlan. Za pomocądig @192.168.0.1 xxx
z dowolnej domeny publicznej działa dobrze.
konfiguracja
Istnieje kilka innych serwerów DNS wymienionych w moim /run/systemd/resolve/resolv.conf:
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 2001:4860:4860::8888
# Too many DNS servers configured, the following entries may be ignored.
nameserver 2001:4860:4860::8844
Nie są one obsługiwane przez mój serwer DHCP. plik /etc/systemd/resolved.conf zawiera tylko wiersze z komentarzem, z wyjątkiem nagłówka sekcji:
[Resolve]
#DNS=
#FallbackDNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
Tak mówi strona man dla resolved.conf
DNS = Rozdzielona spacjami lista adresów IPv4 i IPv6 do wykorzystania jako systemowe serwery DNS. ... Ze względu na kompatybilność, jeśli to ustawienie nie jest określone, zamiast tego używane są serwery DNS wymienione w /etc/resolv.conf, jeśli plik ten istnieje i skonfigurowano w nim jakiekolwiek serwery. Domyślne ustawienie to pusta lista.
FallbackDNS = Rozdzielona spacjami lista adresów IPv4 i IPv6 do wykorzystania jako rezerwowe serwery DNS. Wszystkie serwery DNS na łącze otrzymane z systemd-networkd.service (8) mają pierwszeństwo przed tym ustawieniem, podobnie jak wszystkie serwery ustawione przez DNS = powyżej lub /etc/resolv.conf. To ustawienie jest zatem używane tylko wtedy, gdy nie są znane żadne inne informacje o serwerze DNS. Jeśli ta opcja nie zostanie podana, zamiast niej zostanie użyta skompilowana lista serwerów DNS.
Wygląda na to, że awaria kończy się w /run/systemd/resolve/resolv.conf w moim przypadku.
EDYCJA: Nie byłem pewien, na czym polega problem, i szczerze mówiąc nadal nie wiem dokładnie, jak to działa, ale przynajmniej okazało się, że rozwiązaniem w moim przypadku było wyłączenie systemd-resolved
usługi. Myślałem, że ta usługa jest wymagana, że to składnik zapewnił usługę DNS wszystkim lokalnym aplikacjom, ale najwyraźniej jest tam coś jeszcze, co wykonuje tę pracę.