«Интернет работает» и «запросы никуда не утекают» - разные утверждения. Работающий туннель и DNS, всё ещё уходящий провайдеру, встречаются вместе очень часто.
Самопроверка за три минуты
- Откройте dnsleaktest.com или browserleaks.com/dns и запустите тест. Если в списке серверов видно имя вашего интернет-провайдера - утечка есть.
- Посмотрите колонку домена на странице Connections. Полные доменные имена вместо голых IP означают, что разрешение происходит внутри Clash, - именно этого и добиваемся, см. Страница Connections.
- Команда
nslookup www.example.comопрашивает DNS сетевого адаптера и полностью игнорирует системный прокси, так что этот шаг что-то говорит только в режиме TUN.
Что нормально в режиме fake-ip
В режиме fake-ip браузер получает зарезервированный адрес вида 198.18.x.x, а настоящее разрешение имени происходит на дальнем конце при установке соединения. Поэтому тест может не показать ни одного DNS-сервера или показать резолвер страны, где стоит узел. И то и другое ожидаемо, механизм описан в статье Собственный DNS: fake-ip и redir-host.
Чем закрыть утечку
- Системный прокси без TUN. Всё, что не браузер, разрешает имена самостоятельно. Это устройство системы, а не ошибка: полный охват даёт только TUN.
dns.enableравен false. Ядро вообще не занимается DNS. Включите.- В nameserver стоит DNS провайдера. Замените на шифрованный или публичный резолвер вместо того, что выдал DHCP.
- Браузер использует свой безопасный DNS. Chrome и Firefox умеют работать по DoH в обход системных настроек. Тест показывает Cloudflare или Google, хотя вы их не настраивали, - причина в этом.