По умолчанию в LEDE/OpenWrt в качестве резолвера применяется Dnsmasq, который не поддерживает DNS-over-TLS. Для включения шифрования DNS-трафика заменим Dnsmasq на Unbound и odhcpd:opkg update
opkg install unbound odhcpd unbound-control
opkg remove dnsmasqДля настройки через GUI опционально можно установить модуль:
opkg install luci-app-unbound
Указываем в /etc/unbound/unbound_ext.conf DNS-серверы с поддержкой TLS (например, 1.1.1.1 и 1.0.0.1):
forward-zone:
name: "."
forward-addr: 1.1.1.1@853
forward-addr: 1.0.0.1@853
forward-addr: 2606:4700:4700::1111@853
forward-addr: 2606:4700:4700::1001@853
forward-ssl-upstream: yesКорректируем настройки /etc/config/unbound в соответствии с
официальными [[https://github.com/openwrt/packages/tree/master/net/unbound/... рекомендациями]] по настройке связки unbound+odhcpd.Проверяем /etc/config/unbound:
config unbound
option add_local_fqdn '1'
option add_wan_fqdn '1'
option dhcp_link 'odhcpd'
option dhcp4_slaac6 '1'
option domain 'lan'
option domain_type 'static'
option listen_port '53'
option rebind_protection '1'
option unbound_control '1'Аналогично проверяем настройки /etc/config/dhcp:
config dhcp 'lan'
option dhcpv4 'server'
option dhcpv6 'server'
option interface 'lan'
option leasetime '12h'
option ra 'server'
option ra_management '1'config odhcpd 'odhcpd'
option maindhcp '1'
option leasefile '/var/lib/odhcpd/dhcp.leases'
option leasetrigger '/usr/lib/unbound/odhcpd.sh'
Перезапускаем unbound:service unbound enable
service unbound start
URL: https://blog.cloudflare.com/dns-over-tls-for-openwrt/
Обсуждается: http://www.opennet.dev/tips/info/3061.shtml
и отдаем добрым людям из 1.1.1.1 право рулить твоим трафиком..
Параноики могут поднять свой DNS с поддержкой DNS-over-TLS всё на том же Unbound на копеечном VPS и наслаждаться результатом.
> и отдаем добрым людям из 1.1.1.1 право рулить твоим трафиком..А кому сейчас можно доверять?
> и отдаем добрым людям из 1.1.1.1 право рулить твоим трафиком..Видимо, тот кто выдает на роутер с LEDE дефолтный DNS - еще хуже чем они.
Caveat: некоторые ISP зачем-то от большого ума ресольвят в 1.1.1.1 ошибки/captive protal/кончилсябаланс и проч и роутят его соответственно в свой интранет. И это будет не тот 1.1.1.1, который вы ожидаете. Правда, они совсем не умеют DNS over TLS, так что вы заметите.
>Правда, они совсем не умеют DNS over TLS, так что вы заметите.А даже если бы умели, сертификата-то нет.
Хорошо. Продолжайте дальше предпочитать других без шифрования, с заменой результата резолвинга и тотальнм логированием.
На freebsd системный unbound устарел (v. 1.5.10) и про forward-ssl-upstream не в курсе, так что придется поднимать свежий из портов. А так спасибо, будем пользоваться.
Поставьте из портов
Чем DNS-over-TLS отличается от DNScrypt?
default:
запрос 127.168.0.1 opennet.ru 8.8.8.8;
ответ 8.8.8.8 94.142.141.14 opennet.ru 127.168.0.1
DNScrypt:
запрос 127.168.0.1 b3Blbm5ldC5ydQ== 8.8.8.8;
ответ 8.8.8.8 OTQuMTQyLjE0MS4xNCBvcGVubmV0LnJ1 127.168.0.1
DNS-over-TLS:
запрос MTI3LjE2OC4wLjEgb3Blbm5ldC5ydSA4LjguOC44Ow==
ответ OC44LjguOCA5NC4xNDIuMTQxLjE0IG9wZW5uZXQucnUgMTI3LjE2OC4wLjE=
> Чем DNS-over-TLS отличается от DNScrypt?Второе не шифрует, а только подписывает результат для предотвращений подмены.
вы путаете с DNSSEC
Предложенная в статье конфигурация шифрует трафик, но не проверяет подлинность сервера, оставляя возможность для MITM. Начиная с версии 1.7.1 unbound может сверять имя в сертификате. На данный момент эта версия пакета уже попала в master openwrt и её можно собрать по инструкции https://wiki.openwrt.org/doc/howtobuild/single.packageПример конфигурации:
server:
tls-cert-bundle: "/etc/pki/tls/certs/ca-bundle.crt"
forward-zone:
name: "."
forward-addr: 1.1.1.1#cloudflare-dns.com
forward-addr: 1.0.0.1#cloudflare-dns.com
forward-addr: 2606:4700:4700::1111#cloudflare-dns.com
forward-addr: 2606:4700:4700::1001#cloudflare-dns.com
forward-tls-upstream: yes
> Пример конфигурации:В примере путь не для OpenWRT. В OpenWRT ca-certificates.crt лежит в /etc/ssl/certs/ca-certificates.crt (ставится 'opkg update; opkg install ca-bundle')
Оставлю тут ссылку на форум OpenWRT, где приведён более полный вариант настроек:
https://forum.openwrt.org/t/adding-dns-over-tls-support-to-o...
>[оверквотинг удален]
> Пример конфигурации:
> server:
> tls-cert-bundle: "/etc/pki/tls/certs/ca-bundle.crt"
> forward-zone:
> name: "."
> forward-addr: 1.1.1.1#cloudflare-dns.com
> forward-addr: 1.0.0.1#cloudflare-dns.com
> forward-addr: 2606:4700:4700::1111#cloudflare-dns.com
> forward-addr: 2606:4700:4700::1001#cloudflare-dns.com
> forward-tls-upstream: yesТочно