Два блока DNS, работает только один
В настройках Clash есть переключатель переопределения DNS, в разных версиях названный немного по-разному. Пока он выключен, разрешение имён идёт по блоку dns из вашего файла конфигурации. Как только вы его включаете, работает набор настроек самого клиента, а блок из подписки не участвует вовсе.
Отсюда растёт большая часть путаницы с DNS. Человек час правит nameserver в конфигурации, не замечает включённый переключатель и не понимает, почему ничего не поменялось.
Без перезагрузки профиля правки не считаются
Блок dns не применяется на лету: сохраните, дождитесь перезагрузки конфигурации и только потом проверяйте.
fake-ip, список исключений и поля nameserver
- 1
Два режима разрешения имён и почему хорош режим по умолчанию
fake-ip ничего не разрешает локально: приложение получает синтетический адрес из диапазона 198.18.0.1/16, а настоящий запрос выполняется на стороне прокси. Это быстро, и поскольку компьютер вообще не отправляет запрос наружу, утечке почти неоткуда взяться. redir-host честно узнаёт реальный адрес перед подключением: совместимость выше, скорость ниже. Без особой причины оставайтесь на fake-ip.
- 2
fake-ip-filter — это список исключений
Всё, что попало под fake-ip-filter, получает не синтетический адрес, а обычное разрешение имени. Имена устройств в локальной сети, часть сетевых игр и любые сервисы, которым нужен настоящий адрес внутри сети, обязаны быть в этом списке, иначе они получают что-то из диапазона 198.18 и просто не подключаются. Штатный список закрывает типовые случаи; сломался конкретный сервис — допишите его домен.
- 3
У каждого поля nameserver своя зона ответственности
nameserver отвечает за обычные запросы. proxy-server-nameserver разрешает имена самих узлов, и ошибка или пустое значение здесь дают знакомую картину, когда не работает ни один узел, потому что не разрешилось его собственное доменное имя. nameserver-policy назначает выделенный сервер конкретным доменам: так корпоративный суффикс отправляют на внутренний резолвер.
Как правильно читать тест на утечку
Откройте любую страницу проверки утечек DNS и посмотрите, в каком регионе находятся показанные резолверы. Совпадают с регионом выбранного узла — всё в порядке. Видите список серверов своего домашнего провайдера — значит какой-то путь идёт мимо Clash Verge.
- Перед проверкой выключите шифрованный DNS (DoH или DoT) в браузере: он обходит всю вашу настройку
- Загляните и в сетевой адаптер — там мог остаться вписанный руками публичный DNS
- Меняя диапазон fake-ip, убедитесь, что новый не пересекается с локальной сетью
Частые вопросы
Прокси включён, а тест по-прежнему показывает мой местный DNS.
Проверьте три места по порядку. Первое — браузер: в Chrome и Firefox безопасный DNS может быть включён по умолчанию, он уходит через DoH, и перехватить его некому. Второе — DNS-сервер, вписанный руками в свойствах сетевого адаптера. Третье — режим работы: в режиме системного прокси перехватываются программы, которые этот прокси уважают, а запросы самой системы через него идти не обязаны. Остальное добирает режим TUN.
Часть приложений выдаёт ошибки соединения в режиме fake-ip. Что делать?
Таким приложениям нужен настоящий адрес, а всё, что начинается с 198.18, они считают недоступным. Добавьте их домен в fake-ip-filter: это имя будет разрешаться по-настоящему, остальное останется как было. Перевод всего профиля на redir-host тоже помогает, но ценой замедления каждого запроса, и ради одного приложения такой размен себя не оправдывает.