nos1609
Участники форума-
Постов
23 -
Зарегистрирован
-
Посещение
Оборудование
-
Устройства
Keenetic Peak
Посетители профиля
Блок последних пользователей отключён и не показывается другим пользователям.
Достижения nos1609
Пользователь (2/6)
1
Репутация
-
nos1609 подписался на Полноценная поддержка IPv6
-
Добавлю свежий практический пример по 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 работает правильно и предсказуемо.
-
Вылечил таким образом: 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
-
При отвале WG, отваливается интернет даже при наличии ipoe, как будто автоматика не отрабатывает по резервированию
-
Лучше один раз настроить доступ по ключу и спать спокойно. Общие принципы тут ну и вот тут больше приближено к реалиям, но на английском. И пусть хоть обстучатся, это как дверной проём монолитом залить
-
Скрипт в 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 молчит...
-
А со своим набором плагинов из сорцов техническая возможность есть собрать, или только прекомпиленый пакет?
-
Надо бы как-то конфиги 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 отказывается с таким уровнем безопасности работать
-
+1 хотя бы для giga II, с прошей от 14.11 вроде постабильней, а без ipv6 как-то не то, и через компоненты не поставить...
-
Да всё по инструкции делал, как в теме о сборке и на гитхабе описано Так и есть, но даже когда вручную там галку снимал, не собирается...
-
Пытаюсь собрать по мануалу, вроде всё проходит, на этапе компиляции вылетает 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 Подскажите, пожалуйста, что я делаю не так и куда копать?
