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

  • 0

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

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

dns-proxy
tls upstream 8.8.8.8 853 sni dns.google.com
tls upstream 8.8.4.4 853 sni dns.google.com
tls upstream 1.1.1.1 853 sni cloudflare-dns.com
tls upstream 1.0.0.1 853 sni cloudflare-dns.com
tls upstream 176.103.130.130 853 sni dns.adguard.com
tls upstream 176.103.130.131 853 sni dns.adguard.com
tls upstream 9.9.9.9 853 sni dns.quad9.net
https upstream https://cloudflare-dns.com/dns-query dnsm
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

2020-07-27_21-28-16.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
 

image.png

image.png

image.png

image.png

  • Thanks 5
  • Upvote 1

Share this post


Link to post
Share on other sites
  • 0

Пожалуйста, подскажите: в настоящий момент можно ограничить работу DoT/DoH каким-то отдельным сегментом? То есть я хочу, чтобы в Home устройства резолвились только через DoT, а в Guest — только через провайдерские сервера. Или я слишком губу раскатал?

P. S. Да, можно прописать в настройках DHCP для сегмента сервера провайдера, но по IPv6 link-local все равно работает DoT/DoH (во всех сегментах), а он клиентскими устройствами с IPv6 выбирается как приоритетный.

Share this post


Link to post
Share on other sites
  • 0

При добавлении серверов DoT получаю такое сообщение:

Quote
Сен 26 23:06:07
 
ndm
Dns::Secure::ManagerDot: DNS-over-TLS name server 185.228.169.9:853 added.
Сен 26 23:06:07
 
ndm
Dns::Secure::ManagerDot: invalid DNS-over-TLS server SNI: dns.google.
Сен 26 23:06:07
 
ndm
Dns::Secure::ManagerDot: invalid DNS-over-TLS server SNI: dns.google.
Сен 26 23:06:07
 
ndm
Dns::Secure::ManagerDot: invalid DNS-over-TLS server SNI: dns.quad9.net.

Если указать Доменное имя TLS dns.google.com, то Гугл серверы добавляются,

Quote
Сен 27 00:06:23
 
ndm
Dns::Secure::ManagerDot: DNS-over-TLS name server 8.8.8.8:853 added.
Сен 27 00:06:23
 
ndm
Dns::Secure::ManagerDot: DNS-over-TLS name server 8.8.4.4:853 added.

а quad9 я не понял как заставить работать.
Все это на Ultra 1810, 3.1

Share this post


Link to post
Share on other sites
  • 0
В 23.09.2019 в 15:13, WMac сказал:

А что насчет ESNI?

А что насчет ESNI?

Там даже стандарта еще вменяемого нет - то им в _esni@TXT пихайте публичный ключ, то уже в IN ESNI...

Пусть сперва выйдет хоть что-то типа RFC или хотя бы дефакто будет поддержка сразу и в Chrome, и в Firefox.

  • Thanks 1
  • Upvote 1

Share this post


Link to post
Share on other sites
  • 0

@enpa, возможно стоит перенести из английской версии статьи про DoT/DoH в русскую уточнение про флаг ESNI в чекере Cloudflare?

The Encrypted SNI (ESNI) feature must be enabled in the browser itself to pass the test on that page.

Сейчас не совсем понятно из русской статьи, что резолвер в кинетике проверку ESNI не обеспечивает на той странице. Это уж не говоря про особенности браузеров. В Firefox, например, ESNI не будет задействовано без работы через встроенный DoH-резолвер и включенной опции в about:config. И только на тех сайтах, что добавили TXT-запись с публичным ключом к поддомену _esni (на эту тему есть тикет в баг-трекере Мозиллы — https://bugzilla.mozilla.org/show_bug.cgi?id=1500289).

Edited by rustrict
  • Thanks 1

Share this post


Link to post
Share on other sites
  • 0

ESNI не панацея... 

https://habr.com/ru/post/468603/        // заголовок слишком громкий...

В комментах отписались, что  "провайдерские DPI уже если не видят в TLS-хендшейке имени хоста (как это происходит и в случае с eSNI), сразу рвут соединение. И не исключено, что рано или поздно РКНом или провайдерами просто будет заявлено «Хотите, чтобы все работало — отключайте eSNI. А не хотите — как хотите».

Share this post


Link to post
Share on other sites
  • 0

@rustrict а есть смысл? Данное расширение TLS выглядит как "костыль", который толком нигде не применяется на постоянной основе. Поэтому мы его не описываем в статье, нужен RFC для начала, как уточнил выше @Le ecureuil

Подождем, когда его "включит" Mozilla, тогда можно будет упомянуть eSNI.

Share this post


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

@rustrict а есть смысл? Данное расширение TLS выглядит как "костыль", который толком нигде не применяется на постоянной основе. Поэтому мы его не описываем в статье, нужен RFC для начала, как уточнил выше @Le ecureuil

Подождем, когда его "включит" Mozilla, тогда можно будет упомянуть eSNI.

Это не была реклама ESNI :)

Мне казалось, что пользователей будет смущать "x" в том тесте после настройки. Видимо, вы правы, текущего текста достаточно.

Share this post


Link to post
Share on other sites
  • 0

Интересно, а почему для DoT решили сделать настройку с IP и SNI, а не использовать только URL с bootstrap'ом через указанные/полученные name-servers или через встроенный список, если "из коробки"? Почему не сделали по аналогии с DoH? Ведь так, кажется, гибче.

Share this post


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

Интересно, а почему для DoT решили сделать настройку с IP и SNI, а не использовать только URL с bootstrap'ом через указанные/полученные name-servers или через встроенный список, если "из коробки"? Почему не сделали по аналогии с DoH? Ведь так, кажется, гибче.

Вроде url тоже работает. 

  • Thanks 1

Share this post


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

Вроде url тоже работает. 

Действительно. Супер.

Share this post


Link to post
Share on other sites
  • 0

Заметил, что начиная с версии 3.3 Alpha 7 начал отваливаться DNS Гугла, примерно через 2 дня после перезагрузки роутера. В субботу через 3 часа после выхода. установил Alpha 8 и сегодня в понедельник утром заметил что DNS Гугла опять нет. Проверяю здесь.

Настройки такие:

----DoH----
DNS Message:
https://1.0.0.1/dns-query
https://dns.google/dns-query

При этом Cloudflare продолжает работать.

DNS Servers

                      Ip   Port  R.Sent  A.Rcvd  NX.Rcvd  Med.Resp  Avg.Resp  Rank  
               127.0.0.1  40508    2401    2209      137       9ms      76ms    10  
               127.0.0.1  40509    3299    3123      110     253ms     220ms     4  

              proxy-safe: 


             proxy-https: 
             server-https: 
                          uri: https://1.0.0.1/dns-query
                       format: dnsm
                         spki: 
                    interface: GigabitEthernet1

             server-https: 
                          uri: https://dns.google/dns-query
                       format: dnsm
                         spki: 
                    interface: GigabitEthernet1
Время отклика очень большое может это связано с этим хотя не думаю. Команды bantime больше нет.

Share this post


Link to post
Share on other sites
  • 0

Они оба используются, но тот, кто быстрее отвечает - от того ответ вам и пересылают. Вот и выглядит так, что google отвалился, хотя по факту он просто стал медленнее и его ответы игнорируются.

  • Thanks 1
  • Upvote 1

Share this post


Link to post
Share on other sites
  • 0

Попутный вопрос. Если включён DoT/DoH, что происходит с "проходящими" DNS запросами? Если пропускаются, то можно ли завернуть из на DoT/DoH резолвер Кинетика?

Share this post


Link to post
Share on other sites
  • 0
59 минут назад, Alex M. Jake сказал:

Попутный вопрос. Если включён DoT/DoH, что происходит с "проходящими" DNS запросами? Если пропускаются, то можно ли завернуть из на DoT/DoH резолвер Кинетика?

Да. Нужно активировать Интернет-фильтр AdGuard и выбрать в нем без фильтации (или что-то подобное). И всё транзитные обращения на 53 должны будет заворачиваться на DoH/DoT.

Edited by keenet07

Share this post


Link to post
Share on other sites
  • 0

Всем привет, я правильно понимаю, если прописать DOT/DOH, можно не удалять DNS от провайдера в интернет соединении? они будут просто отключены, правильно?

Share this post


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

Всем привет, я правильно понимаю, если прописать DOT/DOH, можно не удалять DNS от провайдера в интернет соединении? они будут просто отключены, правильно?

Цитата:

Цитата

Важно! При включении протокола DoT/DoH все DNS-запросы будут направляться на указанный при настройке адрес сервера. Полученные ранее DNS-сервера от вашего интернет-провайдера и прописанные вручную DNS-сервера использоваться не будут.

Статья для чтения.

Share this post


Link to post
Share on other sites
  • 0

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

Edited by keenet07

Share this post


Link to post
Share on other sites
  • 0

Непонятно как активные соединения обновляются. 

Иногда что то проскакивает на 53й

Но обычно одна строка: 

Keenetic_Start (KMTN)
ххх,ххх,ххх,ххх
 
 
:58172
8.8.4.4
TCP/443

или

:53025
1.0.0.1
UDP/53
:51499
8.8.4.4
UDP/53

 

Что это вообще :)

1233.png

Edited by Татьяна Любимцева

Share this post


Link to post
Share on other sites
  • 0

Такого быть не должно. Вероятно вы смотрите не тот интерфейс в Активных соединениях. Когда активирован DOH других запросов инициированных роутером по 53 быть не должно. Поэтому могу предположить, что это у вас либо интерфейс ПК за натом, либо мобильника которые отправляют прямые обращения на гугл DNS в открытом виде. Чтобы такого не происходило нужно установить Интернет-фильтр AdGuard и он будет заворачивать все запросы на DNS роутера.

Edited by keenet07

Share this post


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

Такого быть не должно. Вероятно вы смотрите не тот интерфейс в Активных соединениях. Когда активирован DOH других запросов с роутера по 53 быть не должно. Поэтому могу предположить, что это у вас либо интерфейс ПК за натом, либо мобильника которые отправляют прямые обращения на гугл DNS в открытом виде. Чтобы такого не происходило нужно установить Интернет-фильтр AdGuard и он будет заворачивать все запросы на DNS роутера.

@Татьяна Любимцева

Там bootstrap идет через plain dns гугла что бы сам doh сервер отрезолвить в ip.

Edited by r13

Share this post


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

Там bootstrap идет через plain dns гугла что бы сам doh сервер отрезолвить в ip.

Точно. Скорее всего. ) Я сам только на DOT у меня этого не требуется. )

Edited by keenet07

Share this post


Link to post
Share on other sites
  • 0

У меня тоже DoH и все запросы идут через 443 порт.  А в разделе "Серверы DNS" у вас пусто?

Share this post


Link to post
Share on other sites
  • 0
4 минуты назад, Татьяна Любимцева сказал:

Пусто. А настройки то правильные у меня?

Если нет специфических требований, настраивайте DNS-over-TLS он и в настройке проще, и менее ресурсоемкий.

Share this post


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

Если нет специфических требований, настраивайте DNS-over-TLS он и в настройке проще, и менее ресурсоемкий.

и более безопасный.

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...