--}}
Новая тема
Вы не можете создавать новые темы.
Т.к. вы неавторизованы на сайте. Пожалуйста назовите себя или зарегистрируйтесь.
Список тем

Помогите доработать скрипт для микротика

Сисадминское
56
23
С друзьями на NN.RU
В социальных сетях
Поделиться
acella
16.11.2014
Всем привет.
Есть скрипт с хабра, который парсит кеш DNS и добавляет ip нужного домена в адрес лист.
Проблема в том что он работает как то не адекватно и добавляет не все записи что есть в кеше.
Как сделать , что бы добавлялись все А записи в которых есть имя искомого домена, включая все поддомены ?

Статья из которой взят скрипт
habrahabr.ru/post/242143/

Вот скрипт с доменами гугла

:local DNSList {"google.com";"google.ru";"gstatic.com"}
:local ListName "allow_https_domain"
:local DNSServer "192.168.2.1"
:foreach addr in $DNSList do={
:do {:resolve server=$DNSServer $addr} on-error={:log debug ("failed to resolve $addr")}
}
/ip firewall address-list remove [find where list~$ListName]
/ip dns cache all
:foreach i in=[find type="A"] do={
:local bNew true
:local cacheName [get $i name]
:local match false
:foreach addr in=$DNSList do={
:if (:typeof [:find $cacheName $addr] >= 0) do={
:set $match true
}
}
:if ( $match ) do={
:local tmpAddress [/ip dns cache get $i address]
:if ( [/ip firewall address-list find ] = "") do={
:log debug ("added entry: $[/ip dns cache get $i name] IP $tmpAddress")
/ip firewall address-list add address=$tmpAddress list=$ListName comment=$cacheName
} else={
:foreach j in=[/ip firewall address-list find ] do={
:if ( [/ip firewall address-list get $j address] = $tmpAddress ) do={
:set bNew false
}
}
:if ( $bNew ) do={
:log debug ("added entry: $[/ip dns cache get $i name] IP $tmpAddress")
/ip firewall address-list add address=$tmpAddress list=$ListName comment=$cacheName
}
}
}
}
Мда, зачем-то свой скриптовый язык запилили :-/

Ну дык отлаживать надо. Выполняйте команды построчно и смотрите где что не так выполняется.
acella
16.11.2014
Я тут немного погуглил , но так и не нашёл как хотя бы вывести в консоль значение переменной )

А если скопипастить в консоль , она адово пересирает команды
GPRSnik
16.11.2014
log info ($previousIP)
acella
16.11.2014
Оно не передаёт в лог значение переменной (
GPRSnik
16.11.2014
acella
16.11.2014
Ну а где вывод лога о содержимом этой переменной ?
GPRSnik
16.11.2014
нижняя строка вроде читается? )))
acella
16.11.2014
Аа, вон где.
А у меня пусто , только меседж что событие было и время
GPRSnik
17.11.2014
посмотри что в переменных
log info ("ssasdadsasd") работает?
acella
17.11.2014
да
Ёпрст... Надумал тут микротик взять с гиговым WAN-ом, а тут такие извращения с его ОСью... Не, поковыряю что-нибудь другое, пожалуй...
MaxFrodo
17.11.2014
А кто вас заставляет для него скрипты писать, там и без них функционала за глаза.
Ну вон пишут же, значит бывает необходимость. Вопрос в том, зачем было создавать свой язык, когда их и так полно.
MaxFrodo
17.11.2014
Вообще-то там своя ОС и под нее скриптовый язык. Может bash для Linux тоже не стоило создавать или powershell для окошек ?
Баш не был принципиально новым, основы синтаксиса заимствованы из оболочки Юникс (Bourne Shell).

RouterOS основан на Линукс, не?

Powershell действительно не стоило создавать по той же причине :D
acella
17.11.2014
Взял другой микротик , запустил скрипт там - вроде нормально отработал - 66 адресов выковырял.
Муть какая то ))
GPRSnik
18.11.2014
прошивка (версия) может старая?
acella
18.11.2014
Одинаковые, не давно куплены обе железки , на обеих обновил прошивку до 3.17
Просто какой то глюк.
Резетнул конфиг с Keep User Configuration - но он не вернулся ))
Завтра посмотрю чего с ним ))
zormax
18.11.2014
3.17 это бутлоадер, а не версия ос :-)
acella
18.11.2014
я знаю , ось то же у обоих одинаковая
MaxFrodo
19.11.2014
одинаковая - это какая ?
acella
19.11.2014
Это 6.22
Сейчас поставил 6.23rc1 - разница есть
на 6.22 скрипт выгребает всего 17-18 записей и всё.
Почему так хз
Новая тема
Вы не можете создавать новые темы.
Т.к. вы неавторизованы на сайте. Пожалуйста назовите себя или зарегистрируйтесь.
Список тем
Последние темы форумов
Форум Тема (Автор) Последний ответ Ответов
Оперативная память Corsair XMS3 CMX8GX3M2A1600C9

Оперативная память Corsair XMS3 CMX8GX3M2A1600C9 Отправка в регионы после оплаты. Продаются сразу обе. Цена за обе 2000 руб....
Цена: 1 000 руб.

Сетевой фильтр APC Surge Arrest

Сетевой фильтр APC Surge Arrest для радиолюбителя.и не только Отправка в регионы после оплаты. ЦЕНА 3000 руб. В рабочем состоянии....
Цена: 3 000 руб.

Принтер лазерный HEWLETT PACKARD HP-6L

Принтер лазерный HEWLETT PACKARD HP-6L Отправка в регионы после оплаты. 3штуки БУ. Внешний вид из магазина простояли на складе...
Цена: 4 500 руб.

Материнские платы на запчасти и не только

Материнские платы на запчасти и не только Материнские платы и другие комплектующие Отправка в регионы после оплаты. Транспортной...
Цена: 3 000 руб.