Buch der Unwissenheit

OpenWRT

Openwrt

Serial console

sudo screen /dev/ttyUSB0 115200

Activate wifi for openwrt: opkg update && opkg install python ath10k-firmware-qca988x kmod-ath10k wpad && reboot

Stubby

Installieren von Stubby

opkg install dnsmasq-full --download-only && opkg remove dnsmasq && opkg install dnsmasq-full --cache . && rm *.ipk Jegliche existierenden Konfigurationdateien werden durch ein “-opkg” erweitert und man erhält folgende Warnung * resolve_conffiles: Existing conffile /etc/config/dhcp is different from the conffile in the new package. The new conffile will be placed at /etc/config/dhcp-opkg.

opkg install stubby

Stubby laucht nun auf Port 5453 am loopback-interface. Also muss dafür gesorgt werden das DNS Anfragen dahin weitergeleitet werden:

uci add_list dhcp.@dnsmasq[-1].server='127.0.0.1#5453'
uci set dhcp.@dnsmasq[-1].noresolv=1
uci commit && reload_config

Um nicht den ISP-DNS zu verwenden wird folgendes ausgeführt

uci set network.wan.peerdns='0'
uci set network.wan.dns='127.0.0.1'
uci set network.wan6.peerdns='0'
uci set network.wan6.dns='0::1'
uci commit && reload_config

Anschließend entfernen wir Cloudfare als DNS anbieter (wer möchte) und ersetzt diese durch andere. Hier ein beispiel:

config resolver  
        option address '80.241.218.68'  
        option tls_auth_name 'fdns1.dismail.de'  
        list spki 'sha256/MMi3E2HZr5A5GL+badqe3tzEPCB00+OmApZqJakbqUU='

config resolver         
        option address '46.182.19.48' 
        option tls_auth_name 'dns2.digitalcourage.de'    
        list spki 'sha256/v7rm6OtQQD3x/wbsdHDZjiDg+utMZvnoX3jq3Vi8tGU='

Alle anderen “config resolver” sollten entfernt sein/werden.

Eventuell muss die list spki aktualisieren. Abschließend noch tls aktivieren:

config stubby 'global'
        [..]
        option tls_min_version '1.2'

Aktivieren von DNSSEC:

uci set dhcp.@dnsmasq[-1].dnssec=1
uci set dhcp.@dnsmasq[-1].dnsseccheckunsigned=1
uci commit && reload_config

Nun nur noch die Dienste neustarten:

/etc/init.d/stubbs restart
/etc/init.d/dnsmasq restart

Nun können wir das ganze testen:

dig dnssectest.sidn.nl +dnssec +multi @OpenWrt-Gateway-IP-Adresse

Interessant am output ist das ad bei den Flags. Das bedeutet, dass der DNS server die Antwort für authentisch hält:


; <<>> DiG 9.11.11-RedHat-9.11.11-1.fc30 <<>> dnssectest.sidn.nl +dnssec +multi @172.16.1.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55451
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 512
;; QUESTION SECTION:
;dnssectest.sidn.nl.	IN A

;; ANSWER SECTION:
dnssectest.sidn.nl.	3599 IN	A 213.136.9.12
dnssectest.sidn.nl.	3599 IN	RRSIG A 8 3 3600 (
				20200110081058 20191211081058 42033 sidn.nl.
				frItOICbrx/NS5TYCcvNbpQXRsbllQ2Tgmc2av33p9wi
				e9tdH5eg1Pj0anlDgbD9zluuI6M41JN9xILkkZRvWkFG
				xpg+WSTkqoYbMjQscq2sbRmSvcMv4EVWiR0HphLSh+et
				6C+9Rwu3gVr1u/Yj/3RiO0fuZP9H9d9zG5hqX5U= )

;; Query time: 275 msec
;; SERVER: 172.16.1.1#53(172.16.1.1)
;; WHEN: Mi Dez 11 13:29:10 CET 2019
;; MSG SIZE  rcvd: 230

Quelle: https://www.kuketz-blog.de/stubby-verschluesselte-dns-anfragen-openwrt-teil5/