Почему заблокированный сайт всё ещё загружается после отключения VPN
Сайт, который продолжает работать после закрытия туннеля, показывает, где находилась блокировка. Ответ из кэша помогает только если блокировка применялась к именам.
Сайт был заблокирован, работал пока VPN был подключён, и продолжает работать после отключения VPN. Это небольшая улика о том, где находилась блокировка, а не доказательство того, что туннель остался в силе. Если бы блокировка была на адресе назначения, кэшированное имя не помогло бы, и соединение всё равно бы не устанавливалось. Загрузка страницы вместо этого указывает на разрешение имён. Правильное чтение этой подсказки избавляет от долгого обхода через правила межсетевого экрана.
Есть два места, где может находиться блокировка, и из браузера они выглядят одинаково.
Две блокировки, которые в браузере выглядят одинаково
Блокировка имён происходит при разрешении. Резолвер возвращает неверный адрес, пустой ответ или страницу принудительного портала, и браузер сообщает, что сайт недоступен.
Блокировка адресов происходит позже. Имя разрешается правильно, а пакеты к настоящему адресу отбрасываются, перенаправляются или сбрасываются. Смена резолвера здесь ничего не даёт, потому что сбой начинается после того, как имя уже получило ответ.
Только первый вид может нести кэш, и именно это делает ваше наблюдение полезным.
Почему ответ переживает туннель
Кэши резолвера ключуются по имени и хранятся в течение времени жизни записи. Операционная система держит один, а браузер обычно другой, поэтому одно имя может храниться дважды с двумя разными сроками. Подключение или отключение VPN не очищает ни один из них; оно лишь меняет, какому резолверу отправляются будущие запросы.
Пока туннель был поднят, запрос уходил к резолверу провайдера, который вернул правильный адрес, и этот ответ сохранился локально. После отключения браузер спросил снова, локальный кэш ответил, ни к кому не обращаясь, и страница загрузилась.
Она будет загружаться, пока запись не истечёт или кто-то не очистит кэш, и тогда вернётся прежнее поведение.
Тест из трёх шагов, который их разделяет
Выполняйте их по порядку, потому что первый — единственный шаг, доказывающий, что страницу нёс кэш.
Очистите кэш резолвера и кэш браузера, затем перезагрузите. Если сайт снова не откроется, кэш был причиной того, что он работал. Затем спросите то же имя через резолвер, который был у вас до VPN, и через другой, и сравните два ответа: расхождение указывает на блокировку в именах. Если вы знаете адрес, попробуйте дойти до него без имени, потому что успех там подтверждает, что сам адрес не фильтруется.
Что каждый результат значит для вашего следующего шага
Для блокировки имён прямая замена — другой резолвер, а зашифрованный DNS меняет то, кто может видеть и изменять эти запросы. VPN выполнял эту работу как побочный эффект.
Для блокировки на уровне адреса смена резолвера не имеет значения, а теория кэша просто неверна.
Прежде чем действовать, стоит назвать две границы. Можно ли менять резолверы в данной сети — это вопрос политики, а не техники. И не каждая сеть блокирует через DNS, поэтому результат описывает сеть, которую вы проверили, а не блокировку вообще. Запишите, какой резолвер вы использовали, потому что именно эта деталь делает тест воспроизводимым для следующего человека.