Половина точности маршрутизации - это DNS: при отравленном резолвинге даже идеальные правила соединяют не туда. В Clash встроен собственный DNS-сервер, который при верной настройке лечит и подмену, и медленный резолвинг.

Базовая конфигурация

dns:
  enable: true
  listen: 0.0.0.0:53
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  nameserver:
    - 1.1.1.1              # повседневные резолверы
    - 8.8.8.8
  fallback:                # шифрованные - против подмены
    - https://1.1.1.1/dns-query
    - tls://8.8.8.8:853
  fallback-filter:
    geoip: true
    geoip-code: CN

nameserver обслуживает будни, fallback страхует шифрованным DNS. С fallback-filter локальные ответы берутся у первых, а подозрительные (иностранный IP) - у fallback.

Режим fake-ip (рекомендуется)

На запрос резолвинга Clash мгновенно отвечает «фейковым» адресом зарезервированного диапазона (198.18.x.x) и запоминает соответствие. Программа соединяется с фейковым IP; Clash при подключении восстанавливает домен, сопоставляет правила по имени, а настоящий резолвинг делает узел на своей стороне. Выгоды:

  • нулевая задержка резолвинга (нет настоящего похода в DNS);
  • доменные правила всегда срабатывают (соединение несёт своё имя);
  • локального резолвинга нет вовсе - подмена и утечки исключены по построению.

Режим redir-host

Возвращает настоящие IP; сопоставление идёт по IP. Для случаев совместимости (софт проверяет адрес или реально нуждается в нём). Цена - медленнее и выше риск утечек. На каждый день - fake-ip.

fake-ip-filter: исключения

Некоторым сценариям нужны настоящие IP (обнаружение устройств в LAN, отдельные игровые лаунчеры, проверки связности Windows). Перечислите их - и они минуют fake-ip:

  fake-ip-filter:
    - "*.lan"
    - "+.stun.*.*"
    - "+.msftconnecttest.com"
    - "+.msftncsi.com"

Применение и проверка

  • В подписках секция dns обычно есть; чтобы переопределить - внедряйте через Mixin.
  • Режим TUN требует встроенный DNS, настоятельно с fake-ip (плюс dns-hijack).
  • Проверка: nslookup google.com 127.0.0.1 с ответом 198.18.x.x - fake-ip работает.
Совет: если после включения fake-ip какое-то приложение забарахлило - вероятно, оно делает с фейковым адресом что-то своё. Добавьте его домены в fake-ip-filter и повторите.