systemd-resolved가 로컬 DNS 서버를 사용하지 않는 이유는 무엇입니까?

systemd-resolved가 로컬 DNS 서버를 사용하지 않는 이유는 무엇입니까?

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

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

Ubuntu 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 서버 부분은 192.168.1.7을 기본 DNS 서버(내 로컬 BIND9 인스턴스)로 올바르게 구성한 것 같습니다. 왜 안쓰는지 이해가 안가네요...?

답변1

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

/etc/NetworkManager/NetworkManager.conf에서 ifupdown을 Managed=true로 변경합니다.

[ifupdown]
managed=true

그런 다음 네트워크 관리자를 다시 시작하십시오.

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/(없으면 이용하세요.https://github.com/ohthehugemanatee/ohthehugemanatee.org/blob/main/content/blog/source/2018-01-25-my-war-on-systemd-resolved.markdown)

이것이 효과가 있기를 바랍니다... 전체 시스템 구문 분석 작업은 정말 추악합니다.

답변2

내 생각엔 귀하의 systemd-resolved서비스가 올바르게 구성되었지만 요청이 표시되지 않는 것 같습니다. 도메인 .localmDNS를 실행하는 시스템의 특수 처리. avahi-daemon, 이름 확인 중에 DNS보다 우선하도록 구성할 수 있는 mDNS/DNS-SD 서비스(Apple 제품에서는 "Bonjour"라고도 함)를 제공합니다.

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

  1. 도메인 .local이름을 다른 이름으로 변경하세요( .internal또는 등 .lan). DNS 서버에서 몇 가지 사항만 변경하면 되며 Avahi에서 가장 잘 작동하므로 이는 아마도 실제로 수행하는 가장 쉬운 방법일 것입니다. 나는 이 방법을 추천하고 싶다.

  2. /etc/nsswitch.conf파일을 변경하세요dns항목을 항목 앞에 놓습니다 mdns.

  3. Avahi 구성 변경편집 및 변경(또는 추가)을 통해 mDNS 도메인을 .local다른 도메인으로 변경합니다(리소스 섹션에 있음). mDNS를 사용하는 각 컴퓨터에서 이 작업을 수행해야 계속해서 함께 작동할 수 있습니다./etc/avahi/avahi-daemon.confdomain-name=.something[server]

답변3

리뷰로 보면 더 좋을 것 같은데, 평판이 부족하네요...

Civing의 자체 답변이 내 요구 사항에 가장 적합합니다.

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

[main]
plugins=ifupdown,keyfile
dns=none

방금 14.04에서 xubuntu 18.04로 업데이트했으며 그보다 오래된 LAN을 가지고 있으며 수년에 걸쳐 많은 작은 조정이 이루어졌습니다. 그래서 나는 내 DNS가 내가 원하는 것을 해주기를 바란다.

그런데 이 파일에는 제가 보고 싶은 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을 방문하는 방문자는 훌륭합니다. 그들은 존재하지 않습니다.

독서가 man 8 resolvconf도움이 됩니다. 많은. 내가 해냈어아니요지시사항에 따라 ifup 프로그램이 찾을 수 있는 위치에 컨텐츠를 배치하십시오. 주로 업그레이드 중에 수행된 모든 작업에서 GUI의 전체 상위 구조가 무시되었기 때문입니다. 이것은 더 큰 문제인 것 같습니다(WTF, Ubuntu?).

그래서 짜증나고, 내가(오래 전에) 네트워크 제어판 GUI에 입력한 내용이 새로 업그레이드된 시스템에서 존중되지 않는다는 문제가 여전히 남아 있지만, 일단 물어보는 방법을 알고 나면 완전히 다른 질문이 됩니다.

답변4

저는 Ubuntu 18을 사용하고 있으며 debian과 centOS에 더 익숙합니다. 큐 혼란.

solv.conf는 systemd-resolved를 사용하고 있다고 말합니다.

systemd는 전역 및 링크별 설정을 잘 표시합니다...

연구에 따르면 이는 넷플랜을 사용하고 있음을 의미할 수 있습니다.

따라서 /etc/netplan/01-network-manager-all.yaml을 열면...renderer: NetworkManager가 표시됩니다.

결과 NetworkManager는 GUI에 있으며 링크별 설정을 활성화하는 방법입니다. 하지만... nmcli를 설치하고 명령줄에서 이 바보를 구성할 수 있습니다...

이것이 누군가에게 도움이 되기를 바랍니다.

관련 정보