DNS
Chute использует собственный DNS-клиент для поддержки расширенных функций. Его поведение может отличаться от DNS-клиента вашей операционной системы.
Chute выступает в роли DNS-сервера, когда к сессии применяется правило DIRECT. Chute сначала проверяет DNS-запись хоста, затем инициализирует сокет с IP-адресом, возвращенным в DNS-записи. При таком подходе все сессии, к которым применяется правило DIRECT, обходят системную конфигурацию DNS и маршрутизируются через DNS-сервер Chute.
Chute iOS настроит системный DNS-сервер на DNS-сервер Chute.
Восходящий DNS-сервер
По умолчанию Chute использует адреса DNS-серверов из операционной системы. Вы можете переопределить их с помощью DNS-сервера, DoH (DNS-over-HTTPS), DoT (DNS-over-TLS), DoQ (DNS-over-QUIC) и DoH3 (DNS-over-HTTP/3), используя параметр 'dns-server'.
Подробности
Chute одновременно запрашивает все DNS-серверы для повышения производительности, аналогично dnsmasq с параметром '--all-servers'. Используется первый ответ от серверов. Приложение Chute iOS и Chute Dashboard покажут, какой сервер ответил первым. Если Chute не получил ответа в течение 2 секунд, он снова запросит все серверы. После 4 повторных попыток Chute сдастся и сообщит об ошибке DNS.
Некоторые доменные имена могут иметь плохо работающие авторитетные серверы имен, из-за чего восходящие DNS-серверы возвращают пустой ответ из-за тайм-аута на стороне сервера или других проблем с подключением. Chute сообщит об ошибке пустого DNS, если восходящие DNS-серверы явно возвращают пустые DNS-ответы, или если некоторые серверы возвращают пустые ответы, а другие не отвечают в течение 2 секунд.
Некоторые DNS-записи имеют очень короткий TTL из-за конфигурации, Chute не будет следовать TTL менее 5 минут. Оптимистичный DNS можно включить с помощью optimistic-dns = true, чтобы немедленно возвращать кэшированный результат DNS, обновляя его в фоновом режиме.
Когда IPv6 доступен и включен, DNS-клиент Chute будет отправлять как A-, так и AAAA-запросы восходящим DNS-серверам. Будет использован первый возвращенный ответ A или AAAA.