Hej, mam dziwny problem z rozwiązywaniem nazw z wykorzystaniem Unbound. Generalnie to mam dedykowaną kompilację gdzie pozbyłem sie dnsmasq (bardzo obciązał mocno mój sprzęt [90% 1 CPU] bez wyraźnego powodu + wolno rozwiązywał adresy).
Dodatkowo mam vpny z własnymi serwerami dns dla domen lokalnych, więc unbound wydawał się rozsądnym rozwiązaniem.
Moja obecna konfiguracja wykorzystuje DoH z wykorzystaniem https-dns-proxy.
I tak mam dwa endpointy:
127.0.0.1@5053 (DoH)
127.0.0.1@5054 (DoH)
Przykład
/usr/sbin/https-dns-proxy -a 127.0.0.1 -p 5053 -b 88.198.91.187,2a01:4f8:1c0c:8233::1 -r https://doh.centraleu.pi-dns.com/dns-query -u nobody -g nogroup -4
oraz sam unbound działa na
127.0.0.1@53 czyli standard
I teraz mam problem z kilkoma domenami. W tym chciałbym zrobić m.in. chalenge dla Let's encrypta ale router nie moze rozwiazac mi domeny korzystajac z Unbound.
Sam unbound ma z palca (/etc/unbound/unbound_srv.conf) zdefiniowane:
do-not-query-localhost: no
forward-zone:
name: "."
forward-addr: 127.0.0.1@5053
forward-addr: 127.0.0.1@5054
forward-first: yes
forward-zone:
name: "localdomain.loc."
forward-addr: 10.116.0.2
forward-addr: 10.116.0.1
forward-first: no
I tak ta druga domena idzie przez VPN i rozwiązuje mi lokalne adresy dla "localdomain.loc"
Reguła "." (wszystko) forwarduje bo jak wyłącze https-dns-proxy to nie ma odpowiedzi na nic.
Jak odpytam o domenę, która mi nie działa bezposrednio na DoH "dig @127.0.0.1 -p5053 youtu.be" to zwraca wynik. To samo dla @5054. Tak samo przez podanie adresu zewnętrznego serwera dns ale bez DoH. Rozwiązuje.
; <<>> DiG 9.14.8 <<>> @127.0.0.1 -p5053 youtu.be
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64479
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: ebdef61799ebe629e1a9b78e5e996f2c7c610161dc657938 (good)
; CLIENT-SUBNET: 89.73.15.0/24/0
;; QUESTION SECTION:
;youtu.be. IN A
;; ANSWER SECTION:
youtu.be. 219 IN A 172.217.16.142
;; Query time: 134 msec
;; SERVER: 127.0.0.1#5053(127.0.0.1)
;; WHEN: Fri Apr 17 10:56:12 CEST 2020
;; MSG SIZE rcvd: 100
Natomiast Unbound zwraca mi
;; Got SERVFAIL reply from 127.0.0.1, trying next server
; <<>> DiG 9.14.8 <<>> youtu.be +nofail
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 65063
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1280
;; QUESTION SECTION:
;youtu.be. IN A
;; Query time: 0 msec
;; SERVER: ::1#53(::1)
;; WHEN: Fri Apr 17 10:55:18 CEST 2020
;; MSG SIZE rcvd: 37
Wyłączyłem DNSSEC, mam obsługę ipv6 ale nie widzę aby to miało jakiś wpływ (próbowałem z i bez)
Miałem jakiś moment, gdzie zaczeło to działać ale potem po restarcie przestało.
W logach widać tyle, że są jakieś próby odpytywania rootserwerów po ipv6 typu azure.com, jakies ohv.com i permision denied
Tyle, że to chyba próba rekursji dla błędu przy forward.
Ktoś miał z tym do czynienia. Skończyły mi się pomysły.