URL을 컬로 구문 분석할 수 없는데 드릴로 구문 분석할 수 있는 이유는 무엇입니까?

URL을 컬로 구문 분석할 수 없는데 드릴로 구문 분석할 수 있는 이유는 무엇입니까?

특정 도메인을 확인하기 위해 로컬 DNS 서버를 사용하도록 내 컴퓨터를 구성하려고 합니다. DNS 서버는 192.168.1.123에 있으며 자체적으로 모든 것을 잘 해결합니다.

다른 컴퓨터에서는 dnscrypt-proxy를 설치하고 /etc/resolv.conf다음으로 변경했습니다.

nameserver 127.0.0.1
options edns0 single-request-reopen

/etc/resolv.conf또한 NetworkManager에 의해 재정의되지 않는지 확인했습니다 .

그런 다음 192.168.1.124로 전달되도록 /etc/dnscrypt-proxy/dnscrypt-proxy.toml편집 했습니다 . 이 IP에서 GIT 서비스를 실행하고 있으며 192.168.1.123의 DNS 서버는 192.168.1.124로 확인되도록 구성되어 있습니다. 아이디어는 내가 열 수 있다는 것입니다 .forwarding_ruleshome.arpagit.home.arpagit.home.arpa

host git.home.arpa또는 를 사용하면 drill git.home.arpa192.168.1.123의 데스크톱, 노트북 및 DNS 서버가 모두 올바른 IP 192.168.1.124를 반환합니다. DNS 서버 로그에서도 쿼리를 볼 수 있습니다.

데스크탑과 DNS 서버에서 이 작업을 수행 하면 curl git.home.arpaGIT 서비스에 대한 올바른 HTML이 표시됩니다. 그러나 내 노트북에서는 curl: (6) Could not resolve host: git.home.arpa브라우저에서도 동일한 결과를 얻습니다.

제가 아는 한, 노트북과 데스크탑은 구성이 동일합니다. 다음 파일은 서로 동일합니다.

  • /etc/resolv.conf
  • /etc/nsswitch.conf
  • /etc/dnscrypt-proxy/dnscrypt-proxy.toml
  • /etc/dnscrypt-proxy/forwarding-rules.txt

랩탑을 다시 시작하고, NetworkManager 서비스를 다시 시작하고, dncrypt-proxy를 다시 시작해 보았습니다. 아마도 하나는 작동하고 다른 하나는 작동하지 않기 때문에 약간의 차이가 있을 것 같은데 어디인지 모르겠습니다.

호스트와 드릴이 도메인을 확인할 수 있다면 컬이 도메인을 확인하지 못하는 이유는 무엇입니까? 문제를 어떻게 찾을 수 있나요?

답변1

노트북이 실행되고 있었던 것으로 나타났습니다 systemd-resolved. 나는 다음과 같은 이유로 놀랐습니다.

  • 안에는 아무것도 없어nsswitch.conf
  • 안에는 아무것도 없어resolv.conf
  • dnscrypt-proxy.service설치 및 실행 중

따라서 DNS를 중단하지 않고 두 개의 확인자가 병렬로 실행되는 것은 불가능하다고 생각합니다. 그들은 사실로 밝혀졌습니다. 에서 영감을 받다https://unix.stackexchange.com/a/708899/217968다시 살펴보니 실제로 데스크톱에서는 비활성화되고 DNS 서버에서는 비활성화되었지만 랩톱에서는 활성화되었습니다. 문제를 수정했습니다.

systemctl stop systemd-resolved
systemctl disable systemd-resolved

DNS가 내 노트북에서 작동하기 시작했습니다.

관련 정보