Как проверить ech

А,вот оно как тогда понятно

попытался настроить Firefox ESR + dnscrypt-proxy (DoH)
https://github.com/DNSCrypt/dnscrypt-proxy/wiki/Local-DoH

https://tls-ech.dev/
https://defo.ie/ech-check.php
https://encryptedsni.com/cdn-cgi/trace

тот же сертификат подсунул в Technitum DNS тоже всё работает

Спойлер

doggo @https://127.0.3.1/dns-query --time A AAAA translate.yandex.net

NAME                    TYPE    CLASS   TTL     ADDRESS         NAMESERVER                      TIME TAKEN
translate.yandex.net.   A       IN      192s    213.180.204.194 https://127.0.3.1/dns-query     133ms
translate.yandex.net.   AAAA    IN      62s     2a02:6b8::194   https://127.0.3.1/dns-query     126ms

только не забывать все домены прописать

mkcert localhost 127.0.0.1 127.0.3.1 ::1 192.168.1.111 192.168.0.111 fe80::111
openssl pkcs12 -export -out “127.pfx” -inkey “localhost+6-key.pem” -in “localhost+6.pem”

Какие то бесполезные телодвижения.
В Firefox ECH работать с любым шифрованным днс. Причем он должен быть прописан /выбран даже не в самом браузере.

Но ECH не заработает если cloudflare-ech.com не в прокси. Домен в блоке, рукопожатия нет.

А для браузеров на хромиуме нужно обязательно указание шифрованного днс внутри настроек браузера.

ECH как-то рандомно выскакивает при заходе на трекеры, чаще по их доменам заходит.
Пробовал отрубать ECH на роутере
echo ‘filter-rr=HTTPS’ >> /etc/dnsmasq.conf && service dnsmasq restart
Тогда некоторые сайты и отдельные страницы долго открываются, вероятно требуют ECH по умолчанию.

  1. mkcert -CAROOT
  2. openssl pkcs12 -export -out “rootCA.pfx” -inkey “rootCA-key.pem” -in “rootCA.pem”
  3. C:\Program Files\SimpleDNSCrypt\dnscrypt-proxy
  4. mkcert localhost 127.0.0.1 127.0.3.1 ::1 192.168.1.111 192.168.0.111 fe80::111
  5. openssl pkcs12 -export -out “127.pfx” -inkey “localhost+5-key.pem” -in “localhost+5.pem”
  6. firefox импорт rootCA.pfx в центры сертификации. 127.pfx в “ваши сертификаты”
Спойлер

Самоподписная хрень не катит.

Забавно, из всех этих сайтов только 1 показывает что ECH работает

Согласно curl с поддержкой ech и dns-check эти адреса анонсируют в dns о поддержке ech и соединяются по ech. За исключением cloudflare, который сам работает без ech, но отправляет ech запрос после нажатия кнопки “проверить” на https://encryptedsni.com/cdn-cgi/trace Также он поддерживает http3 + ech.

Верно. За исключением кажется хромобраузеров в win11, андроиде и линуксе. Но там отсутствие doh в браузере тоже на 100% не гарантирует работу ech.

На 11й все тоже самое.
На Андроиде аналогично.

Сегодня от ECH толку немного ведь, учитывая то количество ресурсов у которых активирована поддержка шифрования SNI… Если вы заходите на ютуб, то ваш SNI всё также открыт…

У меня ситуация прямо противоположная. В Хроме/Эдже выбрал поставщика по умолчанию (в Хроме - на уровне ОС) и все работает.
Лисе же надо обязательно в Максимальной защите указать ссылку DoH

Потому что у них по умолчанию поставщик Google DoH.

Лисе конечно нужен doh. H2/H3/Quic. В принципе условие для ech это doh DNS.

На уровне ОС у меня прописан не Гугл

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

ECH скопирован из

dig -t https encryptedsni.com. +short
1 . alpn="h3,h2" ipv4hint=104.22.72.170,104.22.73.170,172.67.13.180 ech=AEX+DQBB5QAgACA8/3/Ty9wpkk/RF53DzZdUCaaiKOvMColhQ/B3jb41JAAEAAEAAQASY2xvdWRmbGFyZS1lY2guY29tAAA=
gocurl --ech --echgrease -x "" -6 -v --echconfig "AEX+DQBB5QAgACA8/3/Ty9wpkk/RF53DzZdUCaaiKOvMColhQ/B3jb41JAAEAAEAAQASY2xvdWRmbGFyZS1lY2guY29tAAA=" https://crypto.cloudflare.com/cdn-cgi/trace

Attempting to establish a TLS connection
Resolving ECH configuration for crypto.cloudflare.com
Return pre-configured ECH configuration for crypto.cloudflare.com
Starting TLS handshake
TLS connection has been established successfully

h=crypto.cloudflare.com
ip=2a00:62c0:
visit_scheme=https
uag=gocurl/v1.4.9
colo=DME
http=http/1.1
loc=RU
tls=TLSv1.3
sni=encrypted
kex=X25519

p.s. ростелеком

Спойлер

–http3

Connecting to udp://[2606:4700:7::a29f:884f]:443
Failed to make request: CRYPTO_ERROR 0x128 (remote): tls: handshake failure

-4 (ipv4)

Connecting to tcp://162.159.135.79:443
Attempting to establish a TLS connection
Resolving ECH configuration for crypto.cloudflare.com
Return pre-configured ECH configuration for crypto.cloudflare.com
Starting TLS handshake
Failed to make request: read tcp 192.168.1.111:13313->162.159.135.79:443: wsarecv: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.