Проблема:
Keenetic на LAN анонсирует через RA RDNSS с link-local адресом (fe80::…).
Конфигурация выполняется стандартным radvd daemon, который генерирует файл /var/run/radvd.conf (symlink на /tmp/run) при запуске; редактировать его напрямую нельзя.
Android получает RDNSS с link-local адресом и интерпретирует его как fe80::…%wlan0 (scope-id добавляется клиентом, RA не содержит механизма передачи scope), но не поддерживает использование таких адресов для резолвинга.
Получаем:
IPv6 DNS-запросы не работают
private DNS (DoT/DoH) ломается
клиенты откатываются на IPv4 DNS.
Ограничения:
DHCPv6 бесполезен, особенно для потребительских устройств на Android (телефоны, планшеты, часы, телевизоры).
Android корректно работает в сетях с двойным стеком (dual-stack) и в IPv6-only сетях, при условии, что есть SLAAC (это single bit в RA) и RDNSS.
Желаемое поведение:
Добавить возможность явно указывать ULA или глобальный IPv6-адрес для RDNSS вместо link-local.
Это позволит Android и другим клиентам корректно использовать IPv6 DNS, сохраняя поддержку link-local для совместимых клиентов.