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

Vinni37

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

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

  • Посещение

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

  1. 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
  2. Добрый день. Возникла задача управления трафиком в политиках, через 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. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.