Вот список https://olegon.ru/showthread.php?t=26882
Есть ли возможность автоматически оптимизировать этот список?
Суть - удалить дубликаты и склеить последовательные диапазоны, чтобы уменьшить количество записей. Как бы это сделать автоматом?
закинуть в таблицу, распарсить на составляющие и запросами выбрать пересечение или макс и и мин значения - хлтя вероятнее всего так слишком грубо поскольку попадут в диапазон и др адреса
Не помогло, а в перле я слаб, чтобы поправить...
Гуглить, конечно, весело, только там единственное, что нормальное - заготовка на питоне :( Ну, если не знает никто, то попробую питоном тогда попозже... Я, если честно, уже руками свел все, но проверить не помешает...
но суть происходящего, для чего я начал тут писать - небольшой глюк, который есть в aggregate или моем понимании, как она работает.
Если утилитке отдать список со встречающимися адресами без подсети (даже если подставить -p32), то она начинает очень странно работать и, собственно, иногда игнорирует большие подсети, не объединяя их. Для этого я теперь сделал скриптик, через который пропускаю поток.
Код:
while IFS= read -r line; do
if [[ "$line" != *"/"* ]]; then
echo "$line/32"
else
echo "$line"
fi
done
скриптик, как видите, самый примитивный, просто если нет /, то добавляет /32
Код:
cat list | ./collect_for_ban_add32.sh | aggregate -q -t
и тогда все работает, как задумано... Ну, по крайней мере мне так кажется :)