dnsmasq는 정규화되지 않은 이름에 대한 기본 DNS를 예상대로 처리하지 않습니다.

dnsmasq는 정규화되지 않은 이름에 대한 기본 DNS를 예상대로 처리하지 않습니다.

DHCP에서 제공하는 DNS로 확인해야 하는 일부 로컬 도메인을 제외한 모든 호스트 이름에 대해 DoH를 설정하려고 합니다.

예상대로 정규화된 이름을 사용합니다. 즉, 로컬 이름은 DHCP 할당 서버로 전송되고 다른 모든 것은 내 DoH 클라이언트로 전송됩니다 stubby. 그러나 자격이 없는 이름을 처리하는 데 문제가 있습니다.

이것은 내 구성입니다 /etc/NetworkManager/dnsmasq.d/example.conf.

cache-size=1000
log-queries
server=//#
server=/example.com/#
server=/#/127.0.0.1#8053

stubby포트 8053에서 실행된다는 점에 유의하세요 . 간략하게 설명하면 다음과 같습니다 /etc/NetworkManager/NetworkManager.conf.

[main]
plugins=ifupdown,keyfile
dns=dnsmasq

[ifupdown]
managed=false

journalctl이것은 재시작 후 출력의 일부입니다 NetworkManager.

dnsmasq[10692]: using nameserver 127.0.0.1#8053 for default
dnsmasq[10692]: using standard nameservers for domain example.com
dnsmasq[10692]: using standard nameservers for unqualified names    <<< NOTICE THIS
dnsmasq[10692]: cleared cache
dnsmasq[10692]: setting upstream servers from DBus
dnsmasq[10692]: using nameserver 127.0.0.1#8053 for default
dnsmasq[10692]: using standard nameservers for domain example.com
dnsmasq[10692]: using standard nameservers for unqualified names
dnsmasq[10692]: using nameserver 10.X.X.X#53(via enp0s31f6)
dnsmasq[10692]: using nameserver 10.X.X.X#53 for domain example.com
dnsmasq[10692]: using nameserver 10.X.X.X#53 for domain X.X.X.10.in-addr.arpa
dnsmasq[10692]: using nameserver 10.X.X.X#53 for domain X.X.X.10.in-addr.arpa

그 후에 dig asdfg.com나는 이것을 얻습니다 :

dnsmasq[10692]: query[A] asdfg.com from 127.0.0.1
dnsmasq[10692]: forwarded asdfg.com to 127.0.0.1

따라서 DoH는 예상대로 작동하고 있습니다.

그 후에 dig asdfg.example.com나는 이것을 얻습니다 :

dnsmasq[10692]: query[A] asdfg.example.com from 127.0.0.1
dnsmasq[10692]: forwarded asdfg.example.com to 10.X.X.X

따라서 로컬 DNS로의 전달도 가능합니다.

그 후에 dig asdfg나는 이것을 얻습니다 :

dnsmasq[10692]: query[A] asdfg from 127.0.0.1
dnsmasq[10692]: forwarded asdfg to 127.0.0.1

으로 보내고 127.0.0.1있지 않기 때문에 10.X.X.XDoH로 전송되고 있는 것이 분명합니다.

이 문제를 어떻게 해결할 수 있나요?

첨부 파일: Debian 11, Dnsmasq 버전 2.85

답변1

버그인 것 같습니다[1,2] 버전 2.86에서 수정되었습니다.

관련 정보