[Linux-Biella] iptables...

Mattia Rossi mattia a technologist.com
Ven 23 Mar 2007 12:19:18 CET


On Fri, 23 Mar 2007 11:59:39 +0100
leonardo "LeOS" buffa <leos a bilug.linux.it> wrote:

> On Fri, 23 Mar 2007 11:58:17 +0100
> Cristiano Deana <cris a deana.it> wrote:
> 
> > Ma non esiste con in altri firewall la possibilita' di usare delle
> > "tables" che puoi gestire "a caldo" inserento o togliendo ip?
> > a quel punto autorizzi ad uscire quella table e via.
> 
> infatti io amo proprio quello di pf dove posso flushare la table e
> ricaricare il ruleset leggendo il contenuto da file...
> 
> 

Esiste, esiste, solo che Leo sta usando una ferrari solo con la prima
ridotta ....

Ti devi creare una custom table
$IPTABLES -N HOST_BLOCK

a cui mandi i pacchetti in testa alle regole del tuo script:

$IPTABLES -A INPUT -j HOST_BLOCK
$IPTABLES -A FORWARD -j HOST_BLOCK
$IPTABLES -A OUTPUT -j HOST_BLOCK

dentro la quale carichi gli ip che vuoi bloccare:

if [ -e "$BLOCK_HOSTS_FILE" ]; then
  echo "(Re)loading list of BLOCKED hosts (blackhole) from
$BLOCK_HOSTS_FILE."
  while read host
  do
    chk_comment=`echo "$host" |cut -c1`
    if [ "$chk_comment" != "#" ] && [ "$host" != "" ]; then
# Filter out comment fields starting with '#' 
      if [ "$BLOCKED_HOST_LOG"== "1" ]; then 
        $IPTABLES -A HOST_BLOCK -s $host -m limit --limit 3/m
--limit-burst 5 -j LOG --log-level $LOGLEVEL --log-prefix "Blocked
hosts violation: " 
      fi 
      $IPTABLES -A HOST_BLOCK -s $host -j DROP 
    fi
  done < $BLOCK_HOSTS_FILE
else
  if [ "$1" == "breread" ]; then
    echo -e "\033[40m\033[1;31mERROR: Cannot reread the blocked hosts
file \"$BLOCK_HOSTS_FILE\" because it doesn't exist.\033[0m" exit 6
  fi
fi


e quando devi modificare/aggiungere/togliere degli host fai il flush
solo della table in questione e poi ricarichi con lo script di cui
sopra ...


Naturalmente non e' farina del mio sacco, ma e' scopiazzato liberamente
da questo script:
http://rocky.eld.leidenuniv.nl/page/iptables/download.htm


Mattia



-- 
---MR.-






Maggiori informazioni sulla lista Linux