Перейти к содержимому
  • 2

Настройка DoT/DoH


KorDen

Вопрос

Хотелось бы понять логику работы DoT/DoH и взаимодействие с name-server.

Пробуем прописать, при включенном opkg dns-override и полном отсутствии ydns/adguard/...:

(config)> dns-proxy tls upstream 1.1.1.1 sni cloudflare-dns.com
Dns::Secure::ManagerDot: DNS-over-TLS name server "1.1.1.1" is disregarded while Internet Filter is active.

Т.е. как я понимаю, для резолва запросов самим роутером (RPC) DoT/DoH использовать нельзя, они будут ходить напрямую? (использовать name-server только для необходимых резолвов для DoH, и затем переходить полностью на DoH/DoT)

Как можно диагностировать работу DoT/DoH?

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 1

Пример оптимальной настройки, с учетом использования DoT \ DoH серверов таких компаний, как Adguard, Google, Cloudflare, Quad9 + с форматами DNS JSON & DNSM.

Настройка в Command Line Interface, CLI:

dns-proxy
tls upstream 8.8.8.8 sni dns.google
tls upstream 8.8.4.4 sni dns.google
tls upstream 1.1.1.1 sni cloudflare-dns.com
tls upstream 1.0.0.1 sni cloudflare-dns.com
tls upstream 9.9.9.9 sni dns.quad9.net
tls upstream 94.140.14.14 sni dns.adguard.com
tls upstream 94.140.15.15 sni dns.adguard.com
https upstream https://dns.google/dns-query dnsm
exit
system configuration save
show dns-proxy

# ndnproxy statistics file

Total incoming requests: 133
Proxy requests sent:     134
Cache hits ratio:        0.113 (15)
Memory usage:            31.29K

DNS Servers

                      Ip   Port  R.Sent  A.Rcvd  NX.Rcvd  Med.Resp  Avg.Resp  Rank  
               127.0.0.1  40500       2       0        2      22ms      21ms     1  
               127.0.0.1  40501       2       0        2      36ms      36ms     1  
               127.0.0.1  40502       2       0        0       0ms       0ms     4  
               127.0.0.1  40503       2       0        0       0ms       0ms     2  
               127.0.0.1  40504       2       0        0       0ms       0ms     1  
               127.0.0.1  40505       2       0        0       0ms       0ms     4  
               127.0.0.1  40506       2       0        0       0ms       0ms     1  
               127.0.0.1  40508       3       1        2     350ms     310ms     3  
               127.0.0.1  40509     117     115        2      21ms      21ms    10

image.png

Среднее время отклика med. avg. response time конечно скачет, может достигать выше 1000 ms, но в целом отклик хороший, практически у всех адресов.

Также написана статья в базе знаний по настройке, с описанием и примерами - Протоколы DNS over TLS и DNS over HTTPS для шифрования DNS-запросов, которая дополняется информацией.

Проверка работоспособности шифрования - ТОЛЬКО для адресов от Cloudflare:

https://www.cloudflare.com/ssl/encrypted-sni/

image.png

https://1.1.1.1/help

image.png

https://adguard.com/ru/test.html

image.png


Настройка фильтрации рекламы, трекеров, вредоносных сайтов с подробной аналитикой от https://nextdns.io/ через протокол DNS over TLS.

Настройка в Command Line Interface, CLI:

!
dns-proxy
    tls upstream 45.90.28.0 853 sni xxx.dns1.nextdns.io
    tls upstream 45.90.30.0 853 sni xxx.dns2.nextdns.io
# ndnproxy statistics file

Total incoming requests: 613
Proxy requests sent:     493
Cache hits ratio:        0.225 (138)
Memory usage:            33.91K

DNS Servers

                      Ip   Port  R.Sent  A.Rcvd  NX.Rcvd  Med.Resp  Avg.Resp  Rank  
               127.0.0.1  40516      25      12        8     119ms     449ms     3  
               127.0.0.1  40517     468     453        8      89ms      94ms     4  

               proxy-tls: 
               server-tls: 
                      address: 45.90.28.0
                         port: 853
                          sni: xxx.dns1.nextdns.io
                         spki: 
                    interface: 

               server-tls: 
                      address: 45.90.30.0
                         port: 853
                          sni: xxx.dns2.nextdns.io
                         spki: 
                    interface: 

       proxy-tls-filters: 
             proxy-https: 
     proxy-https-filters: 


где xxx - Ваш ID профиля nextdns.

Настройка в WebUI:

image.png

Проверка доступности https://my.nextdns.io/configuration/xxx/setup:

image.png


Корректная фильтрация контента зависит от выбранных Вами готовых профилей в https://my.nextdns.io/configuration/xxx/lists.

Мой лист:

EasyList
Malware Domain Blocklist by RiskAnalytics
Ransomware Tracker
AdGuard Simplified Domain Names filter
hpHosts (ATS / Ads & trackers)
hpHosts (EMD / Malware)
pornhosts
Sinfonietta (Porn)
RU AdList
CoinBlockerLists (browser)

Проверка фильтрации https://checkadblock.ru/:

image.png

 

Изменено пользователем enpa
информация
Ссылка на комментарий
Поделиться на других сайтах

  • 2

Да, важный момент.

На устройствах с 7628 DoH работает не через http/2, а через http/1.1 keepalive. Это связано с большим размером библиотеки nghttp2, места для которой не хватает. Нагрузка на CPU от DoH тоже заметно выше, чем от DoT, потому на 7628 DoH стоит рассмотривать в основном лишь как last resort - когда другое не работает или заблокировано провайдером.

Потому на 7628 рекомендуется в основном DoT.

Ссылка на комментарий
Поделиться на других сайтах

  • 2
1 час назад, Dima Babanakov сказал:

Может я и ошибаюсь, но похоже не хватает автоматической переадресации всех DNS запросов через DoT/DoH. на случай отслеживания 53 порта провайдерами и подмены. 

Оно есть еще со времен 2.06. Но работает только для Интернет-фильтров.

К счастью, adguard полностью поддерживает doh/dot. Потому

- ставите doh/dot компоненты

- ставите adguard

- включаете его

- profit!

Все само работает по dot/doh без настроек, с заворотом всех DNS-запросов принудительно на роутер.

Ссылка на комментарий
Поделиться на других сайтах

  • 2
1 час назад, ankar84 сказал:

@Le ecureuil кстати, а если я хочу использовать интернет-фильтр AdGuard DNS но только по DoT, то есть без DoH, возможно ли это?

И получится ли у меня это, если у меня будет установлен компоненты AdGuard DNS + DoT, но не установлен DoH? Или они всегда должны быть установлены оба, чтобы интернет-фильтр AdGuard DNS работал не в plain text, а в зашифрованном виде?

Да, достаточно просто удалить компонент doh.

Ссылка на комментарий
Поделиться на других сайтах

  • 2

Попробуйте проверить отпечаток такой командой:

echo | openssl s_client -connect ip:port 2>/dev/null | openssl x509 -pubkey -noout | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64

Если результат аналогичный вашему, напишите в техподдержку.

Ссылка на комментарий
Поделиться на других сайтах

  • 1

Отключены сервера от провайдера, добавлен

dns-proxy
    tls upstream 1.1.1.1 853 sni cloudflare-dns.com

работает как клиенты так и с самого роутера. Весит сервис через который все это и идет "nutdns", так же при "ping aaaaa.ru" c самого роутера запросы уходили на 1.1.1.1:853 и простых запросов на 53 порт не было.

В догонку

[I] Jun 14 13:11:58 ndm: AdguardDns::Client: AdGuard DNS disabled.
[I] Jun 14 13:11:58 ndm: SkyDns::Client: SkyDNS disabled.
[I] Jun 14 13:11:58 ndm: YandexDns::Client: Yandex.DNS disabled.
[I] Jun 14 13:11:58 ndm: Core::ConfigurationSaver: saving configuration...
[I] Jun 14 13:11:58 ndm: Dns::Secure::ManagerDot: DNS-over-TLS name servers cleared.
[I] Jun 14 13:11:58 ndm: Dns::Secure::ManagerDot: DNS-over-TLS name server 1.1.1.1:853 added.
[I] Jun 14 13:11:58 ndm: Dns::Secure::ManagerDot: DNS-over-TLS name server 8.8.8.8:853 added.
[I] Jun 14 13:11:58 ndm: Dns::Secure::ManagerDoh: DNS-over-HTTPS name servers cleared.
[I] Jun 14 13:11:58 ndm: Core::ConfigurationSaver: saving configuration...
[I] Jun 14 13:12:01 ndm: Core::ConfigurationSaver: configuration saved.

dns_server = 127.0.0.1:40500 .
dns_server = 127.0.0.1:40501 .
...
set-profile-ip 127.0.0.1 0
set-profile-ip ::1 0
dns_tcp_port = 53
dns_udp_port = 53


DNS Servers

                      Ip   Port  R.Sent  A.Rcvd  NX.Rcvd  Med.Resp  Avg.Resp  Rank  
               127.0.0.1  40500       4       1        3      65ms     262ms     3  
               127.0.0.1  40501     432     428        1      39ms      39ms     6  

 

По скорости работы как то не понятно и так же если судить по

[2019-06-12 19:59:37] [NOTICE] dnscrypt-proxy 2.0.23
[2019-06-12 19:59:37] [NOTICE] Now listening to 127.0.0.2:65053 [UDP]
[2019-06-12 19:59:37] [NOTICE] Now listening to 127.0.0.2:65053 [TCP]
[2019-06-12 19:59:41] [NOTICE] [cloudflare] OK (DoH) - rtt: 50ms
[2019-06-12 19:59:41] [NOTICE] [cpunks-ru] OK (DNSCrypt) - rtt: 27ms
[2019-06-12 19:59:41] [NOTICE] [yandex] OK (DNSCrypt) - rtt: 26ms
[2019-06-12 19:59:41] [NOTICE] Server with the lowest initial latency: yandex (rtt: 26ms)
[2019-06-12 19:59:41] [NOTICE] dnscrypt-proxy is ready - live servers: 3
[2019-06-14 11:53:19] [NOTICE] [charis] OK (DNSCrypt) - rtt: 56ms
[2019-06-14 11:53:20] [NOTICE] Server with the lowest initial latency: cpunks-ru (rtt: 26ms)

 

Изменено пользователем vasek00
Ссылка на комментарий
Поделиться на других сайтах

  • 1
1 час назад, KorDen сказал:

Хотелось бы понять логику работы DoT/DoH и взаимодействие с name-server.

Пробуем прописать, при включенном opkg dns-override и полном отсутствии ydns/adguard/...:


(config)> dns-proxy tls upstream 1.1.1.1 sni cloudflare-dns.com
Dns::Secure::ManagerDot: DNS-over-TLS name server "1.1.1.1" is disregarded while Internet Filter is active.

Т.е. как я понимаю, для резолва запросов самим роутером (RPC) DoT/DoH использовать нельзя, они будут ходить напрямую? (использовать name-server только для необходимых резолвов для DoH, и затем переходить полностью на DoH/DoT)

Как можно диагностировать работу DoT/DoH?

opkg dns-override отключает встроенный dns proxy, который остается только для системных нужд. Это ожидаемое поведение.

Диагностировать просто - если нет сообщения о "disregarded", настроен хоть один dot/doh upstream, и работает DNS - значит все работает нормально. При включении хотя бы одного апстрима dot/doh обычный plaintext DNS полностью отключается.

Ссылка на комментарий
Поделиться на других сайтах

  • 1
51 минуту назад, vasek00 сказал:

Med.Resp/Avg.Resp - серьезный хххms у вас, вопрос только по каким серверам

Новосибирск, далеко до всего, вот и задержки.

Ссылка на комментарий
Поделиться на других сайтах

  • 1
1 час назад, ankar84 сказал:

Как получаете такой вывод? Какой командой?

У меня dns-proxy ничего не дает, а как будто входит в новый контекст.

А more temp:ndnproxymain.stat выдает чуть по другому

  Показать содержимое

Кстати, старый добрый https://www.dnsleaktest.com/ может помочь при тестировании DoT/DoH серверов.

Правильная команда выглядит так:

> show dns-proxy

Она же покажет и proxy в ip policy сразу.

Ссылка на комментарий
Поделиться на других сайтах

  • 1

Может я и ошибаюсь, но похоже не хватает автоматической переадресации всех DNS запросов через DoT/DoH. на случай отслеживания 53 порта провайдерами и подмены. 

Ссылка на комментарий
Поделиться на других сайтах

  • 1

DoH на 7628 работает нормально, отличия между http/2 и http/1.1 на самом деле не так значительны, как может показаться. Разница при суровой нагрузке в pipeline только, и то процентов на 20-30.

Вообще на мой взгляд незаслуженно забываете про крутые и недорогие устройства DSL и DUO. DSL за 3,5 тысячи на мой взгляд хуже 1910 только в части WiFi. Все остальное там даже лучше, чем на 7621S. Это отличная замена для любого устройства на 7628, если нужны именно сетевые фичи без сильного акцента на WiFi.

Не обращайте внимания, что это DSL, просто не пользуйтесь этим куском. Зато там есть аппаратный IPsec и процессор мощнее, чем MT7621S. И ОЗУ и flash много.

Фактически, это прямой наследник Keenetic II на Big Endian и с DSL, но еще мощнее и со всеми новыми фичами.

Ссылка на комментарий
Поделиться на других сайтах

  • 1
В 14.06.2019 в 13:10, KorDen сказал:

Хотелось бы понять логику работы DoT/DoH и взаимодействие с name-server.

Пробуем прописать, при включенном opkg dns-override и полном отсутствии ydns/adguard/...:


(config)> dns-proxy tls upstream 1.1.1.1 sni cloudflare-dns.com
Dns::Secure::ManagerDot: DNS-over-TLS name server "1.1.1.1" is disregarded while Internet Filter is active.

Т.е. как я понимаю, для резолва запросов самим роутером (RPC) DoT/DoH использовать нельзя, они будут ходить напрямую? (использовать name-server только для необходимых резолвов для DoH, и затем переходить полностью на DoH/DoT)

Как можно диагностировать работу DoT/DoH?

Исправлено в 3.1A4. При этом сообщение в диагностике остается, но для себя роутер использует DoT/DoH (плюс если включен adguard, и некоторым хостам задан профиль "Без фильтрации", то они пойдут по DoT/DoH, заданным руками для всей системы.

Ссылка на комментарий
Поделиться на других сайтах

  • 1
8 минут назад, keenet07 сказал:

DOH почему-то вообще отказывался работать при запрещённых исходящих для роутера на 80 порт. Разве он не по 443 сразу работает?

libcurl скорее всего пытался по ocsp сертификат проверить.

Ссылка на комментарий
Поделиться на других сайтах

  • 1
41 минуту назад, keenet07 сказал:

Какой приоритет использования DNS серверов, если настроен и DOT и DOH. Что будет использоваться по факту? Или лучше зачищать альтернативный вариант?

 

И ещё, будет ли автоматически использоваться прописанный классический DNS, в случае временной недоступности серверов по DOH и DOT? 

Приоритет будет у того, кто быстрее отвечает. Обычный DNS использоваться не будет.

Ссылка на комментарий
Поделиться на других сайтах

  • 1
26 минут назад, keenet07 сказал:

Заметил что при работе DOH роутер открывает большое количество отдельных соединений на  свой DNS сервер. Это нормально? На каждый запрос отдельное соединение как при работе обычного DNS? Я думал будет работать внутри установленного HTTPS соединения.

При настроенном DOT соединение висело одно. (в Активных соединениях)

Да, там несколько соединений + http2 multiplexing.

Ссылка на комментарий
Поделиться на других сайтах

  • 1
16 минут назад, keenet07 сказал:

Всё понятно. Сложная конструкция при работе через DOH получается. Для меня преимущества пока не очевидны. Останусь пока на DOT.

Хотя работа через DOT  у меня почему-то в два раз медленнее чем через DOH (через тот же CloudFlare)

Можно и то, и другое одновременно включить, а роутер сам выберет самое быстрое/доступное и будет работать через него.

Ссылка на комментарий
Поделиться на других сайтах

  • 1
3 часа назад, valeramalko сказал:

kn-1010

3.3 Alpha 1.1

установлены компоненты dot/doh, включен интернет-фильтр Adguard, другие dns  в роутере не прописаны

в лог пишется много таких сообщений, нужно ли  с этим что-то делать и на что это влияет?


Sep  8 19:51:49 Keenetic_Giga https-dns-proxy: DNS lookup failed: DNS query cancelled
Sep  8 19:51:49 Keenetic_Giga https-dns-proxy: DNS lookup failed: DNS query cancelled
Sep  8 19:51:54 Keenetic_Giga https-dns-proxy: DNS lookup failed: DNS query cancelled
Sep  8 19:51:54 Keenetic_Giga https-dns-proxy: DNS lookup failed: DNS query cancelled
Sep  8 19:51:54 Keenetic_Giga https-dns-proxy: DNS lookup failed: DNS query cancelled

 

Нет, это чисто для разработчиков информация. Если у вас все работает нормально, игнорируйте.

Ссылка на комментарий
Поделиться на других сайтах

  • 1

В меню Диагностика - Активные соединения найдите ваш интерфейс выхода в интернет и там должны быть коннекты на 8.8.8.8 (или другой гугловский ip) порт 443. Никаких соединений на 53 порт.

Изменено пользователем keenet07
Ссылка на комментарий
Поделиться на других сайтах

  • 1
17 часов назад, Doctor сказал:

Куда копать?

Копать в техподдержку или попросить помощи тут у @Le ecureuil или @enpa.

Я попробовал у себя связку доменное имя + нестандартный порт для HTTPS на сервере dns.seby.io - Vultr (https://doh.seby.io:8443/dns-query), и она также не взлетела. Для работы DoH используется, судя по всему, этот прокси, а я так и не смог понять умеет ли он в что-то отличное от :443.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
42 минуты назад, vasek00 сказал:

Отключены сервера от провайдера

Похоже не надо специально отключать, при включении DoT/DoH он сам отрубает все остальные прописанные и полученные обычные name-server

Ссылка на комментарий
Поделиться на других сайтах

  • 0
1 час назад, vasek00 сказал:

Отключены сервера от провайдера, добавлен


dns-proxy
    tls upstream 1.1.1.1 853 sni cloudflare-dns.com

работает как клиенты так и с самого роутера. Весит сервис через который все это и идет "nutdns", так же при "ping aaaaa.ru" c самого роутера запросы уходили на 1.1.1.1:853 и простых запросов на 53 порт не было.

В догонку


[I] Jun 14 13:11:58 ndm: AdguardDns::Client: AdGuard DNS disabled.
[I] Jun 14 13:11:58 ndm: SkyDns::Client: SkyDNS disabled.
[I] Jun 14 13:11:58 ndm: YandexDns::Client: Yandex.DNS disabled.
[I] Jun 14 13:11:58 ndm: Core::ConfigurationSaver: saving configuration...
[I] Jun 14 13:11:58 ndm: Dns::Secure::ManagerDot: DNS-over-TLS name servers cleared.
[I] Jun 14 13:11:58 ndm: Dns::Secure::ManagerDot: DNS-over-TLS name server 1.1.1.1:853 added.
[I] Jun 14 13:11:58 ndm: Dns::Secure::ManagerDot: DNS-over-TLS name server 8.8.8.8:853 added.
[I] Jun 14 13:11:58 ndm: Dns::Secure::ManagerDoh: DNS-over-HTTPS name servers cleared.
[I] Jun 14 13:11:58 ndm: Core::ConfigurationSaver: saving configuration...
[I] Jun 14 13:12:01 ndm: Core::ConfigurationSaver: configuration saved.

dns_server = 127.0.0.1:40500 .
dns_server = 127.0.0.1:40501 .
...
set-profile-ip 127.0.0.1 0
set-profile-ip ::1 0
dns_tcp_port = 53
dns_udp_port = 53


DNS Servers

                      Ip   Port  R.Sent  A.Rcvd  NX.Rcvd  Med.Resp  Avg.Resp  Rank  
               127.0.0.1  40500       4       1        3      65ms     262ms     3  
               127.0.0.1  40501     432     428        1      39ms      39ms     6  

 

По скорости работы как то не понятно и так же если судить по


[2019-06-12 19:59:37] [NOTICE] dnscrypt-proxy 2.0.23
[2019-06-12 19:59:37] [NOTICE] Now listening to 127.0.0.2:65053 [UDP]
[2019-06-12 19:59:37] [NOTICE] Now listening to 127.0.0.2:65053 [TCP]
[2019-06-12 19:59:41] [NOTICE] [cloudflare] OK (DoH) - rtt: 50ms
[2019-06-12 19:59:41] [NOTICE] [cpunks-ru] OK (DNSCrypt) - rtt: 27ms
[2019-06-12 19:59:41] [NOTICE] [yandex] OK (DNSCrypt) - rtt: 26ms
[2019-06-12 19:59:41] [NOTICE] Server with the lowest initial latency: yandex (rtt: 26ms)
[2019-06-12 19:59:41] [NOTICE] dnscrypt-proxy is ready - live servers: 3
[2019-06-14 11:53:19] [NOTICE] [charis] OK (DNSCrypt) - rtt: 56ms
[2019-06-14 11:53:20] [NOTICE] Server with the lowest initial latency: cpunks-ru (rtt: 26ms)

 

По скорости работы - последние три столбца показывают среднюю, медианную задержку и рейтинг сервера. Согласно им и работает все.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
42 минуты назад, Le ecureuil сказал:

В связи с реализацией DoT и DoH dnscrypt уходит на свалку истории.

Маленький вопрос, в dnscrypt можно было блокировать IP по списку, как быть с данным функционалом тогда?

Ссылка на комментарий
Поделиться на других сайтах

  • 0
5 минут назад, cool сказал:

А как правильно вернуться с DoT/DoH обратно к провайдерским DNS(включить обратно обычный plaintext DNS)?

Удалить все doh/dot

Ссылка на комментарий
Поделиться на других сайтах

  • 0
6 минут назад, cool сказал:

А как правильно вернуться с DoT/DoH обратно к провайдерским DNS(включить обратно обычный plaintext DNS)?

Да, удалив все записи.

Ссылка на комментарий
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Гость
Ответить на вопрос...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу
×
×
  • Создать...