Рандомно выбрать адрес из списка адресов

Обсуждение ПО и его настройки
Ответить
kreotoDr
Сообщения: 21
Зарегистрирован: 31 мар 2018, 09:13

Всем добра!
Есть список адресов, к примеру, от 1-100
Стоит задача рандомно выбирать раз в сутки адрес из этого списка и вносить его в определенное поле. Как реализовать рандом, раз в сутки и внесение выбранного IP адреса с помощью скрипта я понимаю. Вопрос как выбрать по номеру (или как то иначе) случайный адрес из списка?


Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Если у Тика есть интернет, то скриптиком. В сети гулял вариант с генерацией пароля в помощью сетевых ресурсов. Если запрос чуть переделать, то выходит вот такой скрипт:

Код: Выделить всё

:global RandomOrg "";
/tool fetch url="https://www.random.org/strings/\?num=1&len=2&digits=on&unique=on&format=plain&rnd=new" keep-result=yes dst-path="pass.txt";
delay 3;
:global RandomOrg [/file get pass.txt contents];
/file remove pass.txt;
:put $RandomOrg
Дальше выбираете адрес в куче ваших адресов. Например собираете из них массив и потом дёргаете из него нужный элемент. Я бы массив собирал единожды при старте роутера и держал в глобальной переменной, а вот дёргал бы как только надо... Там есть пара мелочей, на которые надо обращать внимание, сделать всё под ключ не столь уж трудно. Думаю справитесь. Если нет, милости прошу в стол заказов :-)


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
user36742
Сообщения: 3
Зарегистрирован: 22 янв 2020, 07:06

podarok66 писал(а): 11 фев 2020, 21:40 Если у Тика есть интернет, то скриптиком. В сети гулял вариант с генерацией пароля в помощью сетевых ресурсов. Если запрос чуть переделать, то выходит вот такой скрипт:

Код: Выделить всё

:global RandomOrg "";
/tool fetch url="https://www.random.org/strings/\?num=1&len=2&digits=on&unique=on&format=plain&rnd=new" keep-result=yes dst-path="pass.txt";
delay 3;
:global RandomOrg [/file get pass.txt contents];
/file remove pass.txt;
:put $RandomOrg
Дальше выбираете адрес в куче ваших адресов. Например собираете из них массив и потом дёргаете из него нужный элемент. Я бы массив собирал единожды при старте роутера и держал в глобальной переменной, а вот дёргал бы как только надо... Там есть пара мелочей, на которые надо обращать внимание, сделать всё под ключ не столь уж трудно. Думаю справитесь. Если нет, милости прошу в стол заказов :-)
А что значит очереди погасил? Это у Ва в подписи. :du_ma_et:


CCR1009-7G-1C-1S+
kreotoDr
Сообщения: 21
Зарегистрирован: 31 мар 2018, 09:13

Спасибо!


Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

user36742 писал(а): 12 фев 2020, 03:46 А что значит очереди погасил? Это у Ва в подписи.
То и значит. Часть ожидаемых плюшек может неадекватно отрабатывать, если первоначальную настройку новых хотелок проводить на устройстве, на котором работают вышеперечисленные радости. Сначала проверяем при всём отключённом, потом аккуратно активируем пошагово, проверяя, не обвалится ли всё... Дебагинг в первом приближении :-)
Тут значительная часть вопросов решалась именно так.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
user36742
Сообщения: 3
Зарегистрирован: 22 янв 2020, 07:06

podarok66 писал(а): 12 фев 2020, 18:33
user36742 писал(а): 12 фев 2020, 03:46 А что значит очереди погасил? Это у Ва в подписи.
То и значит. Часть ожидаемых плюшек может неадекватно отрабатывать, если первоначальную настройку новых хотелок проводить на устройстве, на котором работают вышеперечисленные радости. Сначала проверяем при всём отключённом, потом аккуратно активируем пошагово, проверяя, не обвалится ли всё... Дебагинг в первом приближении :-)
Тут значительная часть вопросов решалась именно так.
Как говорится "Ничего не понял, но было интересно"
Может дадите ссылку ни пример типичной проблемы решенной этим способом. Ато я сперва думал это что-то связанное с ограничителем скорости queue.


CCR1009-7G-1C-1S+
kreotoDr
Сообщения: 21
Зарегистрирован: 31 мар 2018, 09:13

СПАСИБО!
Все получилось...

Не подскажете?
Это баг или фича ROS 6.46.3

Простейший скрипт:

Код: Выделить всё

{
   /ip firewall nat disable 7;  
   :delay 2s;
   /ip firewall nat enable 7;  
}
Из консоли запускается, и делает то, что в нем. Если нажать на кнопку RUN Script ничего не происходит...

https://youtu.be/qVqtcGpntrM


Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

kreotoDr писал(а): 13 фев 2020, 08:17 СПАСИБО!
Все получилось...

Не подскажете?
Это баг или фича ROS 6.46.3

Простейший скрипт:

Код: Выделить всё

{
   /ip firewall nat disable 7;  
   :delay 2s;
   /ip firewall nat enable 7;  
}
Из консоли запускается, и делает то, что в нем. Если нажать на кнопку RUN Script ничего не происходит...

https://youtu.be/qVqtcGpntrM
Не баг это. Правила нумеруются в момент срабатывания команды print. И работает это только в этом окне терминала... Для безошибочного поиска нужного правила используйте comment.

Код: Выделить всё

[code]{
   /ip firewall nat set [find comment="System 7"] disabled=yes;  
   :delay 2s;
   /ip firewall nat set [find comment="System 7"] disabled=no;  
}
Обратите внимание, что если правил с comment="System 7", команда отработает по всем. У меня дома таким образом отрабатывают блоки правил фаервола по команде через ssh с телефона с помощью программы "SSH button"


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

user36742 писал(а): 13 фев 2020, 02:06 Как говорится "Ничего не понял, но было интересно"
Может дадите ссылку ни пример типичной проблемы решенной этим способом. Ато я сперва думал это что-то связанное с ограничителем скорости queue.
То есть вы ничего не поняли и решили развлекаться, тратя моё время? Ну нет, дружище. Бесплатных развлечений поищите в другом районе. Поиск работает для всех одинаково. Или вы считаете, что я форумные разговоры наизусть учу?


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Ответить