Фильтрация DNS через VPN остановила загрузку сайта: прочитайте ответ
Фильтрующий резолвер может заблокировать одно имя, пока туннель работает. Прочитайте тип ответа, выясните, кому принадлежит резолвер, и измените только то, что контролируете вы.
Одно имя не работает, пока туннель включён, и браузер называет это сетевой ошибкой, хотя настоящая причина — ответ DNS, который вернул резолвер. Фильтрующий резолвер может удержать, отклонить или переписать одно имя и оставить все остальные запросы работающими. Туннель передаёт запрос; резолвер решает, каким будет ответ. Изучите этот ответ, прежде чем трогать настройки шифрования.
Туннель включён, поэтому шифрование не подозреваемый
Состояние соединения говорит, движутся ли пакеты, а не разрешается ли имя. Разрешение — это запрос к тому серверу, с которым настроен клиент, и политика там может ответить одному домену иначе, чем всем остальным. Со стороны браузера все такие ответы сливаются в общую ошибку, поэтому индикатор состояния доказывает так мало.
Сначала запишите три вещи: резолвер, который использовал клиент, код ответа для сбойного имени и тот же запрос для имени, которое должно работать. Спросите резолвер напрямую командой dig example.com @10.20.0.1 и читайте строку состояния, а не сообщение браузера. Если контрольное имя разрешается, а сбойное возвращает ответ политики, доказательство полное. Если не работают оба, фильтр пока не участвует.
Четыре ответа, четыре разных владельца
У фильтрующего резолвера нет единственного способа сказать «нет», и форма отказа указывает на другой следующий шаг. Запишите код ответа, потому что браузер переписывает все четыре во что-то, что звучит как оборванное соединение.
| Answer | What it points at |
|---|---|
| NXDOMAIN | The name is withheld: a policy entry or a zone decision removed it |
| Refused | The resolver declines to answer; usually an access or policy rule |
| Replacement address | A redirect to a block page or sinkhole you can query and inspect |
| No answer at all | Weakest evidence: reachability, load or routing, not necessarily policy |
Сравните ответ с таблицей, прежде чем что-либо приписывать туннелю. Отказ и удержанное имя означают, что резолвер принял решение, тогда как молчание означает, что запрос так и не получил ответа. Эта разница решает, гонитесь ли вы за владельцем политики или за сетевым путём.
Два браузера могут следовать двум политикам
Браузер, который приносит собственный зашифрованный резолвер, не обязан использовать сервер, который выдаёт операционная система, поэтому может игнорировать политику, для которой строился туннель. Тогда два браузера на одной машине расходятся насчёт одного и того же имени хоста, и ни один не сломан. Проверьте, к какому резолверу привязано каждое приложение прежде чем называть фильтр непоследовательным.
Когда оба приложения используют резолвер туннеля и сбоит только одно, разница в приложении, а не в DNS. Запишите адрес резолвера для каждого приложения, потому что эта деталь исчезает, когда окно закрывается.
Меняйте то, чем владеете, эскалируйте то, чем не владеете
Ваш следующий шаг зависит от того, кому принадлежит резолвер, на который вы указываете. Тот, которым управляете вы сами, — это функция, которую можно прочитать и настроить: проверьте документированную опцию фильтрации и её исключения, затем разрешите это единственное имя. Тот, которым управляет работодатель или провайдер, — это заявка с доменом, точным ответом и временем.
Никогда не подменяйте на публичный резолвер, чтобы силой открыть сайт, потому что частные имена перестают разрешаться и намеренная политика перестаёт действовать. Узкое изменение ещё и сохраняет доказательства нетронутыми, чтобы владелец мог сопоставить ваш отчёт со своими записями. После изменения повторите исходный тест приложения, а не запрос из оболочки.
Страница блокировки — не доверенный сертификат
Страница замены, которая предъявляет собственный сертификат, вызовет предупреждение об идентичности HTTPS, и перенаправление не делает этот сертификат действительным. Не нажимайте на неё только потому, что туннель включён; предупреждение — отдельное решение о доверии, и оно всё равно должно быть верным.
Диагноз закрывается, когда сбойное имя возвращает ответ политики, а контрольное имя возвращает обычный через тот же резолвер. В этот момент исправление — изменение политики, а не туннеля, и в отчёте вы цитируете RFC 1035 коды ответа. Держите оба имени и ответы вместе; вот и всё дело.