В дополнение к первой части материала рассмотрим другой вариант настройки проксирования DNS применительно к XKeen. Этот вариант сам по себе проще и не имеет таких жестких требований, как первый. Например, не требуется прописывать в роутере не шифрованные DNS для нужд роутера и для клиентов вне политики XKeen. Не требуется создавать отдельную политику доступа вместо "Политики по умолчанию". Даже перехват dns средствами XKeen не является обязательным) Мы поднимем полноценный DNS-сервер на xray, которым смогут пользоваться не только клиенты XKeen, но и сам роутер, а также клиенты с прямым доступом в интернет.

dns-over-vless
К вышесказанному я дополнительно упростил настройку, чтобы её могли использовать начинающие пользователи, но учитывайте, что это всё равно не гайд, а материал, требующий осмысления перед использованием, простое копирование предложенных настроек работать не будет. Конфигурационные файлы практически полностью идентичны приведенным в первой части, основное отличие в том, что мы дополнительно создадим входящее подключение xray на 53 порту, и это потребует отключения прошивочного резолвера KeeneticOS.

Файл outbounds.json такой же, как в первой части. :

Файл routing.json также не меняется:

А вот файл inbounds.json теперь будет выглядеть так:

В файле dns.json не станем разделять DNS-запросы на разные сервера, а направим их непосредственно на прокси-сервер внутри VLESS потока, опытные пользователи могут самостоятельно разделить их при необходимости. В объекте hosts привяжите домен вашего прокси-сервера к его IP, это не всегда обязательно, но настоятельно рекомендуется:

Если у вас на сервере установлен xray версии 26.5.3 или новее, то по умолчанию он блокирует приватные адреса в исходящем direct-подключении и необходимо правильно настроить finalRules. Для панели 3x-ui это можно сделать так:

Если используете "голое" ядро, то так:

В finalRules разрешаем трафик для 127.0.0.53 и 127.0.0.1 (про второй адрес чуть ниже), далее для всех остальных приватных адресов делаем запрет и разрешаем трафик на внешние IP. Главное помните, что это настройка для сервера, не делайте её в роутере.

Теперь самое важное отличие от варианта из первой части.

Переходим в CLI роутера (например, по ссылке: http://192.168.1.1/a), отключаем DNS-сервер Кинетика первой командой и сохраняем настройку второй командой:

На этом этапе у вас отключится интернет, не пугайтесь. Если что-то пойдёт не так, отменить изменения можно такими командами:

Spoiler
no opkg dns-override
system configuration save

Прописываем в "Интернет фильтрах" KeeneticOS один единственный DNS-сервер - локальный IP-адрес самого роутера с обязательным указанием 53-порта.

Запускаем или перезапускаем XKeen и проверяем результат. Интернет должен появиться и DNS-запросы теперь обрабатываются вашим прокси-сервером.

Обратите внимание, в примерах конфигов используется исходящий тег "proxy", если у вас он иной, например, "vless-reality", замените на свой или используйте везде "proxy".

Для ядра Mihomo настройка проксирования DNS-over-VLESS может быть выполнена следующим кодом в конфиге:

--

Бонус для тех, кто дочитал до конца)

В предложенную схему DNS-over-VLESS можно добавить блокировщик рекламы AdGuard Home. Для этого установите его на сервере командой:

Пройдите мастер первоначальной настройки, как написано в официальном руководстве до раздела "Получение сертификата TLS", он нам не потребуется.

При настройке выберите порт прослушивания отличный от 53, например:

В этом случае конфиг настройки DNS для Xray будет таким:

Конфиг настройки DNS для Mihomo будет таким: