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

У меня со SkyDNS такая ситуация получилась: если просто включить фильтр SkyDNS, то в диагностике помимо запросов к 193.58.251.10:853 видны ещё запросы на UDP 53 к DNS-серверам моего провайдера, что несколько настораживает. Всё ли тут корректно?

А вот если фильтры выключить совсем и прописать 193.58.251.10:853 и dns-s.skydns.ru в DNS-over-TLS, то в диагностике всё нормально - только запросы на сервер SkyDNS и DNS провайдера не фигурируют.

У себя оставил  2 вариант.

Share this post


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

У меня со SkyDNS такая ситуация получилась: если просто включить фильтр SkyDNS, то в диагностике помимо запросов к 193.58.251.10:853 видны ещё запросы на UDP 53 к DNS-серверам моего провайдера, что несколько настораживает. Всё ли тут корректно?

А вот если фильтры выключить совсем и прописать 193.58.251.10:853 и dns-s.skydns.ru в DNS-over-TLS, то в диагностике всё нормально - только запросы на сервер SkyDNS и DNS провайдера не фигурируют.

У себя оставил  2 вариант.

Если у вас нет необходимости задавать различные профили фильтрации для разных устройств в сети, то второй способ вполне приемлем.

При включении фильтра, если вы до этого работали с DNS провайдера его адреса на 53 порт в Активных соединениях исчезают не мгновенно. Нужно немножко подождать, пока они все закроются. Главное, что новые соединения не должны устанавливаться.

Edited by keenet07

Share this post


Link to post
Share on other sites
  • 0

@keenet07 спасибо за информацию. Я ждал какое-то время специально и DNS провайдера то пропадали (один из двух), то появлялись снова (были уже оба). Это меня и смутило. Если ещё буду наблюдать такое, то дам знать.

Share this post


Link to post
Share on other sites
  • 0

@Le ecureuil, в 3.3 Beta 4 стали отваливаться процессы nutdns. Раньше я таких сообщений не видел.

Судя по PID, они сразу перезапускаются. Стоит ли как-то переживать по этому поводу?

Ноя 26 23:24:09 ndm Service: "DoT "System" UDP-to-TCP proxy #1": unexpectedly stopped.
Ноя 27 04:47:24 ndm Service: "DoT "System" UDP-to-TCP proxy #0": unexpectedly stopped.

 

Share this post


Link to post
Share on other sites
  • 0
В 01.08.2019 в 12:50, enpa сказал:

Пример оптимальной настройки, с учетом использования 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 json
https upstream https://dns.google/dns-query dnsm
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

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

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
 

А,что указывать с поле Серверы DNS-over-HTTPS при настройках NextDNS в вэб роутера?  Вариант https://dns.nextdns.io/ХХХХХХ если уйти со страницы и вернуться пропадает. 

Share this post


Link to post
Share on other sites
  • 0

Добрый день, подскажите пожалуйста, могу ли я включить DOH на кинетике 2? не вижу таких компонентов которые в мануале. или только с opkg колдовать?)

Share this post


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

Добрый день, подскажите пожалуйста, могу ли я включить DOH на кинетике 2? не вижу таких компонентов которые в мануале. или только с opkg колдовать?)

Цитата

Начиная с версии KeeneticOS 3.00 была добавлена поддержка протоколов DNS over TLS и DNS over HTTPS.

Для кинетике 2  прошивки 3.0 нет

Share this post


Link to post
Share on other sites
  • 0

Включил у себя DoH, всё завелось. Подскажите, почему Wireshark'ом я до сих пор ловлю DNS query с WAN интерфейса?

 

 

query.jpg

Share this post


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

Включил у себя DoH, всё завелось. Подскажите, почему Wireshark'ом я до сих пор ловлю DNS query с WAN интерфейса?

Потому-что вы включили именно DoH. А адрес сервера там прописан не в виде IP а в виде доменного имени. Для того что-бы DoH заработал ему требуется как-то преобразовать эту ссылку в IP адрес и для этого в его коде жестко прописаны несколько публичных серверов DNS. Именно их работу вы и видите в шарке.

Всё остальное идёт через DoH. (за исключением прямых обращений к DNS на 53 отличных от адреса роутера)

При работе DoT обращения на 53 порт незадействуются.

Edited by keenet07

Share this post


Link to post
Share on other sites
  • 0
В 05.12.2019 в 17:23, keenet07 сказал:

Потому-что вы включили именно DoH. А адрес сервера там прописан не в виде IP а в виде доменного имени. Для того что-бы DoH заработал ему требуется как-то преобразовать эту ссылку в IP адрес и для этого в его коде жестко прописаны несколько публичных серверов DNS. Именно их работу вы и видите в шарке.

Всё остальное идёт через DoH. (за исключением прямых обращений к DNS на 53 отличных от адреса роутера)

При работе DoT обращения на 53 порт незадействуются.

Если сервер DoT задать как fqdn, то будет то же самое :)

Share this post


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

Если сервер DoT задать как fqdn, то будет то же самое :)

Но практика указания для DoT как IP. А DoH везде в виде fqdn. Если DOH указать как IP работать будет? Или там тоже для правильной работы сертификата нужно обращение по fqdn?

Share this post


Link to post
Share on other sites
  • 0
On 12/17/2019 at 7:00 PM, keenet07 said:

Но практика указания для DoT как IP. А DoH везде в виде fqdn. Если DOH указать как IP работать будет? Или там тоже для правильной работы сертификата нужно обращение по fqdn?

1.1.1.1 работать будет и по ИП, 8.8.8.8 пока не работает по ИП и делает редирект на fqdn.

Share this post


Link to post
Share on other sites
  • 0

А подскажите пожалуйста, есть ли какие то ограничения на резолвинг внутренних имен при использовании DoT&DoH?

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

Share this post


Link to post
Share on other sites
  • 0
1 час назад, Станислав Поветьев сказал:

А подскажите пожалуйста, есть ли какие то ограничения на резолвинг внутренних имен при использовании DoT&DoH?

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

Нет таких ограничений, по какой технологии резолвите в локалке?

Share this post


Link to post
Share on other sites
  • 0

Свой DNS сервер, подключаюсь по DOH, кинетик ругается на сертификат, при этом SPKI fingerprint прописан в веб-панели и получен так:

openssl x509 -in cert.pem -pubkey -noout | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64

Пробовал к этому же серверу подключиться фаерфоксовым DOH - работает, но перед этим заходил в FF на https://IP:PORT/dns-query и нажимал, что не боюсь этого серта.

То есть проблема в непризнании сертификата кинетиком при помощи SPKI fingerprint.

Share this post


Link to post
Share on other sites
  • 0

Спасибо, с самоподписанным сертификатом и голым айпи всё ок.

Теперь далее, проба с доменом и настоящим сертификатом.
Тестирую на https://domain.tld:5300/ (dnsm) - firefox с такой настройкой работает, всё ресолвит. Кинетик - нет. В System log кинетика в веб интерфейсе всё зелёненькое, ошибок нет.
Меняю на сервере единственные цифры в конфиге 5300 на 443, урл превращается в https://domain.tld/ - фаерфокс нормально, кинетик тоже работает

Думал, может, кинетик не понимает вообще обозначение порта, изменил урл на https://domain.tl:443/ - кинетик работает так же, как на https://domain.tld/

Куда копать?

Share this post


Link to post
Share on other sites
  • 0

Ни DoH ни DoT не настроены, установлены только компоненты. Что за странные сообщения в журнале?0BAC179C-193D-4464-A7C7-05E688D2AF3F.thumb.jpeg.6b0192d424fc624891de38f2f92d51bc.jpeg

Share this post


Link to post
Share on other sites
  • 0
12 hours ago, Doctor said:

Спасибо, с самоподписанным сертификатом и голым айпи всё ок.

Теперь далее, проба с доменом и настоящим сертификатом.
Тестирую на https://domain.tld:5300/ (dnsm) - firefox с такой настройкой работает, всё ресолвит. Кинетик - нет. В System log кинетика в веб интерфейсе всё зелёненькое, ошибок нет.
Меняю на сервере единственные цифры в конфиге 5300 на 443, урл превращается в https://domain.tld/ - фаерфокс нормально, кинетик тоже работает

Думал, может, кинетик не понимает вообще обозначение порта, изменил урл на https://domain.tl:443/ - кинетик работает так же, как на https://domain.tld/

Куда копать?

В сторону проброса портов?

ip static tcp ISP 5300 192.168.xx.xx 5300 !dnsm

 

Share this post


Link to post
Share on other sites
  • 0
7 hours ago, avn said:

В сторону проброса портов?

Я указанную строку понял, как проброс порта с наружной стороны кинетика в локалку. Верно? Если да, это не тот случай.

Свой днс сервер находится в интернете.

Схема такая - устройства с внутренней стороны кинетика обращаются к нему на 192.168.1.1:53.
далее, кинетик принимает днс запрос с локалки, заворачивает в https и отправляет на удалённый сервер:5300 (так не работает) или сервер:443 (так работает).
Номер порта смущает только кинетик, фф менее капризный, тк с собственной настройкой DOH, работает и так и этак.

Пробовал сменить протокол на обеих сторонах с DOH на DOT, кинетик работает и с сервер:443 и с сервер:5300.

Share this post


Link to post
Share on other sites
  • 0
2 hours ago, rustrict said:

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

Подтверждаю, работает фф и не работает кинетик с https://doh.seby.io:8443/dns-query

Надо составить багрепорт на этот счёт.

  • Thanks 1

Share this post


Link to post
Share on other sites
  • 0
В 17.12.2019 в 19:00, keenet07 сказал:

Но практика указания для DoT как IP. А DoH везде в виде fqdn. Если DOH указать как IP работать будет? Или там тоже для правильной работы сертификата нужно обращение по fqdn?

Нет, поскольку идет валидация сертификатов через список корневых CA.

  • Thanks 1

Share this post


Link to post
Share on other sites
  • 0
В 10.01.2020 в 21:21, Doctor сказал:

Подтверждаю, работает фф и не работает кинетик с https://doh.seby.io:8443/dns-query

Надо составить багрепорт на этот счёт.

Спасибо, багрепорт принят.

Вообще странно, что только что заметили :)

 

Будет исправлено в следующих сборках.

  • Thanks 1

Share this post


Link to post
Share on other sites
  • 0

KN-1010, Версия ОС 3.3.16, включил AdGuard, компоненты DoT/DoH установлены. Почему-то в активных соединениях постоянно идут соединения на 53 порт DNS провайдера. По идее если включен AdGuard и установлены компоненты DoT/DoH, то DNS провайдера должны автоматом игнорироваться, но этого не происходит! Роутер перезагружал. Может надо ещё ручками прописать дополнительно DoT/DoH?

Screenshot_1.jpg

Screenshot_2.jpg

Screenshot_3.jpg

Screenshot_4.jpg

Screenshot_5.jpg

Screenshot_6.jpg

Screenshot_7.jpg

Edited by stefbarinov

Share this post


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

KN-1010, Версия ОС 3.3.16, включил AdGuard, компоненты DoT/DoH установлены. Почему-то в активных соединениях постоянно идут соединения на 53 порт DNS провайдера. По идее если включен AdGuard и установлены компоненты DoT/DoH, то DNS провайдера должны автоматом игнорироваться, но этого не происходит! Роутер перезагружал. Может надо ещё ручками прописать дополнительно DoT/DoH?

Screenshot_1.jpg

Screenshot_2.jpg

Screenshot_3.jpg

Screenshot_4.jpg

Screenshot_5.jpg

Screenshot_6.jpg

Screenshot_7.jpg

Проблема ушла после установки маркера в указанном на скрине чек-боксе! Автоматом не игнорировались!!!

Screenshot_8.jpg

Screenshot_9.jpg

Edited by stefbarinov

Share this post


Link to post
Share on other sites
  • 0
5 часов назад, stefbarinov сказал:

KN-1010, Версия ОС 3.3.16, включил AdGuard, компоненты DoT/DoH установлены. Почему-то в активных соединениях постоянно идут соединения на 53 порт DNS провайдера. По идее если включен AdGuard и установлены компоненты DoT/DoH, то DNS провайдера должны автоматом игнорироваться, но этого не происходит! Роутер перезагружал. Может надо ещё ручками прописать дополнительно DoT/DoH?

Всё нормально. Так и должно быть. Это только служебные запросы на несколько серверов native DNS для резолвинга адресов сервиса AdGuard. Все остальные запросы идут в защищенном виде.

Share this post


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

Всё нормально. Так и должно быть. Это только служебные запросы на несколько серверов native DNS для резолвинга адресов сервиса AdGuard. Все остальные запросы идут в защищенном виде.

Я правильно понимаю, что маркер в чек-боксе "Игнорировать DNS" можно снять?

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