Всем привет.
Есть скрипт с хабра, который парсит кеш DNS и добавляет ip гуглосервисов в адрес лист.
Проблема в том что он работает как то не адекватно и добавляет не все записи что есть в кеше.
Создаётся 16-19 записей и всё, цикл прерывается.
Как сделать , что бы добавлялись все А записи в которых есть имя искомого домена, включая все поддомены ?
Статья из которой взят скрипт
Помогите доработать скрипт
- podarok66
- Модератор
- Сообщения: 4402
- Зарегистрирован: 11 фев 2012, 18:49
- Откуда: МО
А оно Вам надо? Нагрузка на камень в моём RB951U во время работы скрипта 100%, а работает он ну очень долго, у меня около 5 минут... Ну их на фиг, такие заморочки.
Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
-
- Сообщения: 7
- Зарегистрирован: 16 ноя 2014, 21:58
Хм, а с чего бы такая нагрузка ?
Вы наверное не правильно поняли.
Записей с доменами гугла в кеше всего несколько десятков, скрипт работает доли секунды.
Да и работать он будет раз в сутки, а то и реже .
Собственно задача: получить ip доменов из "белого"списка и разрешить к ним доступ по https.
А остальное https запретить.
гугл для примера, да и у него больше всего адресов.
Список достаточно большой и использовать правила фаэра с content= не очень годное решение.
Вы наверное не правильно поняли.
Записей с доменами гугла в кеше всего несколько десятков, скрипт работает доли секунды.
Да и работать он будет раз в сутки, а то и реже .
Собственно задача: получить ip доменов из "белого"списка и разрешить к ним доступ по https.
А остальное https запретить.
гугл для примера, да и у него больше всего адресов.
Список достаточно большой и использовать правила фаэра с content= не очень годное решение.
-
- Сообщения: 75
- Зарегистрирован: 09 окт 2014, 16:46
acella писал(а):Хм, а с чего бы такая нагрузка ?
Вы наверное не правильно поняли.
Записей с доменами гугла в кеше всего несколько десятков, скрипт работает доли секунды.
Да и работать он будет раз в сутки, а то и реже .
Собственно задача: получить ip доменов из "белого"списка и разрешить к ним доступ по https.
А остальное https запретить.
гугл для примера, да и у него больше всего адресов.
Список достаточно большой и использовать правила фаэра с content= не очень годное решение.
У меня отрабатывает нормально. Результатом этого скрипта будут только домены второго уровня. Откуда ему знать про имена хостов и домены третьего уровня? Что бы знать нужно их резольвить, а он резольвит, по сути, хосты отвечающие непосредственно за домены с указанным именем (google.com и т.д.). Чтобы получить всю таблицу поддоменов и хостов гугла нужно у него запросить его домен - сделать трансфер требуемой зоны, но это дело утилит DNS сервера, да и не позволит никто свою зону забрать. В твоем случае правильнее использовать вычисляемое выражение в на седьмом уровне стека TCP/IP.
ЗЫ: кэш неплохо бы зачистить перед запуском скрипта...
-
- Сообщения: 7
- Зарегистрирован: 16 ноя 2014, 21:58
Строки где скрипт резольвит эти домены, для того, что бы в кеше было хоть что то.
На случай если он пуст.
В реальности там все записи на которые идут запросы от юзеров.
В том числе и третьего и четвёртого уровня.
Я сравниваю результат работы скрипта и содержимое кеша.
И вижу что скрипт создал 16 записей с доменами id.l.google.com , mobile-gtalk.l.google.com и т д
Но не тронул google.ru хотя в кеше таких записей как минимум 15 штук.
И каждый запуск скрипта приносит рандомные результаты, но количество записей всегда 16-20 штук +-
И это печально.
Если не трудно, создайте кеш запросов к гуглу - (достаточно открыть страницу поиска и чего нибудь найти )
И запустите скрипт - сколько записей он создаст ?
Зачем, чего же он парсить будет , кроме того что нарезольвит ))
На случай если он пуст.
В реальности там все записи на которые идут запросы от юзеров.
В том числе и третьего и четвёртого уровня.
Я сравниваю результат работы скрипта и содержимое кеша.
И вижу что скрипт создал 16 записей с доменами id.l.google.com , mobile-gtalk.l.google.com и т д
Но не тронул google.ru хотя в кеше таких записей как минимум 15 штук.
И каждый запуск скрипта приносит рандомные результаты, но количество записей всегда 16-20 штук +-
И это печально.
Если не трудно, создайте кеш запросов к гуглу - (достаточно открыть страницу поиска и чего нибудь найти )
И запустите скрипт - сколько записей он создаст ?
ЗЫ: кэш неплохо бы зачистить перед запуском скрипта...
Зачем, чего же он парсить будет , кроме того что нарезольвит ))
-
- Сообщения: 7
- Зарегистрирован: 16 ноя 2014, 21:58
Чудеса.
Запустил этот скрипт на другом микротике - совсем другое дело.
С пустым кешем на первом микротике создаётся только 16 записей , а на втором , при тех же условиях 50 записей.
Попробую завтра сбросить у него конфиг
Запустил этот скрипт на другом микротике - совсем другое дело.
С пустым кешем на первом микротике создаётся только 16 записей , а на втором , при тех же условиях 50 записей.
Попробую завтра сбросить у него конфиг
-
- Сообщения: 75
- Зарегистрирован: 09 окт 2014, 16:46
Ну в общем немного покурил я этот скрипт. При ближайшем рассмотрении это не более чем демонстрация возможностей скриптового языка. Пистать так не нужно для реальных задач.
При большом кол-ве записей в кэше скрипт просто не успеет обработать его и часть записей будут удалены как устаревшие. К сожалению так и не смог понять как добавлять элементы в индексный массив, поэтому данные держу в списках.
Вроде как сошлось.
Запись в логи оставлена для наглядности :)
вот этот кусок:
можно удалить - он для теста
При большом кол-ве записей в кэше скрипт просто не успеет обработать его и часть записей будут удалены как устаревшие. К сожалению так и не смог понять как добавлять элементы в индексный массив, поэтому данные держу в списках.
Вроде как сошлось.
Запись в логи оставлена для наглядности :)
вот этот кусок:
Код: Выделить всё
:set cacheIP [:resolve gmail.com]
:set cacheIP [:resolve google.ru]
:set cacheIP [:resolve translate.google.com]
:set cacheIP [:resolve mail.ru]
можно удалить - он для теста
-
- Сообщения: 7
- Зарегистрирован: 16 ноя 2014, 21:58
Обновил ОС до тестовой v23rc1 - работает.
Хотя бы 30 записей выбирает, что похоже на истину.
Вернул обратно на v22 - 18 записей и амба.
Какой то глюк у отдельно взятой железки
Хотя бы 30 записей выбирает, что похоже на истину.
Вернул обратно на v22 - 18 записей и амба.
Какой то глюк у отдельно взятой железки
