Jump to content
  • 0
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

  • 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
2 часа назад, KorDen сказал:

SPKI - это замена авторизации через CA по домену, "не заполнять, если не знаете, для чего нужно".

У DNS Message оверхед меньше

Почти.

Если поле SPKI пустое, то используется верификация сертификата сервера через встроенные корневые сертификаты в прошивке.

Но может быть такой сценарий, что прошивка устарела или сертификат еще не добавлен, или самоподписанный сертификат на сервере.

Тогда можно указать SPKI, и сервер будет валидироваться на основе этого значения - оно перекрывает корневые сертификаты.

Для DOT SPKI и валидация по корневым сертификатам работают только если указать SNI.

 

application/dns-message - это единственный формат DOH, стандартизованный в RFC 8484. Однако, Google не реализует dns-message, а вместо этого использует свой проприетарный формат application/dns-json.

Потому правильный ответ таков: указывать надо то, что поддерживает сервер. В случае c Google это только JSON.

Но некоторые серверы, в частности CloudFlare, поддерживают оба формата. В этом случае команда и URL выглядят так:

> dns-proxy https upstream https://cloudflare-dns.com/dns-query dnsm

> dns-proxy https upstream https://cloudflare-dns.com/dns-query?ct=application/dns-json& json

  • Thanks 5
  • Upvote 1

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

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

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

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

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
1 час назад, Dima Babanakov сказал:

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

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

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

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

- ставите adguard

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

- profit!

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

  • 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
  • 0
9 минут назад, Le ecureuil сказал:

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

Как раз хотел спросить про веб, но вы опередили. Просто я еще не поставил новую 3.1 Alpha 1.2, заранее интересуюсь путями отхода )), а также попутно делаю выводы - имеет ли смысл ее вообще сейчас ставить.

Edited by cool

Share this post


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

Как раз хотел спросить про веб, но вы опередили. Просто я еще не поставил новую 3.1 Alpha 1.2, заранее интересуюсь путями отхода )), а также попутно делаю выводы имеет ли смысл ее вообще сейчас ставить.

Можно тупо компоненты dot и doh удалить на странице компонентов, и будет прям как вы хотите :)

  • Thanks 1

Share this post


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

Можно тупо компоненты dot и doh удалить на странице компонентов, и будет прям как вы хотите :)

Ok, принял к сведению. Спасибо.

Share this post


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

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

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

По мимо это в dnscrypt еще был функционал

# Use servers implementing the DNSCrypt protocol
# Use servers implementing the DNS-over-HTTPS protocol
# Server must support DNS security extensions



# Server must not enforce its own blacklist (for parental control, ads blocking...)
# require_nofilter = true

[blacklist]
## Path to the file of blocking rules (absolute, or relative to the same directory as the executable file)
# blacklist_file = '/opt/tmp/blacklist.txt'

[ip_blacklist]
## Path to the file of blocking rules (absolute, or relative to the same directory as the executable file)
# blacklist_file = '/opt/tmp/ip-blacklist.txt'

[whitelist]
## Path to the file of whitelisting rules (absolute, or relative to the same directory as the executable file)
# whitelist_file = '/opt/tmp/whitelist.txt'

https://github.com/jedisct1/dnscrypt-proxy/wiki/Public-blacklists

 

Share this post


Link to post
Share on other sites
  • 0

Тема уходит на свалку истории, потому что его реализовывать не будут. Ну а dnscrypt-proxy и протокол сами туда отойдут, без нас.

А блеклисты - это совсем другая фича, никак именно к DC не относящаяся. Можно создавать тему с голосовалкой по ней.

Share this post


Link to post
Share on other sites
  • 0

Попробовал, настроил. Но при работающем transmission процессор постепенно выходит на 98-100%. Удалил настройки "Серверы DNS-over-TLS", все нормализовалось( процессор 15-20%).

  • Upvote 1

Share this post


Link to post
Share on other sites
  • 0

При использовании DNS over https в логе периодически такие записи, это нормально ?

Screenshot.png

В графе сигнатура SPKI надо что-то прописывать? Какой формат выбирать JSON или DNS message?

Edited by mega1volt

Share this post


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

При использовании DNS over https в логе периодически такие записи

А у меня и после отключения DNS over https в логах такое остается.

Share this post


Link to post
Share on other sites
  • 0

Пока не ставил эту прошивку. Скажите, данный функционал реализован только через консоль? Или из веб-интерфейса уже можно включать и настраивать?

Share this post


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

Пока не ставил эту прошивку. Скажите, данный функционал реализован только через консоль? Или из веб-интерфейса уже можно включать и настраивать?

Через веб

  • Thanks 1

Share this post


Link to post
Share on other sites
  • 0
2 часа назад, mega1volt сказал:

В графе сигнатура SPKI надо что-то прописывать? Какой формат выбирать JSON или DNS message?

SPKI - это замена авторизации через CA по домену, "не заполнять, если не знаете, для чего нужно".

У DNS Message оверхед меньше

Share this post


Link to post
Share on other sites
  • 0
4 часа назад, mega1volt сказал:

При использовании DNS over https в логе периодически такие записи, это нормально ?

Screenshot.png

В графе сигнатура SPKI надо что-то прописывать? Какой формат выбирать JSON или DNS message?

Такое бывает, если сервер разрывает соединение и мы его устанавливаем заново. Страшного ничего нет.

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.


×
×
  • Create New...