Jump to content

dvg_lab

Forum Members
  • Content Count

    36
  • Joined

  • Last visited

Community Reputation

3 Neutral

About dvg_lab

  • Rank
    Member

Equipment

  • Keenetic
    extra II, rev. A, Ultra (KN-1820)

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. dvg_lab

    Ну вот, я рад что все получилось. Сейчас вспомнил что тоже наткнулся на косяк с md5sum, после этого плюнул и ушел на язык уровнем повыше. Сейчас есть рабочий скрипт на перле, но в итоге хочу приделать web интерфейс, где по нажатию кнопки на новый роутер будут заливаться все необходимые параметры и отдать это в эксплуатацию, ато у меня роутеров 230 штук, периодически дергают с ними.. думаю может ansible каким-то макаром научить json-ы собирать. ))
  2. Судя по всему проблемы на 2.13 из той-же серии
  3. Заливаешь последнюю прошивку 2.13.C.0.0-3, пытаешься включить управление через облако, вбиваешь имя, выбираешь домен keenetic.link c сертификатом SSL, и система на час зависает на "получение сертификата". Получить сертификат удается только освободив доменное имя и нажать получить второй раз, после этого он тупит с минуту и всетаки получает. На 2.12 этот этап просто мухой пролетал.
  4. dvg_lab

    Версия ПО 2.13.C.0.0-3, и у меня все пашет, проверено на Ultra - II, где-то что-то все же не учитывается. Куку обязательно сохранять и пихать ее в ответном пакете, аккуратно со всеми \n, перепроверять хеши...
  5. dvg_lab

    Сравнил куски кода с 2.12 и 2.13 в джаваскрипте отвечающие за авторизацию - они асболютно одинаковы. После этого все же запустил свой скрипт на новой прошивке, и он вполне нормально отработал. Причем по урлу https://my-name.keenetic.link/ с ssl сертификатом. Значит никаких проблем с авторизацией в 2.13 нету. Мои предположения почему у тебя не получается: когда ты генеришь на баше json, ты это делаешь с первоначальной кукой (токеном), которую ты получил тем же curl'ом, а когда запускаешь curl второй раз, с уже якобы готовым json'ом, то у тебя по факту уже новая сессия и новая кука (токен), а нужно чтобы сессия не разрывалась и пихалась в ответ та кука которая пришла в этой сессии. Именно поэтому я отказался от баша и написал все на перле с помощью либы LWP.
  6. dvg_lab

    Я все это делал на перле, curl не умеет в новую авторизацию. Не знаю каким образом он может собрать это: { login: login password: sha256(token + md5(login + ':' + realm + ':' + password)) }
  7. dvg_lab

    Спасибо огромное еще раз! По continued так и сделал, закциклил до нужного ответа. С ip static все получилось, намедни правда применил хак, отправил POST к /rci с таким запросом {"parse":"ip static Home ISP"} и это сработало, подсмотрел в /a на вкладке Parse )) После того как увидел спросил сам себя - А что так можно было?... )) Вобщем теперь роутер настраивается перловым скриптом за 5 минут, следующий этап прикрутить к нему веб морду и отдать в эксплуатацию. ЗЫЖ Чем лучше сохошный кинетик для кровавого энтерпрайза, чем тот же ZyWall или Cisco 810 и даже RV320, а тем что кинетик можно купить в первом попавшемся магазине. Натравить на него конфигурилку, заббикс и вот тебе корп. VPN сеть для розничных точек. Раньше мне приходилось билдить прошивки для Асусов (RT-N16 и иже с ними), вкорячивать OpenVPN, обвязку и тд, и дохли те асусы словно мухи, ну а теперь красота. Одна печаль 8-портовую Ultra II похоронили, не найти уж в магазинах, успели только 10шт отхватить.
  8. dvg_lab

    Запрашиваю POST'ом /rci/components/list и не пойму почему, но иногда, (чаще после какого-то значительного простоя , минут 20 по ощущениям), между GET/POST запросами роутер отвечает кодом 200 и таким контентом: '_content' => '{ "continued": true }', При этом следующий такой же запрос уже отвечает по полной форме. Это куда копать? И еще вопрос, подскажите как в JSON переводится команды "no ip nat" и "ip static Home ISP", чего-то не могу подобрать правильный формат.
  9. dvg_lab

    Все получилось, спасибо, на perl если кто столкнётся булев тип в хеше устанавливается так {"disable" => \0} и потом функция JSON->new->utf8->encode() обрабатывает это корректно в false, а true это соотв \1.
  10. dvg_lab

    Запихиваю вот такой JSON Правила попадают на свои интерфейсы и отображаются в веб интерфейсе, все нормально, но они все в состоянии "Выключено", несмотря на параметр "disable":"False" Вроде никакого специфичного запроса на включение больше не отлавливается. Что нужно сделать чтобы они заенаблились?
  11. dvg_lab

    Спасибо огромное, а за ссылку на /a отдельное спасибо, не знал, а теперь все гораздо проще! По новому способу хранения правил, значит перед тем как отправлять правила в /rci нужно будет еще и версию release проверять, подскажите с какой версии поменяется алгоритм хранения?
  12. Накопилось некоторое количество вопросов по интерфейсу /rci, и так как пока не готов мануал по rci, буду задавать вопросы здесь в отдельном треде и надеюсь на помощь сообщества: Создаю правило в МСЭ через веб морду и смотрю как формируется JSON, например интерфейс OpenVPN0, на котором не было ни одного правила в первых строках удаляет вроде бы не существующий access-list [{"access-list": { "acl":"_WEBADMIN_OpenVPN0", "no":true } }, { "access-list": [{"permit": {"source":"0.0.0.0", ... далее понятно И ответ подтверждает удаление "message": "_WEBADMIN_OpenVPN0" access list removed." Вопрос, это необходимая процедура перед началом создания первого правила на интерфейсе, сначала удалить, а потом он автоматически создастся при первом же permit/deny правиле? И второй вопрос, можно ли одним JSON запросом сформировать сразу все правила (у меня их около 18) на все интерфейсы и тем же запросом сказать {"system":{"configuration":{"save":true}}} ?
  13. dvg_lab

    Уважаемый eralde подсказал в личке по новой схеме авторизации, за что ему большое спасибо, завтра буду экспериментировать. Хочу все автоматизировать по максиму, без каких либо ручных настроек. Типа вбил uri роутера в систему, а оно само там всё настроилось. Так у меня было с асусами на моей прошивке. Вбил мак в систему а дальше оно все само, через 5 мин роутер настроен. PS: Ну что ж, с авторизацией все получилось, к сожалению теперь голым curl'ом без обертки кода никак, но тем не менее моя идея вполне реализуема. Буду писать полноценную систему управления роутерами.
  14. dvg_lab

    Идея basic авторизации и проксирования на tcp 79 не очень нравится, т.к. предполагается что это предварительно нужно настроить а только потом управлять роутером. А у меня ситуация примерно следующая, в городе [А,Б и тд] ставят новый роутер и настраивают на нем подключение к инету, это все что хоть как-то можно добиться от наших юзеров, проброс портов им снесет крышу, а далее я уже настраиваю там OpenVPN, файрволы, SNMP и тд )) Поэтому задача работать с тем что есть сразу из коробки.
  15. dvg_lab

    На my.keenetic.net мне не попасть, т.к. кинетик где-то далеко в другом городе и их грубо говоря много. Но все подключены через облако, и у всех есть https адрес на keenetic.link, обвязку пишу на perl и php, управление нужно именно с консоли. Идея такая, есть некий набор команд которые нужно отправить в кинетик, они оборачиваются в rci запросы и выполняются на кинетике через REST интерфейс. Кинетик может стоять на моем столе, а может быть в другом городе. Сейчас у меня реализована первая часть, когда билдится готовый конфиг, остается его только залить. Но к сожалению через конфиг не настраивается OpenVPN клиент, потому решил переписать все на REST запросы.
×