IPFW редагування таблиць

Т.к. там усе описано досить коротко — у цій статті докладніше буде описано роботу з таблицями вIPFW.
Додамо у файл конфігураціїIPFW правило блокування за даними з таблиці:
$cmd 00020 deny all from "table(1)" to any via $pif
#Префікс для команд cmd=»ipfw -q add»
#задаємо карту інтернет-мережі pif=»em0″
І перезавантажуємо фаєрвол для застосування нових правил:
# /etc/rc.d/ipfw restart net.inet.ip.fw.enable: 1 -> 0 net.inet6.ip6.fw.enable: 1 -> 0 Firewall rules loaded. Firewall logging enabled.
# ipfw table 1 add 194.0.200.1
Можна заблокувати цілу підмережу:
# ipfw table 1 add 194.0.200.0/24
Переглянути список заблокованихIP можна так:
# ipfw table 1 list 194.0.200.0/24 0 194.0.200.1/32 0
Для видаленняIP з таблиціIPFW :
# ipfw table 1 delete 194.0.200.0/24
# ipfw table 1 list 194.0.200.1/32 0
Підсіти з блоку прибрали, приберемо 1IP такою самою командою:
# ipfw table 1 delete 194.0.200.1
# ipfw table 1 flush
# cat blockip.sh #!/bin/sh ipfw table 1 flush cat /home/setevoy/blockip.txt while read ip; do ipfw table 1 add $ip done
Файл створювався під root , щоб виконувати його з іншого користувача — змінимо власника:
Не забудемо встановити права виконання скрипта:
# chmod ug+x blockip.sh
ug означає "додати права для User та Group" - тільки користувачеві root і користувачам групи setevoy , тобто. собі.
-rwxr-xr- 1 root wheel 107 Jul 2110:11 blockip.sh
# cat blockip.txt 194.0.200.1 194.0.200.2 194.0.200.0/24
# ipfw table 1 list 194.0.200.0/24 0 194.0.200.1/32 0 194.0.200.2/32 0