
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.X
DoH로 전송되고 있는 것이 분명합니다.
이 문제를 어떻게 해결할 수 있나요?
첨부 파일: Debian 11, Dnsmasq 버전 2.85