Я вижу Вы специалист по утилите. Можете сюда или в личку скинуть свой dnscrypt-proxy.toml с настройками? Интересуют и настройки, и список избранных серверов.
Проверял
Забыл добавить. Проверять надо бы в Wireshark, виден ли там SNI. Сайт проверки это ненадёжно.
Ссылку с примером выше скидывал. Избранные сервера меняются со временем (я себе настроил от разных администраторов в разных странах). Все настройки с описаниями можно глянуть в example-dnscrypt-proxy.toml (его же можно и запустить без изменений).
В утилите можно установить определенный список избранных серверов
Конечно. Нужно в dnscrypt-proxy.toml указать их имена:
server_names = ['cloudflare', 'google']
взятые из public-resolvers.md.
Прочитал, но так и не понял, как установить и настроить Technitium DNS Server и соединить с dnscrypt-proxy.
у меня много браузеров (firefox, firefox ESR, brave, maxthon) для разных целей
поэтому лично мне проще/удобней dnscrypt-proxy (+как резерв Technitium DNS с 10 разными серверами)
Спойлер
dns.quad9.net (9.9.9.9:853)
dns.quad9.net (149.112.112.112:853)
dns.adguard-dns.com (94.140.14.14:853)
dns.adguard-dns.com (94.140.15.15:853)
dns.opendns.com (208.67.222.222:853)
dns.opendns.com (208.67.220.220:853)
dns.google ([2001:4860:4860::8888]:853)
dns.google ([2001:4860:4860::8844]:853)
cloudflare-dns.com ([2606:4700:4700::1111]:853)
cloudflare-dns.com ([2606:4700:4700::1001]:853)
мне DoH не нравится
- 1 “сервер”
- много блокировок по IP стало. банят сразу “сеть”/хостера
- у многих были проблемы с SNI. и как раз с ESNI cloudflare Обсуждение: Блокировка (замедление) ECH Cloudflare
- если и есть кэш то работает только для 1 браузера
p.s. в dnscrypt-proxy тоже встроено много DoH. хотя у меня обычно отключено по личным предпочтениям
ipv4_servers = true
ipv6_servers = true
doh_servers = false
Скачать с сайта архив, распаковать инсталятор и запустить его двойным кликом левой кнопки мыши. По умолчанию он будет работать как рекурсивный резолвер.
Необходимо добавить форвардеры как написано в сообщении.
про Technitium DNS
решает каждый сам.
но я включил
+Enable Concurrent Forwarding
+Forwarder Concurrency 10 (valid range 1-10; default 2)
p.s.
а еще
+Forwarder Protocol DNS-over-TLS (это где по дефолту :853)
если уж Ростелеком будет блочить/перенаправлять все dns/53-udp
сейчас они вроде только AdGuard DNS блочат. по DoH/SNI или даже по IP гдето
У меня нет в утилите тех кусков кода, которые Вы там скопировали. В общем, для новичка это темный лес. Нужна инструкция со скриншотами настройки и объединения двух утилит. Иначе лично у меня не получается настроить. Я не айтишник.
Использую dnscrypt как запасной, основной - unbound с DoT-forwarders.
Конфигурация dnscrypt зависит от версии, даже при переходе 2.0.х и 2.1.х приходится править конфиги, тот же параметр bootstrap_resolvers вместо fallback_resolver.
Имеет, замени им клоудфлаер. А сам dnscrypt покрой tls
ECH врубал ток через конфиг файл. раньше использовал гуи, потом забил.
Спойлер
в файле dnscrypt-proxy.toml раздел Local DoH server
и раскоментировать четыре строки
listen_addresses = [‘127.0.0.1:3000’]
path = ‘/dns-query’
cert_file = ‘localhost.pem’
cert_key_file = ‘localhost.pem’
локал doh будет вертеться на адресе https://127.0.0.1:3000/dns-query
На примере Дом.ру:
Резолвим что-то заблокированное через публичный plain-text DNS:
nslookup navalny.com 8.8.8.8
Получаем IP-адрес. Пробиваем через WHOIS, кому он принадлежит. Он принадлежит Дом.ру.
Либо сайт Навального хостится у Дом.ру, что неверноятно, либо Дом.ру просто берёт и весь трафик по 53 порту заворачивает на свой резолвер, который домены, к которым должен ограничиваться доступ, резолвит в “левый” адрес. Запрос до DNS Гугла даже не дошёл.
В этом и заключается недостаток протокола DNS - спрашивали один резолвер, а вместо него ответил вообще другой. Позже для решения этой проблемы к протоколу прикрутили костыль в виде DNSSEC, но он не то, чтобы “взлетел”.
Что касается DNSCrypt, то нужно разделять протокол и эталонный клиент (dnscrypt-proxy). Протокол использовать нет смысла. Он свою роль сыграл - это была первая ласточка в шифровании DNS. Затем пояаились DoH и DoT, которые получили статус стандартов. Кроме того, протокол DNSCrypt стороннему наблюдателю намного легче обнаружить и заблокироать, чем DoH.
Клиент dnscrypt-proxy использовать, может, и имеет смысл (он поддерживает DoH/DoT в том числе), например, он позволяет прикручивать списки доменов, которые запрещено резолвить, тем самым, можно бороться с рекламой. Но с тем же успехом, например, можно использовать AdGuard Home. То есть, использовать если и имеет смысл, то именно ПО, а не протокол.
Если просто нужно шифровать DNS-трафик. используйте DoH, поддержка которого есть и в браузерах, и в современных операционных системах.
Протокол использовать нет смысла
Разве что может быть меньше задержка, т.к. протокол dnscrypt по умолчанию использут udp, а DoH tcp (за исключением dns over quic, кстати dnscrypt клиент и такое поддерживает). Но это надо разбираться и насколько критична первая задержка (остальные запросы могут кэшироваться).
протокол DNSCrypt стороннему наблюдателю намного легче обнаружить и заблокироать, чем DoH
Ирония в том, что когда на йоте кончились деньги dnscrypt запросы проходили. Т.к. маленькие и udp (подтверждение протокола не требовали). Но тогда dnscrypt специально не блокировали. Впрочем, может и обычный dns работал, но DoH врядли.
В общем, dnscrypt протокол вроде как нестандарт и легче детектится (например, в пакетах видны сертификаты dnscrypt серверов). DoH выглядит как https, но публичные сервисы у всех на виду и могут быть заблокированы по IP. Малопопулярные custom решения интересны в обоих случаях, разве что dnscrypt udp не переживёт белые списки протоколов.
Это не аргумент против DoH, т.к. публичные сервисы DNSCrypt тоже у всех на виду и зачастую все эти публичные DNS лежат буквально на одной странице.
DoH там тоже лежат.
Кстати, если dns сервисы заблокируют по SNI, может помочь zapret? Как с ECH.
Почему бы и нет, там же DNS-over-HTTPS, т.е. сначала устанавливается HTTPS-соединение, тут-то zapret и поможет.
А есть смысл на ПК объединять как выше писали dnscrypt-proxy и Technitium DNS? Или несколько серверов в dnscrypt-proxy вполне достаточно с Запретом?
Кстати, есть смысл вместо избранных серверов использовать ДНС штампы?
может быть меньше задержка, т.к. протокол dnscrypt по умолчанию использует udp
С другой стороны, есть ещё такая вещь, если вы постоянно пользуетесь udp based vpn, то udp over udp не очень хорошая идея, я так считаю, в плане скорости. Хотя, в dns размеры пакетов маленькие и может быть некритично. Но кстати, dnscrypt протокол может работать по tcp, вроде как.
Чем мне не нравится DoH в браузере, судя по wireshark, браузер часто держит соединение с ним. У меня же Brave с отрезанными крыльями вообще молчит, это приятно. И DoH запросы выбиваются из этого блаженства. Впрочем, если у вас браузеры стучат налево и направо, как и система, то вы тишину не оцените.
Да, как и в обычном DNS если размер дейтаграммы превышает MaxDNSUDPPacketSize
то подключение идёт по TCP, иначе дейтаграмма фрагментируется.
Можно попробовать в аргументы командной строки запуска chromium-based браузера добавить --disable-background-networking --disable-component-extensions-with-background-pages --dns-prefetch-disable
.