Jump to content

Roman_Petrov

Forum Members
  • Posts

    739
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Roman_Petrov

  1. 15 минут назад, gvan сказал:

    Только тогда пропадут сообщения от системы и служб, поднятых через opkg (например, от cron).

    У меня после установки ng-syslog было так:

    
    source src { unix-stream("/dev/log"); internal(); };

    Объединил предложенную запись с системным логгерами:

    
    source src { udp(ip(192.168.1.1) port(514)); internal(); unix-stream("/dev/log"); };

    Да, если необходимо иметь подробный лог с поднятой вами OPKG , не только, что она выдает или нет в общий системный журнал.
    Описание дополняю, так как имеет место быть и такая ситуация.

    • Thanks 1
  2. 57 минут назад, TheBB сказал:

    здесь и ниже, установка ndmq лишние (если только его не удаляли), т.к. этот пакет ставится изначально при развертывании системы из doinstall , я mipsbe аналогично

    Да, вы действительно правы. Я похоже его случайно удалял из установки и забыл потом, поэтому себе пришлось ставить. Тему подправил.

     

  3. Внимание!

    Данный способ является альтернативой новой NDM команде CLI schedule, которая на данный момент успешно развивается и дополняется возможностями. Как это сделать теперь штатными средствами роутера, читайте в моем сообщении ниже Trafficshape по расписанию встроенными средствами роутера, используя командную строку CLI.

    Если все же нет возможности или не поддерживается номером вашей прошивки, то можно следовать инструкциям ниже.

     

    За основу используется материал Александра Рыжова из данной темы по ссылке здесь >>> и материал Zyxmon из темы на его форуме >>>

    На самом деле здесь нет ничего сложного. Каждый, более или менее знакомый с основами работы OPKG и консолью PuTTY, что-то слышал о CLI и командной строке, легко справиться. На базе данного материала, можно заставить планировщик задач выполнять практически любые задачи, которые доступны для вашего роутера через командную строку CLI. Но рассмотрим конкретно возможность ограничения скорости для конкретных клиентов любого сегмента сети по расписанию, так как в моем конкретном случае было интересно обложить правилом trafficcontrol по расписанию какой ни будь хост в локальной сети, так как, если интернет выключается полностью или совсем отключается Wi-Fi, умные устройства переходят на мобильные данные и съедается незаметно весь траффик.

     

    Вариант 1.

    Для варианта работы на файловых системах EXT2/3, не будет работать на NTFS !!! (vixie's cron)


    • Инсталлируем планировщик cron:

    opkg install cron

    • Если у вас еще непроисталлирован nano:

    opkg install nano

    • редактируем его конфигурационный файл:

    nano /opt/etc/crontab

     

    Отредактировать файл /opt/etc/crontab, добавив в него следующие строчки:

    # Your traffic control schedule for selected host #
    30 00 * * * root ndmq -p 'ip traffic-shape host ee:cc:bb:dd:99:44 rate 64' -P message
    00 06 * * * root ndmq -p 'no ip traffic-shape host ee:cc:bb:dd:99:44' -P message

     

    Внимание!

    Есть небольшой нюанс при ограничении скорости хостов, они (их MAC адрес) должны быть зарегистрированы в системе на вкладке Устройства (hosts) или с помощью команды в CLI:   known host {name} {mac-address} (имя произвольное), иначе скорость на хост ограничена не будет и будет выдана ошибка в логе:

    Jul 29 16:10:00ndm       TrafficControl::Manager: no "cc:5d:4e:4c:f5:35" MAC address in the known host list.

     

    • Запустить cron вручную или перезагрузить роутер: /opt/etc/init.d/S10cron start
     

    ----------

    Вариант 2.

    Для варианта работы на файловых системах NTFS (busybox crontab). Этот вариант несколько сложнее первого, но на данной файловой системе должен работать без проблем и не вызывать ошибок ядра (так как на этой файловой системе нет правильной поддержки атрибутов для vixie's cron). Если у Вас ntfs - используйте именно этот вариант из установленного busybox.

    • Если вы по ошибке на файловую систему  NTFS проинсталлировали cron и в результате этого у вас начали возникать ошибки ядра системы, то его необходимо удалить и переустановить busybox (для восстановления бинарника crontab) , восстановить симлинк:

    opkg remove cron
    opkg install --force-reinstall busybox

    В результате у Вас восстановится симлинк, проверить можно вводом команды:

    ~ # >ls -al /opt/bin/cro*

    Если все произошло успешно, то будет выдано нечто подобное:

    lrwxrwxrwx    1 root     root            16 Jul 26 11:51 /opt/bin/crontab -> /opt/bin/busybox

    • Если у вас еще непроисталлирован nano, то сделаете это:

    opkg install nano

    • Для создания заданий crontab для него необходимо создать файл заднаний crontabs и его папку на вашем внешнем диске

    mkdir -p /opt/var/spool/cron/crontabs


    • Первый раз создать и потом всегда редактировать файл настроек нужно следующим вводом команды:

    EDITOR='/opt/bin/nano' crontab -e


    Формат файла cronttab немного отличается. Для апплета на одно поле меньше, т.к. не указывается от какого юзера выполнять задание. В первый раз откроется естественно совершенно пустой файл, в который мы пропишем следующее:

    PATH=/opt/bin:/opt/sbin:/sbin:/usr/sbin:/bin:/usr/bin
    # Your traffic control schedule for selected host #
    30 00 * * * ndmq -p 'ip traffic-shape host ee:cc:bb:dd:99:44 rate 64' -P message
    00 06 * * * ndmq -p 'no ip traffic-shape host ee:cc:bb:dd:99:44' -P message

     

    Внимание!

    Есть небольшой нюанс при ограничении скорости хостов, они (их MAC адрес) должны быть зарегистрированы в системе на вкладке Устройства (hosts) или с помощью команды в CLI:   known host {name} {mac-address} (имя произвольное), иначе скорость на хост ограничена не будет и будет выдана ошибка в логе:

    Jul 29 16:10:00ndm       TrafficControl::Manager: no "cc:5d:4e:4c:f5:35" MAC address in the known host list.

     

    Потом жмем Ctrl+X, соглашаемся Y, сохраняем файл. Посмотреть, что он действительно появился и сохранился, можно в папке на вашем диске, которую мы ранее создали /opt/var/spool/cron/crontabs (папка на вашем_Диске/var/spool/cron/crontabs)

    • Чтобы crond каждый раз запускался автоматически,  файл-скрипт S05crond в папке /opt/etc/init.d

    nano /opt/etc/init.d/S05crond

    и наполним его следующим содержанием

    #!/bin/sh
     
    
    CRON="/opt/sbin/crond"
    
    export PATH=/opt/bin:/opt/sbin:/sbin:/usr/sbin:/bin:/usr/bin
    
    start() {
    	$CRON -L /dev/null
    }
    
     stop() {
    	killall crond
    }
    
     case "$1" in
    	start)
    	    start
    	    ;;
    	stop)
    	    stop
    	    ;;
    	restart)
    	    stop
    	    start
    	    ;;
    	*)
    	    echo "Usage: $0 {start|stop}"
    	    ;;
    esac


    Потом жмем Ctrl+X, соглашаемся Y, сохраняем файл. Посмотреть, что он действительно появился и сохранился, можно в папке /opt/etc/init.d (Ваш_Диск/etc/init.d)

    • Делаем его исполняемым

    chmod +x /opt/etc/init.d/S05crond

    • Запускаем планировщик заданий через созданный скрипт в init.d:

    /opt/etc/init.d/S05crond start

    или просто перегрузив ваш роутер.

    ******

    Коментарии.

    1. Есть небольшой нюанс при ограничении скорости хостов, они (их MAC адрес) должны быть зарегистрированы в системе на вкладке Устройства (hosts) или с помощью команды в CLI:   known host {name} {mac-address} (имя произвольное)

    2. Признаком успешной работы будут являтся следующие срочки в логе роутера:

    Jul 29 13:22:00ndmCore::Server: started Session 127.0.0.1:38686.
    Jul 29 13:22:00ndmTrafficControl::Manager: "ee:cc:bb:dd:99:44" host rate limited to 64 Kbits/sec.
    Jul 29 13:22:00ndmCore::Session: client disconnected.
    Jul 29 13:22:02ndmkernel: SWNAT bind table cleared

    3. Оба варианта проверены и работают на Ultra 2, на других не тестировались. Прошу по возможности отписаться, как получилось, и комментировать, что можно было бы улучшить.

    Успехов!!!

    • Thanks 2
  4. 25 минут назад, Le ecureuil сказал:

    2.06 вышла в официальные каналы, потому теперь delta.

    Для 2.07 кстати тоже delta теперь.

    draft будет 2.08.

    Да, спасибо, я был в курсе. Да, действительно ведь, последняя beta и draft для 2.07 вышли вместе. Ждем с нетерпением 2.08 ! :) 

  5. В ‎22‎/‎07‎/‎2016 в 13:43, cbloner сказал:

    Хорош костыль, но костылём и остается ;-) Но все же хочется аккуратной реализации. ;-) 

     

    В ‎20‎/‎07‎/‎2016 в 08:31, JIABP сказал:

    Я нашёл свой путь (ц) - если нужно отключить правило, я выбираю другой интерфейс/сегмент, обычно это Guest Wi-Fi, который 99% времени выключен. А так можно и дальше пойти - создать отдельный интерфейс и на него вешать правила, которые нужно выключить.

    Есть конечно вариант даже проще. На вкладке файлы сохранять каждый раз конфигурацию и подкидывать ту, с теми портами, которая на данный момент нужна. Потом обратно старый конфиг.

  6. 1 час назад, ndm сказал:

    Почему же, она будет работать, но только в "прямом" режиме, и только через CLI (группа команд ndns). В пятницу будет очередная delta.

    В 2.06 сложно перенести "облачный" вариант с туннелем на серый адрес, но и так неплохо imho.

    Да, вот как раз туннеля бы и хотелось на серый адрес-то, вот сделали, было бы классно. В этом как раз фишка вся, как говорят. Но если это сложно, понятно тоже конечно.

    P.S. Не draft(development) а именно delta (beta)? Я правильно понимаю?

  7. 11 минуту назад, Александр Рыжов сказал:

    Целью создания shadowsock было преодоление Великого Китайского Файервола, а не обеспечение безопасного сёрфинга. По предписанию властей автор был вынужден удалить общедоступные исходники проекта, но количество форков уже показало бессмысленность этого решения.

    ЗЫ За добавление в репозиторий shadowsock-libev и pcap_dnsproxy китайцы зачем-то добавили меня в группу AntiGCF в твиттере, видимо уверены, что борюсь с их файерволом. Теперь решения на основе перечисленных проектов можно встретить на безымянных роутерах с aliexpress:)

     

    Спасибо за уточнение. Видимо, для китайцев эта тема очень актуальна. Добавление в репозиторий shadowsocks-libev и pcap_dnsproxy с вашей стороны дело большое, понимаю китайцев.

  8. Еще только наверно осталось добавить для незнающих, что цель shadowsocks это безопасный серфинг через криптирование траффика между вами и серверами, нечто похожее на VPN, только со своими плюсиками. Цель проекта shadowsocks это безопасный серфинг, чтобы, например, ваш провайдер не мог шпионить за вами.

    Здесь немного на английском больше -- http://vpnschool.com/threads/what-is-shadowsocks-and-what-is-the-difference-compare-to-vpn.4/

    shadowsocks-libev, это вероятно оптимальная версия для Enware-Keenetic, которую можно найти в его репе. 

    Ну и если действительно работает, перенести в готовые решения...

  9. Как вариант, и неплохой, используется мною на Ultra-II - функция "умного шейпинга" IntelliQos. Но я не знаю, есть ли она в Keenetic DSL, так например, на другом роутере Ultra она так пока и не появилась, разработчики говорили, что есть пока какие то проблемы с ее имплементацией. Будем надеется, вскоре таки появится для всех прошивок...

    • Thanks 1
  10. В Tuesday, July 26, 2016 в 20:08, ndm сказал:

    Закрепить много на один кинетик нельзя. Кроме того, когда кинетик работает, он как минимум раз в сутки (или чаще...) подтверждает, что имя занято. Иначе оно сгорает, условно, через месяц. ....

     

    12 часа назад, ndm сказал:

    :???: ну.. поэтому пока и не сгорает, если честно. (ZyXEL оставляет за собой право и всё такое.)...

    Да, заметно в логе что происходит обновление-подтверждение

    Jul 27 19:35:01ndm Dns::Manager: added static record for "хххyyyzzz.mykeenetic.com", address 78.47.125.180. 

    Он же IP всегда один для любой записи домена, он же прописывается локально на роутере и явно подтверждается на сервере. Интересно. Огромный плюс что бесплатно.

    А со сгоранием один еще нюанс есть. Уехал человек работать на 3 или 5 месяцев. Выключил естественно все дома. Приехал - а имя-то сгорело *) Тут наверно нужно делать привязку поддомена еще к сервисному номеру или серийному роутера. Вот если не выходит на связь роутер с зарегистрированным именем год, тогда может и нормально. Или может сгорать через 10 дней, если сделали сброс и не пытаются зарегистрировать то же имя, сразу сгорает, если регистрируют при тактм раскладе другое имя, про старое забыв... 

    Вариантов хватает в принципе еще.

     

    P.S. Большое спасибо за функцию. Вот бы ее еще в 2.06 докинуть. Вроде я читал, что не планируется?

  11. Данное решение поможет в случаях после перегрузки роутера сохранять и просматривать системные логи. Будет полезно в случае ошибок в работе прошивки или неправильных настроек роутера, после самостоятельной перегрузки роутера сохранить лог и иметь возможность его просматривать. Возможно несколько вариантов снятия с роутера и записи его логов на внешний носитель данных. В моем случае, я посчитал удобным вариантом запись данных лога, используя тот же локальный роутер Zyxel с установленной системой Entware-Keenetic и приложением syslog-ng, так как в таком варианте запись необходимо вести постоянно, без перерывов. Возможен и вариант установки и приема логов при небольших корректировках и на другом роутере c установленным Entware-Keenetic и приложением syslog-ng.

    1. В первую очередь, конечно необходима установка системы Entware-Keenetic , следуя советам из темы по ссылке, на внешний, подключенный к USB носитель, отформатированный в NTFS, EXT2/3. На NTFS работает без ошибок и замечаний.

     

    2. Обновляем список приложений и инсталлируем логгер syslog-ng и редактор nano через Putty по ssh..

    opkg update
    
    opkg upgrade
    
    opkg install syslog-ng
    
    opkg install nano

    3. Настройка.

    а) Открываем в редакторе nano файл настроек syslog-ng. Обратите внимание. Кто обновляется со старых версий 2.хх  syslog-ng, смотрите мое сообщение здесь >>>> Ниже пока приведен пример настройки новой и свежеустановленной версии 3.9:

    Вызываем конфигурационный файл с помощью nano и редактируем его.

    nano /opt/etc/syslog-ng.conf

     

    Откроется окно следующего вида:

    syslogngconfig.thumb.jpg.ef0581ab8c210b44e81708a66c7b06c8.jpg

    На экране выше все настроено по моим предпочтениям и необходимостям, у вас же будет немного другого вида:

    Скрытый текст

    @version:3.9


    options {
            chain_hostnames(no);
            create_dirs(yes);
            flush_lines(0);
            keep_hostname(yes);
            log_fifo_size(256);
            log_msg_size(1024);
            stats_freq(0);
            flush_lines(0);
            use_fqdn(no);
    };

    source src {
            internal();
            unix-dgram("/dev/log");
    };

    source net {
            udp(ip(0.0.0.0) port(514));
    };

    source kernel {
            file("/proc/kmsg" program_override("kernel"));
    };

    destination messages {
            file("/opt/var/log/messages");
    };

    log {
            source(src);
            source(net);
            source(kernel);
            destination(messages);
    };

    # put any customization files in this directory
    # @include "/opt/etc/syslog-ng.d/"

    б) Настройка директории, куда будет все писаться, например прямо в свою папку на USB диске, где удобно. По умолчанию syslog пишет в файл messages по пути opt/var/log/messages

    Примеры перенастройки:

    - писать в корень вашего диска или флешки - нужно изменить путь opt/var/log/messages на opt/messages.
    - писать в папку syslogs на вашем диске - сначало создайте папку на вашем диске: Ваш_Диск - syslogs, потом укажите к ней путь opt/syslogs/messages.

     


    в) Для корректного сбора всех логов в следствии экспериментов выяснилось, что самый простой и правильный путь, чтобы получить именно все записи из журнала роутера, это задействование оригинальной функции прошивки отправки логов на удаленный сервер в настройках роутера:

    activate syslog sending.jpg

     

    и также сбор дополнительных записей из OPKG приложений (так как они из за настроек самих приложений часто не попадают в официальный журнал роутера, который вы видите на страничке роутера) и их прием с предварительно настроенной программкой syslog-ng.

     

    В локальном варианте сбора информации, когда syslog-ng ставиться на тот же роутер, на котором будут сниматься логи, строчки в файле конфигурации

    source src {
            internal();
            unix-dgram("/dev/log");
    };
    
    source net {
            udp(ip(0.0.0.0) port(514));
    };

    меняется на

    source src {
            internal();
    };
    
    source net {
            udp(ip(192.168.1.1) port(514));
    };

    где адрес моего роутера с 0.0.0.0 меняется на 192.168.1.1 и, как у меня ранее работало правильно, удаляется строка UNIX-stream unix-dgram("/dev/log"); (если ее оставить, то будет "съедаться" часть записей в официальный журнал - они пропадут, хотя в файл syslog и будут писаться, это же и актуально для тех, кто обновился с версий постарше на последнюю и ранее это не сделал)

     

    г) обязательно (!) нужно закоментировать путь к include из несуществующего конфигурационного файла custom-logs.conf

    #@include "/opt/etc/custom-logs.conf" (актуально для тех кто обновлялся с версий постарше)

    или (актуально для тех кто ставит с нуля или заново)

    # put any customization files in this directory
    @include "/opt/etc/syslog-ng.d/"

    переделать на

    # put any customization files in this directory
    # @include "/opt/etc/syslog-ng.d/"

     

    Потом проверяем на синтаксис на пожарный случай:

    syslog-ng -s

    и если не появилось никаких сообщений (в противном случае смотрим, что выскочил и проверяем где накосячили), продолжаем.

    На всякий случай ниже оставляю как у меня сконфигурирован файл со всеми изменениями, в некоторых случаях проще посмотреть так:

    Скрытый текст

    @version:3.9

    options {
            chain_hostnames(no);
            create_dirs(yes);
            flush_lines(0);
            keep_hostname(yes);
            log_fifo_size(256);
            log_msg_size(1024);
            stats_freq(0);
            flush_lines(0);
            use_fqdn(no);
    };

    source src {
            internal();
    };

    source net {
            udp(ip(192.168.1.1) port(514));
    };

    source kernel {
            file("/proc/kmsg" program_override("kernel"));
    };

    destination messages {
            file("/opt/share/www/messages");
    };

    log {
            source(src);
            source(net);
            source(kernel);
            destination(messages);
    };

    # put any customization files in this directory
    # @include "/opt/etc/syslog-ng.d/"

    Мои комментарии к конфигурации:

    Скрытый текст

    #здесь удалил строчку на UNIX-stream unix-dgram("/dev/log") , т.к. если ее оставить, то из официального журнала роутера будут "съедаться" часть записей


    source src {
            internal();

    #здесь поправил на адрес моего роутера с 0.0.0.0

    source net {
            udp(ip(192.168.1.1) port(514));

    #здесь изменил путь к записи файла журналов на мой диск по моему предпочтению. Вы можете оставить как есть в оригинале или прописать свой путь:

    destination messages {
            file("/opt/share/www/messages");

    #здесь закоментил путь к ненужным include в нашем случае

    # put any customization files in this directory
    # @include "/opt/etc/syslog-ng.d/"

     

    4. Для автоматического старта приложения с загрузкой системы syslog переименовывать/менять атрибут автозагрузки не нужно, т.к. при инсталяции в init.d он уже сразу становиться с атрибутом S (для автостарта) и запускается автоматически при старте роутера. Но может кому то не нужно, чтобы он стартовал и он хочет иногда только вручную запускать, тогда его нужно переименовать следующим образом:

    mv /opt/etc/init.d/S01syslog-ng /opt/etc/init.d/K01syslog-ng

    4. Стартуем его и наслаждаемся записью на диск в файл messages в выбранной папке на диске.

    /opt/etc/init.d/S01syslog-ng start

    (/opt/etc/init.d/K01syslog-ng start, если изменили атрибут автостарта ранее)


    5. Через некоторое время проверяем, что все пишется с помощью nano. Пишет он по умолчанию в файл messages по пути opt/var/log/messages, посмотреть можно скачав файл messages из директории Ваш_Диск/opt/var/log/ на диске на комп и открыв любым текстовым редактором или же с помощью nano, по умолчанию это, если вы не изменили путь:

    nano /opt/var/log/messages

    Или по пути, где вы прописали ранее.

     


    6. Коментарии.

    а) Пишет он лог из журнала на USB диск вроде довольно-таки быстро по моим наблюдениям, и должно сохранятся все, но в случае краша могут последние записи и не успеть сохраниться, тут уже нужно поэксперементировать.

    В таких случаях, по совету ув. Le ecureuil :  если вы считаете, что у вас реально происходит kernel panic, то последний дамп всегда можно получить командой в CLI (но работает пока только увы это на Ultra II и Giga III) - отправляется в облако и нужно обращаться с сервисным кодам к разработчикам:

    (config)> more proc:mtdoops/oops

     

    б) Если лог будет приниматься на удаленном роутере, скорее всего, на первом придется в брандмаузере/сетевом экране открыть и перенаправить порт udp 514 на адрес принимающего устройства в интернете, а также его открыть на принимающем устройстве. Пока не было возможности и необходимости самому попробовать, но пишут коллеги, что можно одновременно сохранять на самом диске роутера и отправлять, прописав таким образом путь destination (предложил @serguei00), пробуйте:

    destination messages { 
    
    file("/opt/var/log/messages"); 
    
    udp("1.1.1.1" port(514)); 
    
    };

     

    в) если syslog-ng не хочет стартовать и вы не можете найти проблему, почему. Выполните команду syslog-ng. Она покажет вам лог запуска. В нем и будет написана ошибка, из за которой сервис не стартует. Или проверьте конфигурационный файл на синтаксис: syslog-ng -s

     

    г) логи из opkg переставали писаться в системные логи? В файле messages они есть, а вот именно в веб-интерфейсе пропали? Файловая система - ext3, Entware-3x.... проблемы... ? Тогда все понятно, почему так. Данный мануал написан для (читайте 1 пункт) :

    1. В первую очередь, конечно необходима установка системы Entware-Keenetic , следуя советам из темы по ссылке, на внешний, подключенный к USB носитель, отформатированный в NTFS, EXT2/3. На NTFS также работает без ошибок и замечаний. На 3х никто не гарантирует ничего ... Но пишут коллеги (@DarkDiver), что можно все же и на 3х справиться, прописав таким образом, некоторые отзываются, что так заработало, пробуйте:

    Скрытый текст

    options {
    <------>chain_hostnames(no);
    <------>create_dirs(yes);
    <------>flush_lines(0);
    <------>keep_hostname(yes);
    <------>log_fifo_size(256);
    <------>log_msg_size(1024);
    <------>stats_freq(0);
    <------>flush_lines(0);
    <------>use_fqdn(no);
    };

    source src {
    <------>udp(ip(192.168.113.1) port(514));
    };

    source net {
    <------>udp(ip(0.0.0.0) port(514));
    };


    destination messages {
    <------>file("/opt/var/log/messages");
    };

    log {
    <------>source(src);
    <------>source(net);
    <------>destination(messages);
    };

    Или пробуйте такой вариант (фрагмент конфига, где в разделе src убрана строка unix-stream("/dev/log"); ), как предложил @gvan (на данный момент это также стало актуально и на последних версиях Entware-Keenetic нужно удалять unix-dgram("/dev/log"); ):

    Скрытый текст

    source src {
            internal();
    };

    source net {
            udp(ip(192.168.1.1) port(514));
    };

    source kernel {
            file("/proc/kmsg" program_override("kernel"));
    };

    destination messages {
            file("/opt/var/log/messages");
    };

    log {
            source(src);
            source(net);
            source(kernel);
            destination(messages);
    };

    Также смотрите сортировку логов по рамеру и дате, а также их компрессию, если вы планируете лог писать долго и хотите все упорядочить, не все в одном файле, как в данном примере, от автора gvan:

    Ротация логов в entware, записанных на внешний USB-диск

     

    • Thanks 5
  12. 3 часа назад, zyxmon сказал:

    На моем форуме или тут все было описано. Можно взять за основу старый wiki (для zyxware) - http://keenetic.zyxmon.org/wiki/doku.php/wiki:planirovschik_zadach_cron

    Сначала удалите vixie cron и переустановите busybox (для восстановления бинарника crontab)

    
    opkg remove cron
    opkg install --force-reinstall busybox

    В результате у Вас восстановится симлинк

    
    [Extra@~]>ls -al /opt/bin/cro*
    lrwxrwxrwx    1 root     root            16 Jul 26 11:56 /opt/bin/crontab -> /opt/bin/busybox

    Формат файла cronttab немного отличается. Для апплета на одно поле меньше, т.к. не указывается от какого юзера выполнять задание. Ну и нужно будет скрипт запуска сочинить.

     

    3 часа назад, zyxmon сказал:

    Вот тут подробно, но для entware без учета специфики кинетика - http://forums.zyxmon.org/viewtopic.php?p=13672#p13672

    Спасибо большое, поковыряю на досуге.

    P.S. Да, в общем все понятно, почитал, надо либо делать все на EXT2/3 либо через busybox, если хочется по каким то причинам, как например у меня, оставить NTFS.

  13. 11 минуту назад, Rezdbic сказал:

    Нафиг этот ваш KeenDNS! То не работает, это не работает! Как настроить ни кто не хочет рассказать! Инструкций по настройке и использованию нет... нафих

    Проще использовать DyDNS на no-ip.
    От темы отписался.

    Тема абсолютно новая, фича буквально вчера добавилась... Слишком вы наверное сразу налегаете на нее сразу. Основную свою функцию фича выполняет хорошо, дает возможность зайти на роутер через облако при абсолютно сером адресе, при котором раньше ну никак извне было не зайти. Потихоньку скорее всего функция обрастет и другими фишками...

  14. 2 часа назад, Александр Рыжов сказал:

    HOW-TO составлялся зимой, когда отдельного клона Entware для кинетиков не существовало. Проверяли, надеюсь, на Entware-Keenetic?

    Вы правы, проверялось все на Entware-Keenetic. Как только устанавливаем и запускаем именно cron - сыпется. 

    2 часа назад, zyxmon сказал:

    Вообще говоря userspace приложение не должно приводить к ошибкам в ядре. Рискну предположить, что файловая система для Entware - ntfs и баг в драйвере tuxera. Уже неоднократно писали, что vixie cron не совместим с ntfs - так как на этой файловой системе нет правильной поддержки атрибутов. Если у Вас ntfs - используйте апплет cron из установленного busybox.

    PS Тема вышла крайне "бардачной" - в ней перемешаны и cron (может даже оба варианта из Entware) и встроенный планировщик. Может найдется писатель, который изложит работу двух вариантов cron на кинетиках и изложит в отдельной теме, в "Решениях"?

    Да, ставилось все на NTFS. Тем более недавно как раз этот самый драйвер Tuxera обновлялся как раз на предмет линуксовских прав и совместимости и была надежда, что будет все нормально. Если не сложно, дайте пожалуйста подсказку как использовать cron applet из busybox , немного в общих штрихах?

    P.S. По бардаку - да, немного получилось, есть моя вина :) Прошу администраторов перекинуть контент по schedule (встроенному планировщику) в созданную мной отдельную тему или другую новую...

  15. В ‎01‎/‎12‎/‎2015 в 06:24, Александр Рыжов сказал:

    Update 28/02/2016. Прошу обратить внимание, теперь это штатная возможность прошивки и Entware больше не требуется. Инструкция ниже вам нужна только в том случае, если команда opkg прошивкой уже поддерживается, а schedule — ещё нет.

    Для того, чтобы включать точку доступа в определённое время необходимо:

    • Установить Entware,
    • Установить необходимые пакеты:
      
      opkg install cron ndmq
       
    • Отредактировать файл /opt/etc/crontab, добавив в него следующие строчки:
      
      00 09 * * * root ndmq -p 'interface WifiMaster0/AccessPoint0 up' -P message
      00 21 * * * root ndmq -p 'interface WifiMaster0/AccessPoint0 down' -P message
      
       
    • Запустить cron вручную
       

    Чтобы аналогичным образом управлять гостевой точкой, замените «WifiMaster0/AccessPoint0» на «WifiMaster0/AccessPoint1».

    В общем теперь точно установлено, что с роутером Ultra II и прошивкой NDMS version : v2.07(AAUX.2)B2 все не гладко работает, после установки, настройки и запуска работает все, но начинает сыпать в лог малоприятные строки:

    Цитата

    Jul 25 17:35:01ndmkernel: Kernel bug detected[#2]:

    Jul 25 17:35:01ndmkernel: Cpu 0

    Jul 25 17:35:01ndmkernel: $ 0   : 00000000 00000000 1c44109e 00000001

    Jul 25 17:35:01ndmkernel: $ 4   : 8fab3e80 00e5b000 8c9f66a6 00000000

    Jul 25 17:35:01ndmkernel: $ 8   : 00000000 00200200 00100100 8f538388

    Jul 25 17:35:01ndmkernel: $12   : 8f538390 00000001 00000006 00000238

    Jul 25 17:35:01ndmkernel: $16   : 8c02b800 8fa91ea0 80350000 81251184

    Jul 25 17:35:01ndmkernel: $20   : 8f7ac754 8f7abfb0 8fab3e80 8fa7ee98

    Jul 25 17:35:01ndmkernel: $24   : 00000000 8f7ac864                 

    Jul 25 17:35:01ndmkernel: $28   : 8fe50000 8fe51d00 7febcf99 800d0a94

    Jul 25 17:35:01ndmkernel: Hi    : 0000481f

    Jul 25 17:35:01ndmkernel: Lo    : 70f09100

    Jul 25 17:35:01ndmkernel: epc   : 8f7ac868 ntfs_destroy_big_inode+0x4/0x20 [tntfs]

    Jul 25 17:35:01ndmkernel:     Tainted: P      D    O

    Jul 25 17:35:01ndmkernel: ra    : 800d0a94 iget5_locked+0x184/0x22c

    Jul 25 17:35:01ndmkernel: Status: 1100fc03    KERNEL EXL IE

    Jul 25 17:35:01ndmkernel: Cause : 10800034

    Jul 25 17:35:01ndmkernel: PrId  : 0001992f (MIPS 1004Kc)


    Jul 25 17:40:01ndmkernel: Modules linked in: fastvpn(PO) hw_nat(O) esp4 igmpsn(PO) ntce(O) mt76x2_ap(O) ntc(PO) mt7621_eth(PO) rndis_host cdc_ether huawei_cdc_ncm asix option cdc_ncm usb_wwan usbextras(PO) authenc nls_utf8 kalmia thfsplus(O) nf_nat_rtsp nls_cp1251 usb_storage cdc_acm usblp dm9601 sd_mod sr_mod xhci_hcd nls_cp437 hw_cdc_net(O) sierra sg usbnet ext4 <5>get_file_caps: get_vfs_caps_from_disk returned -22 for /opt/bin/sh


    Jul 25 18:00:01ndmkernel: get_file_caps: get_vfs_caps_from_disk returned -22 for /opt/bin/sh

    И так по кругу... Проблема скорее думаю именно в cron, чем в другом здесь. Возможно, он не совместим с последней фичей прошивки schedule (на время эксперимента все списки для него были удалены, все вычищено). Сегодня для чистоты снесу только крон и приберу за ним на диске, оставлю ndmq, который конечно вряд ли виноват, как мне кажется. Вчера снес оба, в логе стало чисто, как было до установки cron. И так было, пока не поставил сегодня снова cron + ndmq , настроил и запустил их.

    P.S. Надеюсь, это относится к данной теме, это не жалоба, констатация факта какой-то несовместимости. В любом случае, идея интересная и достаточно, во всяком случае на данный отрезок времени, перспективная, так как позволяет реализовать по расписанию практически что угодно.

  16. Ссылаясь на тему включение и отключение wi-fi по расписанию, предлагаю расширить функционал новой команды schedule, чтобы ее можно было применить для временного ограничения скорости устройств по расписанию, например, по подобию полного ограничения выхода в интернет командой ip hotspot ( ip hotspot host {mac-address} schedule {schedule} ). В моем случае было бы круто обложить правилом trafficcontrol по расписанию какой ни будь хост в локальной сети. С ip hotspot интернет выключается полностью и умные устройства это чувствуя, переходят на мобильные данные и съедается незаметно весь траффик.

    Как хотелось бы:

    Создаю расписание.

    (config)> schedule trafficshape
    Core::Schedule::Manager: Created schedule "trafficshape".

    Прописываю время старта и конца действия.

    (config-sched)> action start 30 0 *

    Core::Schedule::Manager: Updated schedule "trafficshape".

    (config-sched)> action stop 0 6 *

    Core::Schedule::Manager: Updated schedule "trafficshape".

    (config-sched)>exit

    Узнаю мас известного уже хоста и  прописываю к нему правило шейпинга и привязываю его наподобие как в случае с ip hotspot чуть повыше (это уже пожелание, конечно не работает, возможно ли такое прикрутить)

    (config)>ip traffic-shape host cc:5d:4e:4c:f5:34 rate 64 schedule trafficshape

    ------------

    По ответу уважаемого Le ecureuil

    Сегодня обсуждали именно эту фичу, препятствий к реализации нет.

    Думаю именно в близком к вашему варианту и будет реализовано.

    --------------

    P.S. Думаю, есть смысл имхо каким-то образом вообще расширить функционал CLI команды schedule для широкого спектра функционала для ее использования с различными командами cli, которые только могут потребовать что то делать по расписанию, по подобию cron.

    • Thanks 1
  17. 21 минуту назад, ndm сказал:

    @Roman_Petrov Создайте, пожалуйста, тему в развитии NDMS для порядка.

    Сделано - создана отдельная тема. Так получилось, что переросло из одного потихоньку в другое.

  18. В ‎07‎/‎05‎/‎2016 в 08:23, ndm сказал:

    Расписания дёргают скрипты /opt/etc/ndm/schedule.d/. Делайте что душе угодно, в скрипт передаётся имя расписания в env-переменной schedule и start/stop в $1.

    А могли бы немного поподробнее подсказать пожалуйста, где можно почитать про это побольше? Если есть документация по скриптам, ткните носом - есть вопросы, как правильно тот самый скрипт создать для помещения в /opt/etc/ndm/schedule.d/ ? И как прописать тогда командой schedule, чтобы он дергался? Вот есть мысль сделать, как написал выше. Создать какой то скрипт, чтобы  передавалось CLI  сначала ip traffic-shape host cc:5d:4e:4c:f5:34 rate 64 а потом no ip traffic-shape host cc:5d:4e:4c:f5:34.

    Примерно понятно, как в OPKG cron это было бы, там достаточно просто можно (пробовал, работает, ограничивает), без скриптов.

    Отредактировать файл /opt/etc/crontab, добавив в него следующие строчки:

    00 09 * * * root ndmq -p 'ip traffic-shape host cc:5d:4e:4c:f5:34 rate 64' -P message
    00 21 * * * root ndmq -p 'no ip traffic-shape host cc:5d:4e:4c:f5:34' -P message

    Просто раньше как то не возникало необходимости делать обходными способами (не прямо, а посредством скрипта). Или забыть пока про это и оставить внешний OPKG cron?

    P.S. Жалко, что встроенной функции scheduler нет как бы явно и через web, очень актуальная вещь в наше время на самом деле. Наверное вы уже над этим работаете, не зря создавалась отдельная команда cli... Просто пока похоже с ней вариантов не много - start-stop, т.е. прямо не прописать с ней что хочется...

  19. В ‎07‎/‎05‎/‎2016 в 08:23, ndm сказал:

    Расписания дёргают скрипты /opt/etc/ndm/schedule.d/. Делайте что душе угодно, в скрипт передаётся имя расписания в env-переменной schedule и start/stop в $1.

    В моем случае было бы круто обложить правилом trafficcontrol по расписанию какой ни будь хост в локальной сети. С ip hotspot интернет выключается полностью и умные устройства это чувствуя, переходят на мобильные данные и съедается незаметно весь траффик.

    Как хотелось бы:

    Создаю расписание.

    (config)> schedule trafficshape
    Core::Schedule::Manager: Created schedule "trafficshape".

    Прописываю время старта и конца действия.

    (config-sched)> action start 30 0 *

    Core::Schedule::Manager: Updated schedule "trafficshape".

    (config-sched)> action stop 0 6 *

    Core::Schedule::Manager: Updated schedule "trafficshape".

    (config-sched)>exit

    Узнаю мас известного уже хоста и  прописываю к нему правило шейпинга и привязываю его наподобие как в случае с ip hotspot чуть повыше (это уже пожелание, конечно не работает, возможно ли такое прикрутить)

    (config)>ip traffic-shape host cc:5d:4e:4c:f5:34 rate 64 schedule trafficshape

     

    Возможна такая реализация в будущем пожалуйста? Выше было написано, что расписание только умеет дергать интерфейс up/down (start/stop), потом добавилась возможность ограничить выход устройства в интернет с помощью ip hotspot несколькими постами ниже и я подумал, а вдруг пройдет и такое. Но нет, видимо не предусмотрено... Спасибо заранее и успехов!

  20. 22 минуты назад, Le ecureuil сказал:

    Вопрос еще и в том, что если на Ultra II вывести все 8 + 7 = 15 светодиодов на переднюю панель получится полная жесть и все запутаются, что там вообще происходит.

    Все правильно, диоды портов находятся где нужно без сомнения, и бывает полезно, если без захода на интерфейс роутера видеть активность и линк порта.

  21. Имхо было бы полезно похожую информацию видеть не только по клиентам WiFi, но и по проводным, типа: время подключения, количество загруженных Мб, скорость  download/upload. Сейчас мне конечно этой инфы по подключённым клиентам не хватает. Причем это могло бы распространятся и на клиентов других сегментов. Имхо допилить таки вкладку hosts, как я предлагал выше.

    P.S. Пока проголосовал хотя бы за возврат вкладки, если мой вариант слишком сложен.

  22. Тогда еще нужно наверно, чтобы была возможность эти команды объединить  со встроенным расписанием, была тут тема "WiFi расписанию", там к командам расписания вроде можно было прикручивать все что угодно. Пока не использовал за ненадобностью, но в данном варианте имхо будет полезно. Типа ночью отключать светодиоды, утром включать по расписанию... 

    • Thanks 2
    • Upvote 1
  23. Присоединяюсь, мне часто тоже нужно создавать временные правила. Было бы удобно, если бы правила можно было бы активировать-деактивировать галочками или кнопками, при этом чтобы они хранились в памяти, один раз прописанные.

×
×
  • Create New...