Sing-box при использовании tun inbound не резолвятся домены через local DNS сервер

Я хочу настроить резолв доменов из geosite-ru через системный DNS, но почему-то DNS сервер типа local не резолвит домены.
В настройках сетевого подключения в системе указан DNS сервер моего роутера 192.168.1.1.
Почему-то у меня при использовании tun inbound не резолвятся домены через local DNS сервер, таймаут соединения.
Тестовый конфиг:

{
  "log": {
    "level": "trace",
    "timestamp": true
  },
  "dns": {
    "servers": [
      {
        "tag": "local",
        "address": "local",
        "detour": "direct"
      }
    ],
    "rules": [
      {
        "outbound": "any",
        "server": "local"
      }
    ],
    "strategy": "ipv4_only"
  },
  "inbounds": [
    {
      "type": "tun",
      "tag": "tun-in",
      "interface_name": "tun0",
      "address": "172.19.0.1/30",
      "auto_route": true,
      "strict_route": true
    }
  ],
  "outbounds": [
    {
      "type": "direct",
      "tag": "direct"
    }
  ],
  "route": {
    "rules": [
      {
        "action": "sniff"
      },
      {
        "protocol": "dns",
        "action": "hijack-dns"
      }
    ],
    "auto_detect_interface": true
  }
}

Если заменить “address”: “local” на “address”: “8.8.8.8”, то всё работает.
Если вместо tun использовать socks, то тоже всё работает.
Windows 10, sing-box 1.11.8.
В чем может быть проблема?
Или может я неправильно понимаю, как работает local DNS сервер?

В документации написано

{
  "dns": {
    "servers": [
      {
        "type": "local",
        "tag": "",

        // Dial Fields
      }
    ]
  }
}

Но написано начиная с версии 1.12.0, может и на старой заработает, не знаю.

Проверял, на старой не работает, выдает ошибку, что неизвестное поле type.

скорее всего из-за strict route. лучше добавить яндекс днс и указать ему detour:direct.

А что с dnscrypt-proxy. Он много возможностей даёт, можно ведь указывать хоть 127.0.0.10

Возможно это именно ваш случай, но у версий ядра выше 1.11.6 есть баг резолвинга хостов.
Попробуйте проверить работу на ядре не позже 1.11.6.

"strict_route": false частично решил проблему.
С "strict_route": true в wireshark на роутере я не видел запросы к локальному ДНСу от винды.
С "strict_route": false я вижу запросы к локальному ДНСу от винды и сразу же sing-box получает ответ, но вот в сам он этот зарезолвенный IP процессу в системе передает только после того, как зафейлится по таймауту у себя:

dns: exchange failed for example.com. IN A: lookup example.com: i/o timeout

Т.е. я пытаюсь резолвить в винде:

nslookup
set timeout=1
set retry=15
example.com

И после 12 неудачных попыток, на 13 попытку sing-box выплевывает зарезолвенный IP, как я понимаю, из кеша.

Я могу и просто указать "address": "192.168.1.1" и оно работает, но хочется, чтобы всё из коробки работало без того, чтобы еще отдельно локальный ДНС сервер запускать.

Попробовал версии 1.11.6, 1.11.5 - проблема та же.
Но вот на бета-версии 1.12.0 - всё работает без проблем и со "strict_route": true!
Похоже, что нашли и починили баги в последней версии.