Получи случайную криптовалюту за регистрацию!

Посмотрел за обедом новое видео от Димы (@johenews). Ролик инт | Техно Шаблон (Осотонел 2)

Посмотрел за обедом новое видео от Димы (@johenews). Ролик интересный, он там поясняет, как развернуть свой DNS-сервер с фильтрацией трафика по DNS (т.е. как порезать рекламу на всех аппаратах в домашней или VPN сети).
https://t.me/johenews/887

Для тех, кто не понимает, о чём речь: DNS - это та штука, которая объясняет вашему компьютеру, что за IP-адрес скрывается за доменным именем сайта, на который вы заходите.
Представьте себе, что в интернете всякие доменные имена вроде ya.ru или mail.ru - это просто ники людей в том же Telegram или ВК. В обоих этих сервисах у вас есть уникальный ID (в случае с сайтом - IP), а за ником, скажем, @osotonel или @shablontech (ya.ru или mail.ru) скрыт определённый ID (IP-адрес). Вот ваш компьютер в душе не чает, кто же такой @osotonel (ya.ru) и потому спрашивает об этом сервер Telegram (DNS-сервер), и тот как-раз объясняет, на какой ресурс (ID или IP-адрес) нужно проследовать, чтобы попасть на него.
Ещё более простой аналог: вот вас друзья в чате попросили что-то в реале передать человеку под ником "Киберкотлета", и вы уточняете "это, бл@ть, кто, Вася или Петя?". Вот такая же история.

На самом деле, это очень упрощённое объяснение, т.к. на одном IP-адресе может располагаться множество сайтов, и как-раз по имени сайта в DNS-запросе вас сервак на том айпишнике и пускает на тот или иной сайт. Да и айпишники нифига не уникальные с той точки зрения, что один внешний айпишник, допустим, внутри сети провайдера, может делить множество устройств в том или ином доме. Но в целом, если не вдаваться в детали, надеюсь, мысль понятна

В своём ролике Дима инструктирует, как развернуть собственный DNS-сервер, используя Unbound, и затем он поясняет, как на уровне DNS блочить запросы на определённые ресурсы (рекламные) при помощи Pi-Hole.

Но сам бы я сделал по-другому. Я не вижу особо много смысла в кэшировании вообще всех DNS-запросов, когда у тебя DNS-сервер пингуется за 2-5 мс. Если бы на уточнение информации у DNS-сервера у тебя тратились бы сотни миллисекунд, это имело бы смысл, но там речь идёт о настолько мизерном выигрыше в скорости, что затея не особо имеет смысл на мой взгляд. В добавок, кэширование DNS-запросов налагает определённые ограничения: у сайта или ресурса может измениться IP-адрес довольно быстро, а в кэше у тебя останется старый.

Я бы сделал чуть иначе: для шифрования DNS-запросов можно использовать DNScrypt. Он поддерживает как DNSCrypt, так и DNS-over-HTTPS. И он может кэшировать DNS-запросы, если вам оно надо (включено по умолчанию в конфиге, cache = true) и, при этом, как мне кажется, по умолчанию он кэширует запросы как-раз в той мере, в какой это ещё имеет смысл (у меня через Pi-Hole показывает, что кэшировано не так уж много, около 20%, т.е. кэшированы наиболее часто запрашиваемые ресурсы).
Провайдер может блокировать DNS-запросы на чужие сервера (этим, например, грешит Акадо в Москве). Но в такой ситуации выручает DNS-over-HTTPS (DoH), который маскирует DNS-запросы под HTTPS трафик и шифрует его. В это умеют и Unbound, и DNSCrypt.

Я вот DNSCrypt использую на своём сервере с VPN (OpenVPN и WireGuard). На всех моих устройствах и устройствах членов моей семьи не показывается реклама на большинстве сайтов как-раз из-за того, что она режется на этапе DNS-запроса.
Вот спрашивает мой телефон "а кто такой азино3ишака", а мой сервак ему "в зеркало посмотри, сам ты ишак, иди туда постучись, никуда больше тебе лезть не надо". Вот так и отфутболиваются запросы к рекламным ресурсам.

Вот вы спросите: нафига мне использовать шифрование DNS-запросов? А нехрен хостингу, у которого я сервак (VDS/VPS) арендую, знать, на какие сайты хожу я и члены моей семьи. Обойдётся, поживёт без этой инфы.