IP-файл черного списка для `ipfw`?

Все остальные ответы (до сих пор )касаются пакетов и двоичных файлов. Если вы имеете в виду «настольные приложения», которые появляются в вашем меню «Пуск», вы можете попробовать:

ls /usr/share/applications | awk -F '.desktop' ' { print $1}' -

Больше решений в другой вопрос .

2
17.02.2020, 16:56
1 ответ

Быстро и грязно

Вся конфигурация ipfwвыполняется с помощью команды ipfw. В вашем случае это завернуто в ${fwcmd}и является заменой параметра(см. sh (0)параграфParameter Expansion). Затем /etc/rc.firewallможно рассматривать как shсценарий оболочки (с некоторыми дополнительными вспомогательными функциями ).

Тогда это так же просто, как:

cat list.txt | xargs -I BANIP ${fwcmd} add deny ip from BANIP to any

Файл list.txtпередается в xargs , который формирует команду. list.txtдолжен содержать один IP-адрес или подсеть в каждой строке.

Пример:

122.228.19.80
185.234.219.65
92.118.38.57/24
185.36.81.143/24

Молчать

Из вашего вопроса мы не можем понять, во что расширяется ${fwcmd}. Это может быть так же просто, как ipfw. Для использования в сценарии рекомендуется использоватьipfw -q(см. ipfw (8 )), чтобы сделать его более надежным. Он создаст для вас таблицу при добавлении и изящно обработает добавление одного и того же адреса дважды.

Столы

Добавление целой кучи denyправил, как описано выше, немного запутано. Будет намного чище, если вы поместите их в таблицу, а затем основываете правило на этой таблице.

Сначала мы создаем таблицу #1 и заполняем ее:

ipfw -q table 1 add 122.228.19.80
ipfw -q table 1 add 185.234.219.65
ipfw -q table 1 add 92.118.38.57/24
ipfw -q table 1 add 185.36.81.143/24

Затем мы используем таблицу в нашем правиле:

ipfw add deny ip from 'table(1)' to any

Затем мы используем тот же list.txt, что и раньше. Затем мы можем очистить и перезагрузить таблицу на ходу:

ipfw table 1 flush
cat list.txt | xargs ipfw -q table 1 add

Описанное выше можно выполнить в командной строке во время игры.

И в контексте вашего сценария конфигурации это будет что-то вроде:

cat list.txt | xargs ${fwcmd} table 1 add
${fwcmd} add deny ip from 'table(1)' to any

Галочки вокруг table(1)предназначены для того, чтобы оболочка не пыталась каким-либо образом интерпретировать (). Вы также можете сбежать от них. Тот же результат, но человеку немного сложнее читать.

${fwcmd} add deny ip from table\(1\) to any
2
28.04.2021, 23:23

Теги

Похожие вопросы