add src/dst to adress list

Раздел для тех, кто начинает знакомиться с MikroTik
Правила форума
Как правильно оформить вопрос.
Прежде чем начать настройку роутера, представьте, как это работает. Попробуйте почитать статьи об устройстве интернет-сетей. Убедитесь, что всё, что Вы задумали выполнимо вообще и на данном оборудовании в частности.
Не нужно изначально строить Наполеоновских планов. Попробуйте настроить простейшую конфигурацию, а усложнения добавлять в случае успеха постепенно.
Пожалуйста, не игнорируйте правила русского языка. Отсутствие знаков препинания и неграмотность автора топика для многих гуру достаточный повод проигнорировать топик вообще.

1. Назовите технологию подключения (динамический DHCP, L2TP, PPTP или что-то иное)
2. Изучите темку "Действия до настройки роутера".
viewtopic.php?f=15&t=2083
3. Настройте согласно выбранного Вами мануала
4. Дочитайте мануал до конца и без пропусков, в 70% случаев люди просто не до конца читают статью и пропускают важные моменты.
5. Если не получается, в Winbox открываем терминал и вбиваем там /export hide-sensitive. Результат в топик под кат, интимные подробности типа личных IP изменить на другие, пароль забить звездочками.
6. Нарисуйте Вашу сеть, рисунок (схему) сюда. На словах может быть одно, в действительности другое.
-user-
Сообщения: 30
Зарегистрирован: 21 мар 2013, 10:05

podarok66 писал(а):попробуйте посидеть и почитать http://wiki.mikrotik.com/wiki/Manual:Scripting . Там не столь много информации, понять можно.

ок, пошел читать :-):

podarok66 писал(а):А то Ваши выкладки очень сложно просто разобрать, так Вы там изворачиваетесь.

да вроде норм, в "Notrpad++" мышкой ткну в скобку ]}) , а её ответная скобка подсвечивается красным :-):

podarok66 писал(а):Вполне возможно, что придется $VarIP изменять с помощью set...

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

upd: вон даже в мануале в первых строчках пишут что так и нужно :hi_hi_hi: - [param=[value]] .. [param=[value]]


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

-user- писал(а):upd: вон даже в мануале в первых строчках пишут что так и нужно :hi_hi_hi: - [param=[value]] .. [param=[value]]

Wiki писал(а):Global commands

Every global command should start with ":" token, otherwise it will be treated as variable.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
-user-
Сообщения: 30
Зарегистрирован: 21 мар 2013, 10:05

podarok66 писал(а):Every global command should start with ":" token, otherwise it will be treated as variable.
:-): пока в процессе чтива манов, но вот нашел строчку (как раз речь про начало : и конец ; )
Each command line inside another command line starts and ends with square brackets "[ ]".

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

:put [/ip route get [find gateway=1.1.1.1]];  


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

Ну да, всё верно, если Вы собрались в процесс работы одной команды использовать результаты выполнения другой команды, то вторую команду можно внести в нужное место основной команды, взяв в квадратные скобки. Или использовать переменную, если результат нужен несколько раз...


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
-user-
Сообщения: 30
Зарегистрирован: 21 мар 2013, 10:05

вместо изучения "queues" потрачено время на скрипты :cry_ing:
в итоге родился такой скрипт... у меня на v6.19 работает так, как это было в моей изначальной хотелке...
Возможно много косяков, жду критики от спецов, дабы улучшить/ускорить "процесс".

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

{:global FuncRUN do={:foreach i in [/ip fi ad find list=$VarLIST dynamic] do={[local VarIP] [ set VarIP [/ip fi ad get $i address]] [/ip fi ad remove [find address=[get $i address]]] [/ip fi ad add address=$VarIP list=$VarLIST]}}
# MyList - target Address List
$FuncRUN VarLIST=MyList}

Manual:Scripting на вики микротика и правда не плох :smu:sche_nie: :co_ol:
Всем спасибо за помощь. :a_g_a:

С уважением.
Последний раз редактировалось -user- 28 авг 2014, 22:20, всего редактировалось 1 раз.


vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

Никогда так не пишите скрипты

[/ip fi ad add address=$VarIP list=$VarLIST]}}


Есть интересная задача и бюджет? http://mikrotik.site
-user-
Сообщения: 30
Зарегистрирован: 21 мар 2013, 10:05

vqd писал(а):Никогда так не пишите скрипты
[/ip fi ad add address=$VarIP list=$VarLIST]}}

опишите пожалуйста, что нужно исправить? в чем ошибка... ведь если бы знал что не так, сразу написал бы правильно :-):
на что заменить? :-(

upd: или Вы про сокращение команд? если про это, то в официальном ВИКИ про это есть.


vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

Ошибка в отношении

Откройте мои скрипты и посмотрите, а теперь представите что я вам написал что то типа

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

/ip fi na ad

Это тоже рабочее но я думаю что на первых парах вы бы подумали что я вас послал

Да и ваши приемники вам спасибо не скажут


Есть интересная задача и бюджет? http://mikrotik.site
vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

Я вот начал ваш скрипт смотреть. но как то перестал ибо фу . TAB жмите если писать лень


Есть интересная задача и бюджет? http://mikrotik.site
-user-
Сообщения: 30
Зарегистрирован: 21 мар 2013, 10:05

vqd писал(а):Ошибка в отношении

ок понял :-):
думал раз с официального мануала взято, то так и нужно, ок, исправлюсь, отношусь ко всем хорошо :mi_ga_et:

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

{:global FuncRUN do={:foreach i in [/ip firewall address-list find list=$VarLIST dynamic] do={[local VarIP] [ set VarIP [/ip firewall address-list get $i address]] [/ip firewall address-list remove [find address=[get $i address]]] [/ip firewall address-list add address=$VarIP list=$VarLIST]}}
# MyList - target Address List
$FuncRUN VarLIST=MyList}


Ответить