-
Постов
739 -
Зарегистрирован
-
Посещение
-
Победитель дней
1
Тип контента
Профили
Форумы
Галерея
Загрузки
Блоги
События
Весь контент Roman_Petrov
-
Внимание! Данный способ является альтернативой новой 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, на других не тестировались. Прошу по возможности отписаться, как получилось, и комментировать, что можно было бы улучшить. Успехов!!!
-
Да, спасибо, я был в курсе. Да, действительно ведь, последняя beta и draft для 2.07 вышли вместе. Ждем с нетерпением 2.08 !
-
Да, вот как раз туннеля бы и хотелось на серый адрес-то, вот сделали, было бы классно. В этом как раз фишка вся, как говорят. Но если это сложно, понятно тоже конечно. P.S. Не draft(development) а именно delta (beta)? Я правильно понимаю?
-
Как вариант, и неплохой, используется мною на Ultra-II - функция "умного шейпинга" IntelliQos. Но я не знаю, есть ли она в Keenetic DSL, так например, на другом роутере Ultra она так пока и не появилась, разработчики говорили, что есть пока какие то проблемы с ее имплементацией. Будем надеется, вскоре таки появится для всех прошивок...
- 4 ответа
-
- 1
-
-
Да, заметно в логе что происходит обновление-подтверждение 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 докинуть. Вроде я читал, что не планируется?
-
Данное решение поможет в случаях после перегрузки роутера сохранять и просматривать системные логи. Будет полезно в случае ошибок в работе прошивки или неправильных настроек роутера, после самостоятельной перегрузки роутера сохранить лог и иметь возможность его просматривать. Возможно несколько вариантов снятия с роутера и записи его логов на внешний носитель данных. В моем случае, я посчитал удобным вариантом запись данных лога, используя тот же локальный роутер 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 Откроется окно следующего вида: На экране выше все настроено по моим предпочтениям и необходимостям, у вас же будет немного другого вида: б) Настройка директории, куда будет все писаться, например прямо в свою папку на USB диске, где удобно. По умолчанию syslog пишет в файл messages по пути opt/var/log/messages Примеры перенастройки: - писать в корень вашего диска или флешки - нужно изменить путь opt/var/log/messages на opt/messages. - писать в папку syslogs на вашем диске - сначало создайте папку на вашем диске: Ваш_Диск - syslogs, потом укажите к ней путь opt/syslogs/messages. в) Для корректного сбора всех логов в следствии экспериментов выяснилось, что самый простой и правильный путь, чтобы получить именно все записи из журнала роутера, это задействование оригинальной функции прошивки отправки логов на удаленный сервер в настройках роутера: и также сбор дополнительных записей из 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 и если не появилось никаких сообщений (в противном случае смотрим, что выскочил и проверяем где накосячили), продолжаем. На всякий случай ниже оставляю как у меня сконфигурирован файл со всеми изменениями, в некоторых случаях проще посмотреть так: Мои комментарии к конфигурации: 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х справиться, прописав таким образом, некоторые отзываются, что так заработало, пробуйте: Или пробуйте такой вариант (фрагмент конфига, где в разделе src убрана строка unix-stream("/dev/log"); ), как предложил @gvan (на данный момент это также стало актуально и на последних версиях Entware-Keenetic нужно удалять unix-dgram("/dev/log"); ): Также смотрите сортировку логов по рамеру и дате, а также их компрессию, если вы планируете лог писать долго и хотите все упорядочить, не все в одном файле, как в данном примере, от автора gvan: Ротация логов в entware, записанных на внешний USB-диск
-
Тема абсолютно новая, фича буквально вчера добавилась... Слишком вы наверное сразу налегаете на нее сразу. Основную свою функцию фича выполняет хорошо, дает возможность зайти на роутер через облако при абсолютно сером адресе, при котором раньше ну никак извне было не зайти. Потихоньку скорее всего функция обрастет и другими фишками...
-
Ограничение скорости устройств по расписанию
Roman_Petrov опубликовал вопрос в Реализованные пожелания
Ссылаясь на тему включение и отключение 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. -
Было бы красиво, голос оставляю.
-
Имхо было бы полезно похожую информацию видеть не только по клиентам WiFi, но и по проводным, типа: время подключения, количество загруженных Мб, скорость download/upload. Сейчас мне конечно этой инфы по подключённым клиентам не хватает. Причем это могло бы распространятся и на клиентов других сегментов. Имхо допилить таки вкладку hosts, как я предлагал выше. P.S. Пока проголосовал хотя бы за возврат вкладки, если мой вариант слишком сложен.
-
Тогда еще нужно наверно, чтобы была возможность эти команды объединить со встроенным расписанием, была тут тема "WiFi расписанию", там к командам расписания вроде можно было прикручивать все что угодно. Пока не использовал за ненадобностью, но в данном варианте имхо будет полезно. Типа ночью отключать светодиоды, утром включать по расписанию...
-
В "бездисковом" варианте как вы ее использовать будете? Представьте себе, что не всем нужно качать что-то роутером, есть люди, которые используют эти приборы только как именно роутеры. Поставтье мини флешку на 4-8 Гб и все дела. Установить OPKG не так уж сложно и точно можете заметно расширить функционал... Функция потушить светодиоды как вам далеко не каждому нужна, вряд ли такое станут встраивать в прошивку. Хотя все возможно.
-
В общем, поковырял немного тему, поменял в конфиге syslog-ng, как рекомендуют в теме https://www.balabit.com/wiki/syslog-ng-faq-kmsg-klogd source src { unix-stream("/dev/log"); internal(); }; на source src { file("/proc/kmsg"); unix-stream("/dev/log"); internal(); }; чтобы дополнительно читалось и из /proc/kmsg (он вообще имеет место быть здесь?) но тем не менее, журнал роутера не попадает в записываемый лог. Там еще есть вариант менять на не рекомендуемый вариант using '''klogd''' from the sysklogd package. Какой путь к нему правильный, не хватает знаний? Будет ли работать так? Могли бы вы дать какой нибудь дельный совет, как правильно получить этот лог, чтобы он параллельно считывался на syslog-ng?
-
Спасибо за перенос моей темы, которая получилась в отдельный topic. И извините, что получился offtopic.
-
Ну это как раз не проблема найти и сделать, только на комп не хотел. Хочу импровизировать на Keneetic.. Но эта тема начинает превращаться в конкретный оффтоп, пора переносить ее в отдельный топик, чего я не сделал и могу нагоняй счас получить уже наверно от ув. админов (не сердитесь пожалуйста).
-
http://www.ekzorchik.ru/2013/03/ubuntu- ... lite-logs/ http://www.ekzorchik.ru/2013/08/configu ... ic-giga-2/ но тут больше конфигурация как принимать лог, судя по всему настройка отправлять удалена в новых версиях. чтение логов ядра действительно происходит из другого места (/proc/kmsg или из klogd) возможно этот faq подойдет https://www.balabit.com/wiki/syslog-ng-faq-kmsg-klogd Да, это стало понятно, что из другого места сразу после установки и непродолжительного испытания. Думаю в субботу появиться еще время, поковыпюряю его еще. За ссылки спасибо, почитаю, может там что будет полезное. На худой конец устрою прием лога на другом устройстве, мне ж результат важен. Интересно, что после установки syslog-ng он собака больше не перегружался не разу *) Наверно испугался, что взляли за рога.
-
Коротенький мануал, как успел сегодня сделать К сожалению, не совсем работает, подхватывает лог только от pure-ftpd и о собственном запуске и остановке . Нужно править, откуда он берет лог журнала роутера, какой нам нужен. 1. инсталим логгер syslog-ng и редактор nano через Putty opkg install syslog-ng opkg install nano 2. можно его настроить, например директорию куда он писать будет, например прямо в свою папку на USB диске, где удобно. Но и так он по умолчанию берет все из роутера и пишет в файл messages по пути opt/var/log/messages nano /opt/etc/syslog-ng.conf P.S. [/b] Не все так просто, но сегодня нет желания уже разбираться, устал. Нужно что то править еще или реализовать по другому.
-
Спасибо, единственное я хотел что ни будь смонтировать на OPKG на другом Zyxel или может на диск писать. Винда имеется только на одном ноуте и его не держу включенным. Про spylogd я слышал, но вот есть ли он в пакетах Entware Keneetic, или какой нибудь его аналог, есть ли примеры его настройки? http://pkg.entware-keenetic.ru/binaries ... kages.html syslog-ng тож самое на любой линукс/солярис/bsd машинке. сейчас попробую. Да, есть такой... Сейчас его конфиг найдем только настроить... Может его на этот же роутер можно присобачить и заставить на USB диск писать, не надо будет городить ничего... Простите за глупости, никогда не было надобности. Кстати, ссылка, которую вы дали (http://pkg.entware-keenetic.ru/binaries ... kages.html ) это кстати keenopkg а у меня Entware-Keneetic, чуть другой проект, но не суть важно, там это есть тоже. легче лист посмотреть сразу в нем через консоль, просто поленился я, честно И не знал что именно подойдет. Поковыряюсь на досуге. Спасибо!!! P.S. вспомнил, да, была уже где то это здесь эта тема вроде или на одном другом известном форуме...
-
Принимать хоть на винде. http://www.delayer.org/2013/04/windows- ... ndows.html одна из первых ссылок. Спасибо, единственное я хотел что ни будь смонтировать на OPKG на другом Zyxel или может на диск писать. Винда имеется только на одном ноуте и его не держу включенным. Про spylogd я слышал, но его нет в пакетах Entware Keneetic, может только есть какой нибудь его аналог, есть ли примеры его настройки?
-
dropbox напрямую протокол webdav не поддерживает (только через посредников). Onedrive - не помню, скорее не поддерживает. Так что не выйдет. Спасибо, а жаль на самом деле. Т.к. в моем варианте было бы более актуально (я далеко от сервисов Яндекса). Но интересно, что на Win10 и телефоне помоему можно было все таки монтировать как то таким образом Onedrive , что он отображался как диск. Попробую на днях посмотреть точнее, т.к. до сих пор сервисами облачных дисков не особо пользовался - нет доверия к приватности и надежности. Но теперь подумал, что таким образом можно было бы сделать достаточно удобную помойку не критичных к безопасности файлов.
- 26 ответов
-
- entware
- yandex.disk
-
(и ещё 1 )
C тегом: