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

Vinni37

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

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

  • Посещение

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

  1. Тут кому что лучше. Как говориться "На вкус и цвет все фломастеры разные"
  2. UPD 3. Четвёртый релиз - основной упор в этот раз на новую функциональность. Новая вкладка Clients Список зарегистрированных на роутере устройств прямо в панели - имя, IP, MAC, политика, статус online/offline, аптайм, трафик, тип подключения (WiFi/провод) и скорость. Онлайн-клиенты отдельным блоком сверху, офлайн - снизу, с числом в каждой группе. Самое интересное - кнопка "View connections" на каждой строке. Показывает живой снимок текущих соединений конкретного клиента (через /proc/net/nf_conntrack - отдельная утилита conntrack для этого не нужна, обычный текстовый файл). Это не история за прошлые дни (Keenetic такое не логирует), а именно "куда клиент подключён прямо сейчас": Подсветка "это одна из целей" - если адрес назначения совпадает с чем-то из ваших таргетов (точный IP, CIDR, или текущий резолвленный IP домена) - зелёная полоса и метка с именем; Через какую политику и таблицу маршрутизации ушло соединение - и не предположение, а по факту: метка (mark) уже есть в самом conntrack, сверяется с базой, а сама таблица дополнительно подтверждается живым ip route get - потому что метка говорит только "чья политика", а не "точно какая таблица"; Шлюз и интерфейс - тоже живым запросом, но только на уникальные адреса и с потолком в 15 за один просмотр, чтобы не заспамить роутер, если у клиента много разных направлений; Обратный DNS - хотя бы примерное имя вместо голого IP, где оно есть. Резолвится отдельно от списка соединений и кэшируется в браузере на весь сеанс - обычный Refresh и авто-обновление не переспрашивают уже известные адреса заново, чтобы не тормозить на ровном месте; Фильтр по IP и по протоколу, дедупликация одинаковых направлений, авто-обновление с выбором интервала. Как обычно - разворачивал с нуля на своих роутерах, чтобы прогнать весь процесс. Архив во вложении. keenetic-dns-router4.zip
  3. Третья версия. Что поменялось: Новая вкладка Routing tables Раньше панель знала только про "свои" таблицы. Теперь отдельная вкладка показывает все таблицы маршрутизации на роутере — main/default/local, чужие политики Keenetic, и в моём случае ещё и BGP-таблица от bird (гео-маршрутизация). Для каждой — сколько маршрутов прямо сейчас, и кнопка "посмотреть содержимое" с постраничной подгрузкой и серверным поиском (фильтр реально спрашивает роутер заново, а не фильтрует уже подгруженное). Test Route Симулирует ip route get для IP, CIDR или домена, опционально с меткой политики. Если у кого-то тоже BusyBox ip вместо полного iproute2 — тест с политикой работать не будет (route get ... mark он не понимает), панель сама это определяет и предупреждает. Новая вкладка Tools Dependencies (стоит ли SQLite3/php-cli/ip-full/cron одной строкой), проверка пароля su одной кнопкой (полезно, если меняли пароль root в Keenetic и забыли обновить конфиг), какой DNS реально используется при резолве , и полноценное управление crontab прямо из браузера — просмотр/редактирование/запуск cron, без SSH. Мастер первичной настройки При первом открытии панели сама кидает на мастер — проверяет su/зависимости, создаёт базу по кнопке, даёт задать пароль входа прямо в браузере (один раз, дальше эта возможность сама отключается — смена уже установленного пароля так и делается через SSH, чтобы никто чужой не перехватил панель). Стабильность — по мелочи, но набралось много Авторизация теперь на подписанной куке вместо PHP-сессий (у части сборок PHP для Entware модуля сессий вообще нет), починил кучу мест, где su-командам не хватало PATH, путь к crontab теперь определяется автоматически, а не зашит намертво. Как обычно — тестировал на двух своих роутерах (второй специально сносил и разворачивал с нуля). Пишите, если что не заводится. keenetic-dns-router.zip
  4. UPD. Накопилось достаточно изменений. Что поменялось: Безопасность, много чего пофикшено Стабильность Вынес всю логику в lib.php, чтобы веб-интерфейс и крон-скрипты не расходились между собой (up дублировался код, где-то уже начало отличаться); Добавил busyTimeout на SQLite - крон и веб могли одновременно писать в базу и получать "database is locked"; PHP warning/notice больше не ломает JSON-ответ на фронте (было такое - падало с "Unexpected token '<'" если DNS резолв где-то споткнулся); Убрал filter_var() - на минимальных сборках PHP для Entware этого расширения может не быть, падало с "undefined function". Функционал Теперь можно добавлять не только домен, а ещё голый IP или CIDR (10.0.0.0/24) - если это IP/подсеть, DNS не резолвится, оно сразу идёт в таблицу маршрутизации как есть; Кнопки переделал: Sync policies / Check & apply (резолв + применение одним кликом, то же что крон делает) / Apply routes (на всякий случай, без резолва, просто переприменить то что есть в базе); Уведомления по-человечески - тосты с реальными цифрами (сколько политик добавилось/обновилось, сколько маршрутов применилось), вместо системных alert/confirm. Морда Перерисовал полностью - тёмная тема, статусы доменов через LED-индикаторы (как на самом кинетике), стало гораздо контрастнее. Заодно починил вёрстку под телефон - раньше на мобиле всё в кашу превращалось, теперь нормальные карточки, и в ландшафтной ориентации таблица не обрезается за край экрана. В архиве теперь ещё и README с шагами установки и отдельно config.example.php - переименуйте в config.php и впишите свой пароль, реальный конфиг с паролем я из архива убрал, чтоб случайно не расшарить. Как и в прошлый раз - тестил только на своей связке, глюки не исключены, если что не заводится - пишите, разберёмся. keenetic-dns-router.zip
  5. Добрый день. Возникла задача управления трафиком в политиках, через WEB интерфейс и без использования DNS. И так за пару дней с помощью ИИ и чей то матери родилось следующее решение. В архиве сам вэб интерфейс и php скрипты для бэкэнда и cron. Из доп пакетов потребуется, nginx, php в моем случае (php8-fpm + php8-cli), SQLite3 и cron. Для функционирования потребуется: Настраиваем связку nginx + php. В config.php прописываем: пароль от учетки, путь к файлам, в моем случае ('/opt/share/www/'), если путь другой то в php скриптах в первой строчке кода, надо тоже поменять. Создаем базу через create_db.php Если есть желание запихиваем sync_policies.php и update_route.php в крон. Если политики часто не создаете то sync_policies.php можно не прописывать в cron, а синхронизировать через WEB интерфейс. Пользуемся. Может чо забыл не учел, кто будет повторять пишите помогу. Принцип работы: Скрипт дергает из кинетика список политик 'http://127.0.0.1:79/rci/show/ip/policy'; Для каждой политики есть своя маркировка трафика к примеру 0xffffaaa; Создается БД с политиками и доменами+информация о маршрутах; Для каждой политики в БД можно добавить запись: Домен + интерфейс + маршрут; Скрипт получает список IP для каждого домена и собирает для каждой политики свою дополнительную таблицу маршрутизации (стартовый номер отсчета можно изменить в config.php, но выше 1000 создать не дает); После чего добавляет данные таблицы к нужному маркеру. Через WEB интерфейс или по крону можно обновлять IP для доменов и перестраивать таблицы маршрутизации. Что это все дает: Возможность маршрутизировать трафик по доменам, при этом кинетику не обязательно быть DNS сервером, перехватывать запросы и все вот это; Интеграция с политиками доступа от кинетика. Можно гибко управлять кому куда в самом кинетике. К примеру в моем варианте (скриншот 2), мне требовалось жестко прописать домен детского мира мимо КВН. Но только для одной политики. Работает с использованием штатном функционале кинетика (за исключением описанных выше пакетов), скрипт только рулит маршрутами. P.S. Делал для себя, если что не так не сердчайте, глюки обеспечены)) KDR.zip
×
×
  • Создать...

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

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