# wtf cf-hls-media.sndcdn.comcf-hls-media.sndcdn.com is an alias for d1ws1c3tu8ejje.cloudfront.net.d1ws1c3tu8ejje.cloudfront.net has address 13.33.240.123 13.33.240.123 заблокирован
С в очередной раз замолчавшего радио и начался тот день, когда я допилил DNS-over-HTTPS сервер для облегчения фантомных болей от творчества Роскомнадзора.
Боли эти хорошо описаны @ValdikSS в статье В России сохраняются проблемы с доступностью сайтов, но никто их не замечает.
Думать особо не приходится, суть проблем проста и решение тоже не очень сложно: достаточно выкидывать из DNS ответов заблокированные IP адреса а, если адресов не осталось, заменять их на подходящие адреса с того же CDN. Такое издевательство над DNS позволяют как минимум Cloudflare и Amazon Cloudfront.
Например, если в условном DNS-ответе от AKAMAI пришли адреса
23.1.14.0
и 23.1.20.2
, а первый из них
заблокирован РКН, то в таком случае DNS-сервер может отдать клиенту
только один адрес из двух, и браузер не будет тупить в попытке
установить соединение с заблокированным IP. Это не обход
блокировок, скорее наоборот. Но оно измеримо уменьшает боль. Я был
бы рад такую конструкцию увидеть у Яндекс.DNS в Безопасном режиме,
но всё же не думаю, что Яндекс
готов реализовать такую в меру серую фичу.
Валить в панике из страны? Заворачивать весь трафик в VPN? Зачем! Интернет в России ещё не настолько поломан, чтоб добавлять 50-100ms ко всем своим Zoom-созвонам во времена повсеместной самоизоляции. Можно ещё попытаться что-то починить, да посмеяться над тем, что осталось.
Но хочу предупредить, модель такого DNS-сервера по имени
kabysdoh.gulag.link
запущена на виртуалке в
Санкт-Петербурге, поэтому её использование из других регионов
России может добавить существенную задержку к вашим DNS-запросам.
При наличии архива XML-выгрузок Роскомнадзора, можно взять исходный код с GitHub и
запустить Unbound в подходящей локации. Поддержку Knot Resolver я с
@ValdikSS
допилю в каком-нибудь обозримом будущем.
Мобильные устройства на Android поддерживают DNS-over-TLS,
который доступен по адресу kabysdoh.gulag.link
, а
Mozilla Firefox поддерживает DNS-over-HTTPS по адресу
https://kabysdoh.gulag.link/dns-query
. Скриншоты
примерной конфигурации можно увидеть ниже (про все возможные опции
DoH в Firefox можно прочитать на wiki):
У меня на сегодня всё! Надеюсь, кому-то данная конструкция будет полезна. И помните, once you step into the waters of modifying in-flight DNS messages it seems like crocodiles all the way down.