Jump to content
  • 2
KorDen

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

Question

Хотелось бы понять логику работы 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?

Share this post


Link to post
Share on other sites

Recommended Posts

  • 2

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

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

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

  • Thanks 1

Share this post


Link to post
Share on other sites
  • 2
1 час назад, Dima Babanakov сказал:

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

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

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

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

- ставите adguard

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

- profit!

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

  • Thanks 2
  • Upvote 1

Share this post


Link to post
Share on other sites
  • 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)

 

Edited by vasek00

Share this post


Link to post
Share on other sites
  • 1
7 минут назад, cool сказал:

Соответственно, DNS не работает. Что я делаю не так?

Сделайте так:

tyryrty.thumb.PNG.055d01e4f39d2ab9837fd16aa0858f48.PNG

Share this post


Link to post
Share on other sites
  • 1
51 минуту назад, vasek00 сказал:

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

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

Share this post


Link to post
Share on other sites
  • 1
1 час назад, ankar84 сказал:

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

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

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

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

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

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

> show dns-proxy

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

  • Upvote 1

Share this post


Link to post
Share on other sites
  • 1

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

Share this post


Link to post
Share on other sites
  • 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, но еще мощнее и со всеми новыми фичами.

  • Thanks 1

Share this post


Link to post
Share on other sites
  • 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, заданным руками для всей системы.

  • Thanks 2

Share this post


Link to post
Share on other sites
  • 1
1 час назад, ankar84 сказал:

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

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

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

  • Thanks 2

Share this post


Link to post
Share on other sites
  • 1

146 - это ECONNREFUSED.

У вас по пути кто-то либо обрывает соединение, либо нет доступа к dot-серверам.

Share this post


Link to post
Share on other sites
  • 1

Bootstrap выполняется через следующие адреса:

8.8.8.8, 1.1.1.1, 8.8.4.4, 1.0.0.1, 145.100.185.15, 145.100.185.16, 185.49.141.37

  • Thanks 2

Share this post


Link to post
Share on other sites
  • 1
8 минут назад, keenet07 сказал:

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

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

  • Thanks 1

Share this post


Link to post
Share on other sites
  • 1
41 минуту назад, keenet07 сказал:

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

 

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

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

  • Thanks 3

Share this post


Link to post
Share on other sites
  • 1
26 минут назад, keenet07 сказал:

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

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

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

  • Thanks 1
  • Upvote 1

Share this post


Link to post
Share on other sites
  • 1
16 минут назад, keenet07 сказал:

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

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

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

  • Thanks 2

Share this post


Link to post
Share on other sites
  • 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

 

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

Share this post


Link to post
Share on other sites
  • 1

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

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

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

Share this post


Link to post
Share on other sites
  • 1
17 часов назад, Doctor сказал:

Куда копать?

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

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

  • Thanks 1

Share this post


Link to post
Share on other sites
  • 0
42 минуты назад, vasek00 сказал:

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

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

Share this post


Link to post
Share on other sites
  • 0
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 полностью отключается.

Share this post


Link to post
Share on other sites
  • 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)

 

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

Share this post


Link to post
Share on other sites
  • 0
42 минуты назад, Le ecureuil сказал:

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

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

Share this post


Link to post
Share on other sites
  • 0

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

Share this post


Link to post
Share on other sites
  • 0
5 минут назад, cool сказал:

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

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

Share this post


Link to post
Share on other sites
  • 0
6 минут назад, cool сказал:

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

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

Share this post


Link to post
Share on other sites
  • 0
1 минуту назад, r13 сказал:

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

Вот я и спрашиваю, как правильно это сделать?

Share this post


Link to post
Share on other sites
  • 0
8 минут назад, vasek00 сказал:

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

А поподробнее? Я dnscrypt в глаза не видел, для меня "блокировать IP по списку" ничего не значит.

Share this post


Link to post
Share on other sites
  • 0
Только что, cool сказал:

Вот я и спрашиваю, как правильно это сделать?

Ну в web же можно все сделать на странице Интернет-фильтров. Или в cli.

  • Thanks 1

Share this post


Link to post
Share on other sites

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.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...