Перейти к содержанию

nos1609

Участники форума
  • Постов

    23
  • Зарегистрирован

  • Посещение

Весь контент nos1609

  1. Добавлю свежий практический пример по IPv6 на KN-1811 / KeeneticOS 5.1b4 (preview 5.01.B.4.0-1). Это именно проблема с текущей реализацией при нескольких выходах в сеть, маршрутизации по DNS и нежелании раздавать домашним устройствам публичный IPv6-префикс провайдера. Схема такая: провайдер выдаёт IPv6 и делегированный префикс; на роутере используется штатная IPv6-маршрутизация KeeneticOS; используется маршрутизация доменов через dns-proxy route ... Wireguard<N> auto reject; хочется, чтобы устройства в Home получали только ULA, маршрут по умолчанию на роутер и DNS тоже через роутер; публичный адрес из префикса провайдера на устройства раздавать наоборот — не хочется. Причина простая: если клиент получает публичный 2a02:..., меняется вся модель безопасности и приватности. Устройство уже не просто “внутри домашней сети за роутером”, а имеет публичный IPv6-адрес. Да, входящий трафик можно фильтровать, но сама модель становится другой. Штатная настройка выглядит логично: Но при включении mode slaac штатный radvd раздаёт в домашнюю сеть сразу оба префикса: - ULA fdf4:.../64; - публичный префикс провайдера 2a02:.../64. В итоге Windows-клиент получает и fdf4:..., и 2a02:..., плюс маршрут по умолчанию и DNS через RA/RDNSS. Отдельной настройки вида “SLAAC только для ULA” или “не раздавать публичный префикс провайдера в LAN” я в CLI не нашёл. Пробовал: В моём случае это не убрало публичный префикс из RA. Если же сделать: то штатная раздача RA выключается полностью. Префиксы на роутере остаются, маршрутизация есть, но клиенты не получают ни SLAAC-адреса, ни маршрут по умолчанию, ни DNS — вообще ipv6 отсутствует дальше кинетика. То есть сейчас выбор такой: mode slaac — клиентам раздаются и ULA, и публичный IPv6 провайдера. no mode — клиентам не раздаётся вообще ничего. Рабочий обходной вариант оказался таким: оставить всю штатную маршрутизацию KeeneticOS, но заменить только источник RA. Штатно остаётся: получение IPv6 на ISP; получение делегированного префикса; ipv6 local-prefix default; маршрутизация; dns-proxy; firewall; работа через Wireguard-интерфейсы. А штатный RA выключается: Вместо него запускается обычный radvd через entware на br0, который раздаёт только ULA: После этого Windows-клиент получает: только fdf4:...; без 2a02:... на клиенте; маршрут по умолчанию через link-local адрес роутера; DNS тоже через link-local адрес роутера. При этом внешний IPv6 продолжает работать. Проверка с исходным адресом fdf4:... проходит, снаружи соединение видно как адрес из провайдерского 2a02:... префикса. То есть штатная маршрутизация/трансляция префикса на роутере продолжает работать, просто публичный префикс больше не раздаётся клиентам напрямую. Сравнение получается такое Штатный Keenetic mode slaac: включается одной командой; но раздаёт клиентам и ULA, и публичный префикс провайдера; нет понятной настройки “раздавать только local-prefix”; no mode выключает весь RA целиком. Пользовательский radvd: вся маршрутизация остаётся штатной; клиентам можно раздавать только ULA; DNS можно оставить строго через роутер; маршрутизация доменов через dns-proxy route продолжает работать; но это уже ручной обход, потому что приходится забирать у KeeneticOS управление RA. Отдельная связанная проблема — DNS в IPv6. Сейчас есть несколько разных мест, которые влияют на DNS6: interface ipv6 name-servers auto / no ipv6 name-servers auto; ipv6 name-server; ipv6 subnet dns-server; RDNSS в RA; dns-proxy route ... <interface> auto reject. Сам dns-proxy route очень полезен. На нём можно строить нормальную маршрутизацию доменов через разные выходы: ISP, Wireguard0, Wireguard1 и т.д. Но в IPv6 не хватает единой понятной политики: принимать или не принимать DNS6 от провайдера; что именно отдавать клиентам через RDNSS/DHCPv6; как гарантировать, что клиенты используют роутер как DNS; как не допустить утечки запросов в DNS6 провайдера; как связать это с dns-proxy route, чтобы IPv4 и IPv6 имена маршрутизировались одинаково. Что хотелось бы видеть в KeeneticOS: 1. Управление RA по префиксам в подсети. Например: раздавать только ULA; раздавать только публичный префикс; раздавать оба; не раздавать конкретный делегированный префикс; отдельно управлять RDNSS/DNSSL. 2. Явное управление трансляцией IPv6-префиксов. Сейчас видно, что внутри оно есть и работает, иначе ULA-клиент не выходил бы наружу через адрес провайдера. Но пользователю это почти никак не управляется и плохо диагностируется. Нужны команды, которые показывают: какие префиксы транслируются; через какой выход; что будет при нескольких провайдерах; почему выбран именно этот внешний префикс. 3. Нормальная работа с несколькими IPv6-выходами. Например: ISP; Wireguard0; Wireguard1; второй провайдер с IPv6. Нужны понятные правила выбора выхода, исходного префикса, firewall-правил и DNS-маршрутов. Сейчас при добавлении второго IPv6-выхода слишком легко получить непредсказуемое поведение. 4. Единая политика DNS6. Хочется иметь возможность явно сказать: DNS6 от провайдера не принимать; клиентам отдавать только роутер; все DNS-запросы клиентов пропускать через dns-proxy; маршруты dns-proxy route применять и к A, и к AAAA; не обходить DoT/DoH или настроенные DNS-маршруты через провайдерские DNS6. 5. Диагностика. Тут тоже — очень не хватает команд вида: показать, какие RA сейчас реально отправляются в Home; показать, какие префиксы раздаются клиентам; показать RDNSS для каждой подсети; показать состояние трансляции IPv6-префиксов; показать, почему конкретный клиент получил или не получил конкретный IPv6-адрес. Видел в мане ipv6 subnet debug, но описания нет у этого добра. Итог. Низкоуровнево в KeeneticOS уже есть почти всё нужное: ULA, делегирование префикса, subnet, маршрутизация, firewall, dns-proxy route, внутренняя трансляция префиксов. Не хватает управляемой связки поверх этого. Из-за отсутствия одной настройки “SLAAC только для ULA, публичный префикс в LAN не раздавать” приходится выключать штатный mode slaac и запускать свой radvd. При этом вся остальная штатная часть KeeneticOS работает правильно и предсказуемо.
  2. Вылечил таким образом: ip http proxy Поддомен upstream https MAC_адрес_хоста 9090 domain ndns ssl no redirect security-level public x-real-ip preserve-host preserve-referer preserve-origin В самом конфиге /etc/cockpit/cockpit.conf: [WebService] Origins = https://поддомен.домен.keenetic.pro wss://поддомен.домен.keenetic.pro ProtocolHeader = X-Forwarded-Proto ForwardedForHeader = X-Forwarded-For AllowUnencrypted=true
  3. При отвале WG, отваливается интернет даже при наличии ipoe, как будто автоматика не отрабатывает по резервированию
  4. nos1609

    KeenDNS

    Вроде появился, даже настроил, но пока извне подключиться не вышло... Последняя вкладка - KeenDNS
  5. Лучше один раз настроить доступ по ключу и спать спокойно. Общие принципы тут ну и вот тут больше приближено к реалиям, но на английском. И пусть хоть обстучатся, это как дверной проём монолитом залить
  6. Скрипт в time.d выполняется когда в логе появляются строчки Apr 13 19:35:28syslog Core::System::Clock: system time has been changed. Apr 13 19:35:28syslog Ntp::Client: time synchronized with "0.ru.pool.ntp.org". У меня так задействовано для пакета, которому нужно и точное время и поднятый линк. единственное, пока не разобрался как выводить сообщения в журнал веб-интерфейса. Logger молчит...
  7. А со своим набором плагинов из сорцов техническая возможность есть собрать, или только прекомпиленый пакет?
  8. Надо бы как-то конфиги dropbear обновить ssh 192.168.1.1 Unable to negotiate with 192.168.1.1: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1 А то свежий ssh отказывается с таким уровнем безопасности работать
  9. +1 хотя бы для giga II, с прошей от 14.11 вроде постабильней, а без ipv6 как-то не то, и через компоненты не поставить...
  10. Да всё по инструкции делал, как в теме о сборке и на гитхабе описано Так и есть, но даже когда вручную там галку снимал, не собирается...
  11. Пытаюсь собрать по мануалу, вроде всё проходит, на этапе компиляции вылетает echo -n "Testing external toolchain for softfloat support ... "; if /home/admin/tmp/ndwrt_gpl_2.06.A.3.0-2_230915/scripts/ext-toolchain.sh --toolchain $(find /home/admin/tmp/ndwrt_gpl_2.06.A.3.0-2_230915/build_dir/toolchain-mipsel-linux-uclibc/ -maxdepth 1 -name "tools-*") --cflags "-msoft-float" --cflags "--sysroot=$(find /home/admin/tmp/ndwrt_gpl_2.06.A.3.0-2_230915/build_dir/toolchain-mipsel-linux-uclibc/ -maxdepth 1 -name "sysroot-*")" --cflags "-I/home/admin/tmp/ndwrt_gpl_2.06.A.3.0- 2_230915/build_dir/toolchain-mipsel-linux-uclibc//usr/include -I/home/admin/tmp/ndwrt_gpl_2.06.A.3.0-2_230915/build_dir/toolchain-mipsel-linux-uclibc//include" --cflags "- L/home/admin/tmp/ndwrt_gpl_2.06.A.3.0-2_230915/build_dir/toolchain-mipsel-linux-uclibc//usr/lib -L/home/admin/tmp/ndwrt_gpl_2.06.A.3.0-2_230915/build_dir/toolchain-mipsel-linux- uclibc//lib" --test "softfloat"; then echo "ok"; exit 0; else echo "failed"; echo "ERROR: CONFIG_SOFT_FLOAT is enabled but the external toolchain does not support it"; exit 1; fi Testing external toolchain for softfloat support ... failed ERROR: CONFIG_SOFT_FLOAT is enabled but the external toolchain does not support it make[3]: *** [/home/admin/tmp/ndwrt_gpl_2.06.A.3.0-2_230915/build_dir/toolchain-mipsel-linux-uclibc/wrapper-1/.prepared] Error 1 make[3]: Leaving directory `/home/admin/tmp/ndwrt_gpl_2.06.A.3.0-2_230915/toolchain/wrapper' make[2]: *** [toolchain/wrapper/prepare] Error 2 make[2]: Leaving directory `/home/admin/tmp/ndwrt_gpl_2.06.A.3.0-2_230915' make[1]: *** [/home/admin/tmp/ndwrt_gpl_2.06.A.3.0-2_230915/staging_dir/toolchain-mipsel-linux-uclibc/stamp/.toolchain_install] Error 2 make[1]: Leaving directory `/home/admin/tmp/ndwrt_gpl_2.06.A.3.0-2_230915' make: *** [world] Ошибка 2 Подскажите, пожалуйста, что я делаю не так и куда копать?
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.