Hey @DonnyJohnny what's the best command line test, for end to end DoT and DNSSEC negotiation? We need a unified agreed upon test that is thorough. It is obvious we cannot rely on these test sites as different configurations breaks the site. Any ideas what we could use?
for DNSSEC verification, dig command will be good for testing. assuming im doing the test on the router itself,
Code:
admin@RT-AC68U:/tmp/home/root# dig +dnssec +multi cloudflare.com
; <<>> DiG 9.11.3 <<>> +dnssec +multi cloudflare.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38901
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;cloudflare.com. IN A
;; ANSWER SECTION:
cloudflare.com. 275 IN A 198.41.214.162
cloudflare.com. 275 IN A 198.41.215.162
cloudflare.com. 275 IN RRSIG A 13 2 600 (
20181026063706 20181024043706 35273 cloudflare.com.
iDLoJoJ8R0Dhd0fTHvcLq4KwWrjhMpocHJQMJC4DUIKZ
anbhHcqrorBhgRUmNM8cM1B8vfupMxD+34LDqv9PMg== )
;; Query time: 20 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Oct 25 13:42:41 +08 2018
;; MSG SIZE rcvd: 185
the AD flag in the result is indication whether DNSSEC is in place
in the following test where i specify my ISP DNS server as the resolver using @xxx.xxx.xxx, the AD flag is not there as it does not support DNSSEC
Code:
admin@RT-AC68U:/tmp/home/root# dig +dnssec +multi cloudflare.com @172.17.5.36
; <<>> DiG 9.11.3 <<>> +dnssec +multi cloudflare.com @172.17.5.36
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23373
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 512
;; QUESTION SECTION:
;cloudflare.com. IN A
;; ANSWER SECTION:
cloudflare.com. 361 IN A 198.41.214.162
cloudflare.com. 361 IN A 198.41.215.162
;; Query time: 4 msec
;; SERVER: 172.17.5.36#53(172.17.5.36)
;; WHEN: Thu Oct 25 13:46:20 +08 2018
;; MSG SIZE rcvd: 75
for DoT verification, i guess the best way will be to monitor stubby log using stubby -l when doing resolves using dig or nslookup commands.
alternatively, u can also consider to monitor dnsmasq log to see how the resolves has been carried out depending in your setup e.g. dnsmasq -> stubby -> cloudflare via TLS
[edit]
doing a closer monitor of the dnsmasq log when visiting cloudflare's help (https://1.1.1.1/help) page, it seems that the page is doing resolves to this domain, a28c0a2b-bf7a-436e-bec8-532ae918078c.is-dot.cloudflareresolve.com that's causing the test to fail when DNSSEC is enabled
Last edited: