Dns vs dnscrypt-proxy

кто разбирается в dns И в dnscrypt-proxy

C:\Squid\3_5_28\var\log\squid>nslookup vk.com
Server: 127.0.0.1
Address: 127.0.0.1#53

*** Can’t find vk.com: No answer

C:\Squid\3_5_28\var\log\squid>nslookup vk.com 9.9.9.9
Server: 9.9.9.9
Address: 9.9.9.9#53

Non-authoritative answer:
Name: vk.com
Address: 87.240.132.72
Name: vk.com
Address: 87.240.137.164
Name: vk.com
Address: 93.186.225.194
Name: vk.com
Address: 87.240.132.67
Name: vk.com
Address: 87.240.132.78
Name: vk.com
Address: 87.240.129.133

причем на сам vk.com dnscrypt-proxy не ругается. в вот на поддомены уже да

[2024-04-18 05:32:39] 127.0.0.1 st1-17.vk.com A SERVFAIL 44ms sth-dnscrypt-se-ipv6
[2024-04-18 05:32:39] 127.0.0.1 st1-17.vk.com AAAA SERVFAIL 49ms sth-dnscrypt-se
[2024-04-18 05:33:03] 127.0.0.1 vk.com A PASS 55ms sth-dnscrypt-se-ipv6
[2024-04-18 05:33:03] 127.0.0.1 vk.com AAAA PASS 59ms sth-dnscrypt-se

127.0.0.1 dnscrypt-proxy, 127.0.2.1 tor dns resolver

C:\Squid\3_5_28\var\log\squid>nslookup variations.brave.com
Server: 127.0.0.1
Address: 127.0.0.1#53

*** Can’t find variations.brave.com: No answer

C:\Squid\3_5_28\var\log\squid>nslookup variations.brave.com 127.0.2.1
Server: 127.0.2.1
Address: 127.0.2.1#53

Non-authoritative answer:
Name: variations.brave.com
Address: 3.164.230.42
Name: variations.brave.com
Address: 2600:9000:272c:5c00:15:85fe:56c0:93a1

===

C:\Squid\3_5_28\var\log\squid>nslookup i.stack.imgur.com
Server: 127.0.0.1
Address: 127.0.0.1#53

*** Can’t find i.stack.imgur.com: No answer

C:\Squid\3_5_28\var\log\squid>nslookup i.stack.imgur.com 127.0.2.1
Server: 127.0.2.1
Address: 127.0.2.1#53

Non-authoritative answer:
Name: i.stack.imgur.com
Address: 151.101.84.193
** server can’t find i.stack.imgur.com: NXDOMAIN

У меня например dnscrypt-proxy как раз слушает 127.0.2.1 через systemd socket. Какая конфигурация listen у dnscrypt? 127.0.0.1:53 точно слушается?

Возможно конкретный сервер не хочет “дружить с vk”.
Проверил, dnscrypt корректно отдает с других серверов:

[2024-04-18 12:39:20]   127.0.0.1       vk.com  A       PASS    35ms    nextdns
[2024-04-18 12:39:20]   127.0.0.1       vk.com  AAAA    SYNTH   0ms     -
[2024-04-18 12:39:20]   127.0.0.1       vk.com  MX      PASS    20ms    cs-finland
[2024-04-18 12:39:23]   127.0.0.1       st1-17.vk.com   A       PASS    34ms    cs-finland
[2024-04-18 12:39:23]   127.0.0.1       sun1-17.userapi.com     AAAA    SYNTH   0ms     -
[2024-04-18 12:39:23]   127.0.0.1       sun1-17.userapi.com     MX      PASS    35ms    dct-ru

sudo ss -lp 'sport = :53'
This command can tell you who is listening on port 53.

посмотрел на ubuntu
там другие сервера тоже ресолвят
убрал “бракованые” и все заработало
первый раз у меня такое. вот тебе и "авто"выбор серверов (у меня включены ipv4 + ipv6 + doh)

[2024-04-18 13:06:56] 127.0.0.1 vk.com A PASS 281ms uncensoreddns-dk-ipv4

# dig @127.0.0.1 vk.com A +noall +answer
vk.com.                 2394    IN      A       87.240.129.133
vk.com.                 2394    IN      A       87.240.132.72
vk.com.                 2394    IN      A       87.240.132.67
vk.com.                 2394    IN      A       87.240.132.78
vk.com.                 2394    IN      A       87.240.137.164
vk.com.                 2394    IN      A       93.186.225.194

Поэтому тут

я рекомендовал использовать другой stub resolver с настроенным Forwarder Concurrency. У меня sth-dnscrypt-se используется, но его ответ NXDOMAIN/SERVFAIL игнорируется.

да есть TOR днс и чтото вроде unbound как резервные.
но привык к одному GUI GitHub - instantsc/SimpleDnsCrypt: A simple management tool for dnscrypt-proxy
если будут часто проблемы то придется смотреть на замену

TOR днс медленный и рекомендую его использовать только как форвардер Conditional Forwarder Zone для onion зоны.

поставил что рекомендовано
пока толком не настраивал только 9.9.9.9 через DNS-over-TLS
буду теперь внимательней с логами
а то полночи мучал squid с кучей правил (ip + domains) или напрямую или через VPN и не мог понять почему vk.com не работает
и только потом заметил что curl через squid выдает DNS errror
вот про подставу от dnscrypt даже не подумал. надеялся что оно или работает “как надо” или не работает. а оно …

2024.04.18/13:14:09 908475 127.0.0.1 TCP_TUNNEL/200 2593449 CONNECT st1-17.vk.com:443 HIER_DIRECT/st1-17.vk.com\95.142.204.180 -
2024.04.18/13:38:38 254 127.0.0.1 TCP_TUNNEL/200 4048 CONNECT vk.com:443 FIRSTUP_PARENT/kaluga\62.148.159.189 -
2024.04.18/13:38:53 1010 127.0.0.1 TCP_TUNNEL/200 3996 CONNECT m.vk.com:443 FIRSTUP_PARENT/Privoxy\127.0.0.1 -

privoxy стоит для http->socks5 VPN чтобы весь трафик через ВПН не гонять

Можете добавить Block List URLs:

https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
https://big.oisd.nl/

Но придётся вручную добавлять разрешённые домены, если что-то перестанет работать (например, api.nuget.org).

не. у меня на каждом браузере свои ublock + umatrix
сейчас основные brave (нравиться почему то больше chrome) + firefox ESR
c DNS еще в чем гимор у меня…

  1. adguard vpn настройки ДНС нужны. хотя можно и 127.0.0.1 прописать
  2. squid основной 127.0.0.1 + теперь вот и резервный DNS 127.0.3.1
  3. в каждом браузере оно по дефолту лезло на DoH == отключил чтобы видеть что хоть ресолвится и зачем
    провайдеру РосТелеком в РФ как то совсем доверия нету в этом плане

Помимо брузера есть другое спамящее/следящее ПО. Так, у меня 28% запросов блокируются. Ещё можно поставить плагин NX Domain с конфигом:

Настройка bogon фильтра
{
	"enableBlocking": true,
	"allowTxtBlockingReport": false,
	"blocked": [
		"10.in-addr.arpa",

		"64.100.in-addr.arpa",
		"65.100.in-addr.arpa",
		"66.100.in-addr.arpa",
		"67.100.in-addr.arpa",
		"68.100.in-addr.arpa",
		"69.100.in-addr.arpa",
		"70.100.in-addr.arpa",
		"71.100.in-addr.arpa",
		"72.100.in-addr.arpa",
		"73.100.in-addr.arpa",
		"74.100.in-addr.arpa",
		"75.100.in-addr.arpa",
		"76.100.in-addr.arpa",
		"77.100.in-addr.arpa",
		"78.100.in-addr.arpa",
		"79.100.in-addr.arpa",
		"80.100.in-addr.arpa",
		"81.100.in-addr.arpa",
		"82.100.in-addr.arpa",
		"83.100.in-addr.arpa",
		"84.100.in-addr.arpa",
		"85.100.in-addr.arpa",
		"86.100.in-addr.arpa",
		"87.100.in-addr.arpa",
		"88.100.in-addr.arpa",
		"89.100.in-addr.arpa",
		"90.100.in-addr.arpa",
		"91.100.in-addr.arpa",
		"92.100.in-addr.arpa",
		"93.100.in-addr.arpa",
		"94.100.in-addr.arpa",
		"95.100.in-addr.arpa",
		"96.100.in-addr.arpa",
		"97.100.in-addr.arpa",
		"98.100.in-addr.arpa",
		"99.100.in-addr.arpa",
		"100.100.in-addr.arpa",
		"101.100.in-addr.arpa",
		"102.100.in-addr.arpa",
		"103.100.in-addr.arpa",
		"104.100.in-addr.arpa",
		"105.100.in-addr.arpa",
		"106.100.in-addr.arpa",
		"107.100.in-addr.arpa",
		"108.100.in-addr.arpa",
		"109.100.in-addr.arpa",
		"110.100.in-addr.arpa",
		"111.100.in-addr.arpa",
		"112.100.in-addr.arpa",
		"113.100.in-addr.arpa",
		"114.100.in-addr.arpa",
		"115.100.in-addr.arpa",
		"116.100.in-addr.arpa",
		"117.100.in-addr.arpa",
		"118.100.in-addr.arpa",
		"119.100.in-addr.arpa",
		"120.100.in-addr.arpa",
		"121.100.in-addr.arpa",
		"122.100.in-addr.arpa",
		"123.100.in-addr.arpa",
		"124.100.in-addr.arpa",
		"125.100.in-addr.arpa",
		"126.100.in-addr.arpa",
		"127.100.in-addr.arpa",

		"254.169.in-addr.arpa",

		"16.172.in-addr.arpa",
		"17.172.in-addr.arpa",
		"18.172.in-addr.arpa",
		"19.172.in-addr.arpa",
		"20.172.in-addr.arpa",
		"21.172.in-addr.arpa",
		"22.172.in-addr.arpa",
		"23.172.in-addr.arpa",
		"24.172.in-addr.arpa",
		"25.172.in-addr.arpa",
		"26.172.in-addr.arpa",
		"27.172.in-addr.arpa",
		"28.172.in-addr.arpa",
		"29.172.in-addr.arpa",
		"30.172.in-addr.arpa",
		"31.172.in-addr.arpa",

		"0.0.192.in-addr.arpa",

		"2.0.192.in-addr.arpa",

		"99.88.192.in-addr.arpa",

		"168.192.in-addr.arpa",

		"18.198.in-addr.arpa",
		"19.198.in-addr.arpa",

		"100.51.198.in-addr.arpa",

		"113.0.203.in-addr.arpa",

		"0.252.233.in-addr.arpa",

		"240.in-addr.arpa",
		"241.in-addr.arpa",
		"242.in-addr.arpa",
		"243.in-addr.arpa",
		"244.in-addr.arpa",
		"245.in-addr.arpa",
		"246.in-addr.arpa",
		"247.in-addr.arpa",
		"248.in-addr.arpa",
		"249.in-addr.arpa",
		"250.in-addr.arpa",
		"251.in-addr.arpa",
		"252.in-addr.arpa",
		"253.in-addr.arpa",
		"254.in-addr.arpa",

		"0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa",

		"0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.b.9.f.f.4.6.0.0.ip6.arpa",

		"1.0.0.0.b.9.f.f.4.6.0.0.ip6.arpa",

		"f.f.f.f.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa",

		"0.0.0.0.f.f.f.f.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa",

		"0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.ip6.arpa",

		"1.0.0.2.ip6.arpa",

		"2.0.0.2.ip6.arpa",

		"c.f.ip6.arpa",
		"d.f.ip6.arpa",

		"8.e.f.ip6.arpa",
		"9.e.f.ip6.arpa",
		"a.e.f.ip6.arpa",
		"b.e.f.ip6.arpa",
	]
}

нашел в конфиге dnscrypt-proxy

# p2 (randomly choose between the top 2 fastest servers)
# ph (randomly choose between the top fastest half of all servers)
lb_strategy = "ph"
lb_estimator = true

и пришлось все 3и вносить в список
disabled_server_names = [“sth-doh-se”, “sth-dnscrypt-se-ipv6”, “sth-dnscrypt-se”]