IP отвечает, а домен не открывается
Сначала одна проверка. Пропингуйте публичный адрес, например 1.1.1.1, и убедитесь, что ответы идут. Затем откройте любой сайт и убедитесь, что он не грузится. Если верно и то и другое, сбой сидит на уровне разрешения имён, и дальше речь только про него.
Дальше выясните, кто резолвит прямо сейчас. При включённом TUN или при включённом переопределении DNS в конфигурации разрешение имён забирает себе клиент, и правка DNS-серверов на сетевом адаптере не меняет ничего. Когда всё это выключено, работает обратное: настройки внутри клиента на системное разрешение не влияют. Перепутать эти два состояния — надолго застрять.
Сначала симптом, потом действия
Из браузера сбой разрешения и мёртвый узел выглядят почти одинаково. Разделяет их именно проверка пингом.
Три поломки, на которые приходится почти всё
- 1
Устаревший ответ в кеше
После смены узла или правки конфигурации система и браузер могут продолжать отдавать старый ответ, и выглядит это как исправление, которое не сработало. В Windows выполните
ipconfig /flushdns, в macOS —sudo killall -HUP mDNSResponder. У браузера поверх этого есть собственный слой, поэтому закройте его полностью и откройте заново. - 2
Оставшиеся поддельные адреса
Если программа завершилась аварийно, в системе могут пережить это маршруты и записи кеша, указывающие на диапазон
198.18.0.0/16. Симптом узнаваемый: несколько доменов резолвятся в адрес, до которого невозможно достучаться, а всё остальное работает. Запустите клиент снова, чтобы он забрал этот слой обратно, и ещё раз сбросьте кеш. - 3
Внутренние имена уходят наружу
Корпоративные домены и имена устройств локальной сети уходят на внешний резолвер как обычные публичные имена, и там о них, разумеется, ничего не знают. Направьте эти суффиксы на внутренний nameserver в секции DNS конфигурации или внесите их в список, который не получает поддельных адресов, чтобы они разрешались в настоящие.
Убедитесь, что ответ действительно изменился
Не останавливайтесь на том, что страница открылась. Запросите тот же домен из терминала ещё раз и прочитайте выданный адрес. Если домен резолвится в явно чужой регион, запрос пошёл не тем маршрутом, и журнал покажет, какой nameserver на него ответил.
- Два запроса подряд по одному домену дают один адрес, и он больше не начинается с 198.18
- Открываются и внутренние узлы, и публичные домены, а не одно за счёт другого
- После полного перезапуска браузера всё по-прежнему работает, значит дело было не в остатках кеша
Частые вопросы
Сменил узел, а домен всё равно резолвится в старый адрес. Почему?
Почти всегда кеш. Ответ хранится отдельно системой и отдельно браузером, а смена узла не чистит ни то ни другое. Выполните ipconfig /flushdns в Windows или sudo killall -HUP mDNSResponder в macOS, затем полностью закройте браузер и откройте снова. Если пережило и это, перезапустите клиент, чтобы слой разрешения имён собрался заново.
Закрыл Clash Verge и остался вообще без интернета. В чём дело?
Программа не вернула забранный слой при выходе, и система по-прежнему смотрит на DNS-настройки или маршруты, которые никуда не ведут. Запустите клиент и закройте его штатно один раз, обычно этого достаточно. Можно и вручную вернуть DNS адаптера на автоматическое получение, а затем сбросить кеш.