готовите файл вида
Код: Выделить всё
93.80.136.123
93.80.139.176
93.80.146.184
93.80.149.137
93.80.33.172
93.80.51.129
93.80.51.224
93.84.225.202
93.85.41.150
ну или подсети, разницы нет
далее в сам фаер вставляете скрипт:
Код: Выделить всё
# Portsentry
for p in `cat /usr/local/etc/portsentry.history | awk '{print $6}'| awk -F / '{print $2}'|sort| uniq`
do
${fwcmd} table 6 add $p
done
где cat /usr/local/etc/portsentry.history - э то у меня файл истории portsentry, если у вас формат файла так, как я выше показал. тто цикл будет выглядеть так:
Код: Выделить всё
# Portsentry
for p in `cat /usr/local/etc/FILE_WITH_BLOCK_ADDRESS `
do
${fwcmd} table 6 add $p
done
ниже вставляете правило в фаервол:
Код: Выделить всё
${fwcmd} add deny log all from 'table(6)' to any
это первый этап, при старте системы или при передергивании правил фаервола.
если вы хотите по крону обновлять таблицы, то сделайте отдельный скрипт вида:
Код: Выделить всё
ipfw table 6 flush
for p in `cat /usr/local/etc/FILE_WITH_BLOCK_ADDRESS `
do
${fwcmd} table 6 add $p
done
ну а правило блокируущее в фаерволе остается.
ядерный взрыв...смертельно красиво...жаль, что не вечно...