시스템 확인으로 로컬 DNS 서버를 사용하지 않는 이유는 무엇입니까?


13

로컬 BIND9 서버를 사용하여 일부 로컬 DNS 레코드를 호스팅하고 있습니다. 로컬 도메인 이름을 찾으려고 할 때 로컬 BIND9 서버를 사용하도록 명시 적으로 파고하지 않으면 찾을 수 없습니다.

user@heimdal:~$ dig +short heimdal.lan.se
user@heimdal:~$ dig +short @192.168.1.7 heimdal.lan.se
192.168.1.2

우분투 17.04 및 systemd-resolved가 사용됩니다. 이것은 내 / etc / resolved의 내용입니다.

# 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
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.

nameserver 127.0.0.53

그리고 systemd-resolve --status의 출력

Global
         DNS Servers: 192.168.1.7
                      192.168.1.1
          DNSSEC NTA: 10.in-addr.arpa
                      16.172.in-addr.arpa
                      168.192.in-addr.arpa
                      17.172.in-addr.arpa
                      18.172.in-addr.arpa
                      19.172.in-addr.arpa
                      20.172.in-addr.arpa
                      21.172.in-addr.arpa
                      22.172.in-addr.arpa
                      23.172.in-addr.arpa
                      24.172.in-addr.arpa
                      25.172.in-addr.arpa
                      26.172.in-addr.arpa
                      27.172.in-addr.arpa
                      28.172.in-addr.arpa
                      29.172.in-addr.arpa
                      30.172.in-addr.arpa
                      31.172.in-addr.arpa
                      corp
                      d.f.ip6.arpa
                      home
                      internal
                      intranet
                      lan
                      local
                      private
                      test

DNS 서버 섹션은 기본 DNS 서버 (내 로컬 BIND9 인스턴스)로 192.168.1.7을 올바르게 구성한 것으로 보입니다. 왜 사용되지 않는지 이해할 수 없습니다 ...?


systemdGoogle DNS를 폴백으로 사용 하는 방식에 따라 무언가를 기억 합니다 ...
William Edwards

무엇을 systemd-resolve heimdal.lan.se말하는가?
Bigon

답변:


8

따라서 유선 eth0 인터페이스를 관리하도록 변경하면이 문제가 해결되었습니다.

/etc/NetworkManager/NetworkManager.conf에서 ifupdown을 managed = true로 변경

[ifupdown]
managed=true

그런 다음 NetworkManager를 다시 시작하십시오.

sudo systemctl restart NetworkManager

이 후에는 완벽하게 작동합니다 ..

이것은 100 %가 아닙니다. 나는 또한 이러한 변경 사항을 적용하여 리졸버를 시도하고 죽였습니다.

sudo service resolvconf disable-updates
sudo update-rc.d resolvconf disable
sudo service resolvconf stop

주제에 관한이 블로그 게시물 덕분에 https://ohthehugemanatee.org/blog/2018/01/25/my-war-on-systemd-resolved/

이것이 효과가 있기를기도합시다.이 전체 체계적인 해결 사업은 너무 추악합니다.


늦은 코멘트하지만 systemd-networkd관련 다른 일이 있는지 확인하는 것 eth0또는 enX장치가있다 *.network`/ lib 디렉토리 / systemd / 네트워크 /에서 파일을`참조 info systemd-networkd하고 info systemd.networkinfo resolved.conf
jmunsch

5

내 생각 엔 귀하의 systemd-resolved서비스가 올바르게 구성되었지만 요청을 볼 수는 없습니다. .local도메인이됩니다 mDNS를 실행중인 시스템에서 특별하게 처리 . avahi-daemonmDNS / DNS-SD 서비스 (Apple 제품에서 "Bonjour"라고도 함)를 제공하는 이름은 이름 확인 중에 DNS보다 우선하도록 구성 할 수 있습니다. 우분투가 이것을하는 것처럼 보입니다.

선택할 수있는 몇 가지 옵션이 있습니다.

  1. .local도메인 이름 을 다른 것으로 바꾸십시오 ( .internal또는 .lan). DNS 서버에서 몇 가지 사항 만 변경하면되고 Avahi와 가장 잘 작동하기 때문에 실제로 가장 쉬운 방법 일 수 있습니다. 이 방법을 권장합니다.

  2. /etc/nsswitch.confdns항목을 항목 앞에 두어 파일변경하십시오mdns .

  3. .local편집 /etc/avahi/avahi-daemon.conf및 변경 (또는 추가) domain-name=.something( [server]섹션에 있음) 하여 mDNS 도메인을 다른 도메인으로 변경 하도록 Avahi의 구성 을 변경하십시오 . mDNS를 사용하는 모든 컴퓨터에서이 작업을 수행해야 여전히 함께 작동합니다.


여기서 실제 도메인을 난독 처리했다고 말해서 죄송합니다. .local 도메인이 아닙니다. 최상위 도메인은 실제로 .se입니다. 그러나 귀하의 후속 조치를 취하고 nsswitch의 내용을 확인하겠습니다. 혼란을 드려 죄송합니다
Civing

0

이것은 의견으로 더 좋지만 평판이 충분하지 않은 것 같습니다 ....

Civing의 자체 답변은 내가 원하는 것의 선을 따라 가장 많았습니다.

또한 dns=none[main]섹션에 추가 해야 /etc/NetworkManager/NetworkManager.conf했으므로 다음과 같습니다.

[main]
plugins=ifupdown,keyfile
dns=none

방금 14.04에서 xubuntu 18.04로 업데이트했으며 그보다 오래된 LAN이 있으며 몇 년 동안 많은 조정이 이루어졌습니다. 그래서 나는 DNS가 내가 원하는 일을하기를 원합니다 (예, 저는 제 2 판부터 시작하여 몇 년 동안 많은 크리켓 리 우즈의 책을 구입했습니다).

따로, 나는 이전에 내가보고자하는 DNS 확인 정보를 파일에 추가했었다 /etc/resolvconf/resolv.conf.d/head.

간단히 말해서, 루트로 /etc/resolv.conf가 작동하면 :

cat /etc/resolv.conf >> /etc/resolvconf/resolv.conf.d/head

그러나 이제는 /etc/resolv.conf를 직접 편집하면 그대로 유지됩니다. systemd / resolvconf를 사용하는 LAN 방문자는 SOOL입니다. 존재하지 않습니다.

독서가 man 8 resolvconf도움이되었습니다. 많이. 나는 않았다 하지 ifup을 프로그램을 찾을 수있는 물건을 착용하는 지침을 따르십시오. 대부분 GUI에 전체 상부 구조가 있기 때문에 업그레이드 중에 수행 된 모든 작업에 의해 이미 무시되고있었습니다. 더 큰 문제인 것 같습니다 (WTF, Ubuntu?).

그래서 이것은 어리석은 일이며, 네트워크 제어판 GUI에 입력 한 (오래 전에) 새로 업그레이드 된 시스템이 준수하지 않는 문제가 여전히 있습니다. 물어봐


0

나를 위해 최근에 설치된 18.04를 실행하면서 @Civing이 인용 한 첫 번째 변경 사항을 작성했습니다.

[ifupdown]
managed=true

그런 다음 /etc/resolv.conf가 항상 stub-resolv.conf를 가리키고 있고 적절한 LAN DNS 서버와의 합리적인 resolv.conf가 생성되고 있음을 알면서 symlink를 변경했습니다.

/etc/resolv.conf -> /run/systemd/resolve/resolv.conf

그런 다음 ping을 통해 로컬 호스트 이름을 모두 확인합니다.

이것이 얼마나 오래 작동하는지 지켜봐야합니다.

처음 설치했을 때 무선 네트워크 설정이 실패했으며 설치가이 초기 상태로 /etc/resolv.conf를 남겼는지 궁금 할 수 없습니다.

따라서 해결 된 것이 무엇을 생성하는지 살펴 보는 것이 좋습니다. 당신은 이미 작업 기초가있을 수 있습니다.

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