16.10은 DNS를 해결하지 못합니다


34

16.04 설치를 16.10으로 업그레이드 한 후 DNS에 문제가 있습니다.

처음에는 WiFi에 연결할 때 이더넷에서 작동하는 동안 몇 번 문제가 발생했습니다. 이제는 WiFi에서도 작동하는 것 같습니다. 왜 그런지 확실하지 않으며 그것이 어떤 식 으로든 내가 직면 한 문제와 관련이 있다면

Cisco Anyconnect VPN 으로 VPN 호스트에 연결하면 '/etc/resolv.conf'에 줄추가 됩니다. 우분투는 이제 systemd-resolve 를 사용하고 있으며 맨 페이지에는 /etc/resolv.conf를 처리하기위한 세 가지 모드가 있다고 말합니다. 내 /etc/resolv.conf는 심볼릭 링크가 아니며 127.0.0.53을 DNS 서버로 나열하지 않으므로 systemd-resolved가 "DNS 구성 데이터에 대해 읽어야"한다는 것을 이해합니다. 그러나 신경 쓰지 않는 것 같습니다.

파기

이상한 점은 나에게 dig host.customer.tld요청한 호스트의 IP를 보여주는 응답 섹션으로 좋은 대답을 반환하며 VPN 클라이언트가 서버로 /etc/resolv.conf에 추가 한 DNS 서버를 참조한다는 것입니다. VPN 연결이 비활성화되면 응답이 없습니다. 즉 dig는 /etc/resolv.conf를 읽습니다 .

반면에 브라우저는 /etc/resolv.conf에 도달하지 않으며 호스트 이름을 확인할 수 없습니다. 그건 그렇고 핑 / 컬도 아닙니다.

nmcli

관련 게시물을 발견하고 달리기를 시도했습니다.

nmcli device show <interfacename> | grep IP4.DNS

그러나 cscotun0 장치에 대한 DNS는 표시되지 않습니다. (16.04도 아닙니다.) 또한 nmcli는 내 DHCP 서버 (내 라우터)를 내 eth / wlan 연결을위한 IP4.DNS 호스트로 표시합니다. dig @192.168.0.1 xxx모든 공개 도메인에 사용하면 정상적으로 작동합니다.

구성

내 /run/systemd/resolve/resolv.conf에 다른 DNS 서버가 나열되어 있습니다.

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

이들은 내 DHCP 서버에서 제공하지 않습니다. /etc/systemd/resolved.conf 파일은 섹션 헤더를 제외하고 주석 처리 된 행만 포함합니다.

[Resolve]
#DNS=
#FallbackDNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844

대한 man 페이지 resolved.conf는 말한다

DNS = 시스템 DNS 서버로 사용할 공백으로 구분 된 IPv4 및 IPv6 주소 목록. ... 호환성을 위해이 설정을 지정하지 않으면 파일이 있고 서버가 구성되어 있으면 /etc/resolv.conf에 나열된 DNS 서버가 대신 사용됩니다. 이 설정은 기본적으로 빈 목록입니다.

FallbackDNS = 폴백 DNS 서버로 사용할 공백으로 구분 된 IPv4 및 IPv6 주소 목록입니다. systemd-networkd.service (8)에서 얻은 링크 별 DNS 서버는 DNS = 위 또는 /etc/resolv.conf를 통해 설정된 서버와 마찬가지로이 설정보다 우선합니다. 따라서이 설정은 다른 DNS 서버 정보를 모르는 경우에만 사용됩니다. 이 옵션을 지정하지 않으면 컴파일 된 DNS 서버 목록 이 대신 사용됩니다.

필자의 경우 폴 백이 /run/systemd/resolve/resolv.conf에있는 것처럼 보입니다.

편집 : 나는 문제가 있었고,이 작품은,하지만 적어도 그것은 밝혀졌다 정확히 아직 모르는 솔직히 내가 할 무엇을 특정하지 않았다 솔루션 내 경우는 사용하지 않도록하는 것이 었 systemd-resolved서비스. 서비스가 필요하다고 생각했는데 모든 로컬 응용 프로그램에 DNS 서비스를 제공 한 구성 요소 였지만 그 일을하는 데 다른 것이있을 것입니다.


VPN을 사용하지 않는 경우 DNS에 문제가 있습니까?
Mark Stosberg


3
16.10의 Anyconnect와 정확히 동일한 문제가 발생했습니다. VPN 서비스에 여러 번 연결하면 일시적으로 문제를 해결하는 것처럼 보이지만 어떤 시점에서 DNS는 더 이상 작동하지 않습니다.
jmartinez

2
16.04에는 없었던 유사한 DNS 해결 문제가 있습니다. 내 제안은 (backup) /etc/resolv.conf를 제거하여 시작하는 것입니다. resolvconf 패키지 제거; 재부팅; VPN을 사용하거나 사용하지 않고 dig, systemd-resolve를 사용하여 작동 여부를 확인하십시오.
Philcolbourn

1
이 버그 보고서를 비교하십시오 : bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624317
jdthood

답변:


15

여분의 USB wifi 동글 추가와 같은 비슷한 문제가 발생했습니다. 먼저 위에서 설명한 것처럼 networkmanager에서 dnsmasq를 비활성화하고 dnsmasq (서비스 dnsmasq 중지)를 중지했습니다

VPN 연결 중에 문제가 해결되면 라우팅 테이블이 약간 다르게 보입니다 (라우트 명령의 출력). 게이트웨이의 이름은 작동하지 않을 경우 DD-WRT이며 작동 할 때 단순히 '게이트웨이'입니다. 이것의 결과는 변하지 않았다 :

nmcli device show wlp1s0 | grep IP4.DNS

라우터 IP가 계속 표시되었습니다. 잠시 동안 작동하게하는 해결책은 systemd-resolvd를 다시 시작하는 것입니다.

sudo service systemd-resolved restart

dnsmasq는 방정식에서 벗어나기 때문에 문제의 원인이되는 systemd-resolvd이거나 라우팅 테이블을 변경하는 것입니다.

이것이 내가 보는 유일한 차이점입니다.

ubuntu@ubuntu-Lenovo-Yoga-2-11:~$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    601    0        0 

작동합니다. 그리고 이것이 작동하지 않을 때 :

ubuntu@ubuntu-Lenovo-Yoga-2-11:~$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         DD-WRT          0.0.0.0         UG    601    0        0 wlp1s0

그리고 VPN 회선에서 동일한 이름 차이가 있습니다.

vpn-dns.name gateway         255.255.255.255 UGH   0      0        0 wlp1s0

라우팅 테이블에 어떤 영향을 줄 수 있는지 누가 알 수 있습니까? 이를 식별하여 버그 보고서를 제출할 수 있다면 좋을 것입니다. 나는이 모든 버그를 추구하는 데 심각하게 아프고 피곤하지만 미래의 사용자와 우리가 행복해질 수 있도록 버그를 수정하고 싶습니다.

[업데이트] systemd-resolved를 중지하면이 문제가 해결 될 수 있으며 다른 요소에는 부정적인 영향을 미치지 않습니다. 시도해보고 문제가 발생하면 알려주십시오. 깨졌을 때 systemd-resolvd를 디버그로 실행할 때 봤습니다.

Removing scope on link wlp1s0, protocol llmnr, family AF_INET
Removing scope on link wlp1s0, protocol llmnr, family AF_INET6
Removing scope on link *, protocol dns, family *

비활성화하려면 :

sudo systemctl disable systemd-resolved.service

제안으로 Ubuntu 보고서를 업데이트했습니다. [/ update] 추가 : 참고 : 버그 보고서 : https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624317 에는 일부 문제에 대한 17.04 패치가 있습니다. 버그 리포트를 확인하고 가능하면 패치를 테스트하십시오. 고맙습니다!

[최신 정보]

위에서 언급 한 버그 보고서를 확인하십시오.이 문제는 17.10에서 해결 된 것으로 보이며 간단한 명령으로 DNS 누출도 비활성화 할 수 있습니다.

[/최신 정보]


철저한 보고서 감사합니다! 라우팅 테이블의 변경 사항이 귀하와 다릅니다. VPN은 사용중인 경로를 동적으로 추가하는 것 같습니다. 그러나 systemd-resolved를 비활성화하면 내 문제에 대해서도 잘 작동했습니다!
aweibell

결국 라우팅 테이블의 이름은 중요하지 않다고 생각합니다. 시스템을 해결하여 어떻게 든 DNS 해결을 망쳐 놓았습니다. 또한 dnsmasq 서비스를 비활성화하여 시작하지 못하게해야했지만 이제는 모두 작동합니다. 누군가가 패키지가 제대로 작동하는 데 필요한 패키지 사이의 적절한 종속성을 수정하기를 바랍니다. 처리하기가 성가신 버그입니다.
Vincent Gerris

이 문제로 하루 종일 어려움을 겪었습니다. 시스템 해결 서비스를 다시 시작해도 아무런 도움이되지 않지만 완전히 비활성화하고 더 이상 문제가 없습니다!
fd8s0

다만 투자 의견에, 나는 잠시 동안, 내가 여기에 대부분의 답변을 시도 16.10에서 대부분의 작업을 17.04로 업그레이드 이후 며칠 동안 네트워크 문제가 있었다 다음 문제는 사용 systemd-해결 디스 에이블 된 것을 다시 마지막 일까지 작물 sudo systemctl disable systemd-resolved.service 는 DNS 설정 /etc/resolv.conf에서 8.8.8.8
Japheth Ongeri-inkalimeva

이 간단한 라인은 나를 위해 해결되었습니다 : sudo service systemd-resolved restart, thanks!
Sergio Abreu

36

우분투 포럼에 대한 제안 을 따랐을 때 OpenVPN 연결 중 DNS 동작이 즉시 향상되었습니다 .

  1. /etc/NetworkManager/NetworkManager.conf루트 권한으로 편집기에서 엽니 다 .
  2. #읽은 줄을 삭제하거나 해시로 주석 처리 하십시오.dns=dnsmasq
  3. 다음을 통해 NetworkManager를 다시 시작하십시오. sudo service NetworkManager restart

감사. 지금 시도했지만 작동하지 않았습니다. 실제로 symlink /etc/resolve.conf를 일반 텍스트 파일로 대체하는 Cisco VPN 클라이언트를 시작할 때를 제외하고 DNS는 제대로 작동합니다.
aweibell

1
이 픽스는 저에게 효과적이었습니다. OpenVPN에 DNS 문제가있었습니다. 이 변경 후 내 /etc/resolve.conf가 변경되었습니다. 심지어 dnsmasq를 설치하지 않았기 때문에 매우 이상합니다.
postfuturist

이것은 NM 및 openvpn 문제에 효과적 일 수 있지만 최소한 연결 속도가 느려집니다. 여기에서 추측되는 것처럼 .
BairDev

3

같은 문제에 부딪쳤다. 어떻게 든 일부 응용 프로그램과 함께 DNSmasq를 설치해야합니다. dnsmasq를 제거하면 문제가 해결되었습니다.

sudo apt-get remove dnsmasq 

그 이후로 더 이상 연결을 끊거나 일부 사이트를 더 이상로드 할 수 없습니다 (gmail을로드하는 데 문제가 있습니다. 즉, 다른 사이트가 작동했지만 갑자기 Gmail에 연결할 수 없었습니다).


dnsmasq-base 패키지 를 제거하려고 할 때 aptitude는 network-managerubuntu-fan에 필요하다는 것을 알려주며 ,이를 제거하면 많은 추가 패키지가 제거 될 것입니다.
aweibell

어떤 배포판과 버전? 우분투 16.10에 있는데 그것을 제거하는 데 아무런 문제가 없었습니다. 그렇지 않으면 게시하지 않았을 것입니다 :)
Nitai

나는 또한 우분투 16.10에 있습니다! 이상한. apt remove dnsmasq-base...The following packages will be REMOVED: account-plugin-ubuntuone checkbox-converged checkbox-gui dnsmasq-base indicator-network network-manager network-manager-gnome network-manager-openconnect network-manager-openconnect-gnome network-manager-openvpn network-manager-openvpn-gnome network-manager-pptp network-manager-pptp-gnome network-manager-vpnc pay-service plainbox-provider-checkbox plainbox-provider-resource-generic ubuntu-desktop ubuntu-fan ubuntu-push-client ....
aweibell

16.10과 동일합니다. 다른 패키지도 모두 제거하려고합니다.
Dave Kincaid

다른 날 다시 연결을 끊었습니다. 어떻게 든 하나의 앱이 dnsmasq를 다시 설치해야합니다. 어쨌든 이번에는 systemd로 간단히 비활성화했습니다. 지금까지 더 이상 실행되지 않으며 연결이 끊어지지 않습니다.
Nitai

1

편집 /etc/nsswitch.conf및 변경

hosts:          files mdns4_minimal [NOTFOUND=return] dns

hosts:          files dns mdns4_minimal [NOTFOUND=return]

편집하다:

나는 꽤 오랫동안 같은 문제를 겪었다. VPN에서 도메인 이름을 확인할 수 있었지만 핑하거나 말리거나 다른 응용 프로그램에서 사용할 수 없었습니다. 위의 설명 된 변경 사항이 해결되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.