우분투 17.04 시스템 분석 DNS 조회가 무작위로 실패합니다


38

Ubuntu 17.04로 업그레이드했으며 이제 Ubuntu 16.10에서 처음 소개 된 새로운 DNS 확인자 메커니즘 이있는 것 같습니다 .

이제 50 %의 시간 동안 DNS 조회 오류가 발생합니다. nslookup에 대한 다른 모든 호출은 실패하고, 절반의 호출은 문제를 해결하고 절반은 다음을 제공합니다.

watch -n 1 nslookup google.com

Server:     127.0.0.53
Address:    127.0.0.53#53

** server can't find google.com: SERVFAIL

내가 이해 한 바에 따르면, DNS 서버 IP 주소는 systemd-resolved를 나타내는 데 사용됩니다. 이는 느린 DNS 쿼리 (또는 무언가)를 피하기 위해 일종의 메타 조회를 수행합니다. 지난 주에 17.04로 업그레이드 한 두 컴퓨터에서 똑같은 동작이 나타납니다.

문제가 무엇인지, 그리고 그것을 해결하는 올바른 방법이 있습니까?

업그레이드 전에 상황이 잘 작동했습니다 (16.04 또는 16.10부터, 어느 것이 기억 나지 않습니다, 죄송합니다). 나는 17.04가 LTS 릴리스라고 생각하지만 지금은 총을 뛰었고 4 월까지 안정적으로 간주되지 않을 것입니다. 그래서 ... 여기 있습니다.

또한 브라우저는 문제를 보이지 않지만 nslookup, ping, git 등은 그렇지 않습니다.


2
미래를위한 팁 : Ubuntu 버전은 .출시되는 달 이 나오는 연도 입니다. (귀하의 경우 04/에 있음 17)
timotree

체계적으로 해결되어 배포판에 갇히게되는 것처럼 다른 사람들도 문제를 일으킨다 .
moodboom

답변:


46

Ubuntu 17.04는 2017-04-18부터 DNSSEC를 지원하는 DNS 서버를 확인할 수 없습니다. 이 데몬으로 DNSSEC를 비활성화하십시오.

sudo mkdir -p /etc/systemd/resolved.conf.d
printf "[Resolve]\nDNSSEC=no\n" | sudo tee /etc/systemd/resolved.conf.d/no-dnssec.conf

선택적으로 resolvconf를 엉망으로 다시 구성하십시오 (예 : "동적 업데이트를 위해 /etc/resolve.conf를 준비 하시겠습니까?").

sudo dpkg-reconfigure resolvconf

시스템 해결을 다시 시작하십시오.

sudo systemctl restart systemd-resolved

DNS가 작동하기 시작합니다. 당신은 systemd-resolve www.google.com응답 을 시도 하고보고 확인하실 수 있습니다 .


답변 주셔서 감사합니다-그것이 무엇을 설명 할 수 있습니까?
bertieb

우분투 17.04는 DNSSEC 지원으로 DNS 서버를 확인할 수 없습니다. 이 데몬으로 DNSSEC를 비활성화합니다.
Sajad Bahmani

고마워, 그 설명을 답안으로 편집 할 수 있니? :)
bertieb

이 솔루션은 나를 위해 작동하지 않았습니다.이 설정을 한 후에도 처음으로 조회 할 때마다 SERVFAIL 오류가 발생합니다. 몇 번의 시도가 성공하면 결과가 캐시됩니다.
거스

1
@SamuelL. 티와 관련하여, 그것은 무언가를 인쇄하고 동시에 파일로 보내는 멋진 방법입니다. 일반적으로>보다 큰 문자를 사용하여 출력을 파일로 리디렉션 할 수 있지만 출력이 표시되지 않습니다. 티는 두 곳으로 갈 수 있습니다. Resolvconf는 "해결을 구성합니다".
moodboom

12

systemd-resolved와 수동 /etc/resolv.conf 관리간에 전환을했는데 시스템 DNS 리졸버 메커니즘이 아직 안정되지 않았습니다.

우분투 16.10에는 분명히 하나 이상의 libnss 버그 가 있으며 분명히 17.04에는 여전히 있습니다. systemd-해결 켜져 우분투 16.10 이후 DNS 문제에 많은 사람들이 있습니다, 여기에 하나 개 분석하고 여기에 다른 사람의 해결 방법입니다. Google의 DNS 서버로 /etc/resolv.conf를 수동으로 덮어 쓸 때까지 그 중 어느 것도 나를 위해 일하지 않았습니다.

nameserver 8.8.8.8   << or another if you don't trust google
nameserver 8.8.4.4

동적 DNS 구성이 필요하지 않은 경우 이는 완벽하게 유효한 솔루션 입니다. systemd-resolved를 중지하고 비활성화하십시오.

sudo systemctl disable systemd-resolved.service
sudo service systemd-resolved stop

resolveconf로 변경해도 문제가 해결되지 않았습니다. systemd-resolved를 다시 사용하려면 어떻게해야합니까? (감사합니다)
Edward Moffett

1
시도 :systemctl enable systemd-resolved.service && systemctl start systemd-resolved.service
moodboom

1
야, 방금 ma 시스템을 구했다! 브라보
혁신적인


4

우분투 17.04 및 기타 배포판은 systemd-resolved를 포함하여 시스템을 수용하고 있으며, 이는 사용자에게 다소 무거운 DNS 해상도를 요구합니다.

  • SjB 답변에서 언급했듯이 DNSSEC 지원으로 인해 문제가 발생할 수 있습니다.
  • systemd-resolved는 모든 DNS 확인자를 핑하여 가장 빠르게 사용할 수 있도록합니다. 보다 복잡한 환경에서는 VPN 등에 문제가 발생할 수 있습니다.
  • DNS 서버 인증서가 확인되었습니다. 시계가 기울어지면 오류가 발생했습니다.

나는 그것이 반드시 나쁜 변화라고 생각하지 않으며 단지 많은 변화 일뿐입니다. 자세한 내용을 살펴보면이 답변을 업데이트하고 확장하려고합니다.



1

이름 서버 /etc/systemd/resolved.conf DNS = 194.109.xxx.xxx를 추가하십시오 (라우터, 외부 이름 서버).

systemctl 다시 시작 시스템 해결

랜드를 3에서 2로 변경할 필요가 없으며 dnssec 설정을 끄기로 변경할 필요가 없습니다.


불행히도 이것만으로는 "다른 모든 요청 실패"문제를 해결할 수 없습니다.
moodboom

@moodboom에 동의하면 나에게도 해결되지 않습니다.
André M. Faria
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.