Newsgroup: it.comp.os.linux.sys
Titolo: firewall

ciao vorrei esporre il mio problema .
devo installare un firewall con rh 6.1
ho creato conil comando  ipchains  il file ipchains.rules con le mie regole
.
Vorrei fare in modo che le regole mi vengano attivate al riaviio .
Seguendo le indicazioni nell'howto-ipchains ho creato il segente script
#! /bin/sh
# script per la configurazione del firewall anche senza regole non
importante
[ -f etc/ipchains.rules ] || exit 0
 case "$1" in  start)
 echo -n "Attivazione del filtraggio dei pacchetti"  /sbin/ipchains-restore
< /etc/ipchains.rules || exit 1
 echo *.*
 stop)
 echo -p "Disattivazione del filtraggio dei pacchetti"
 ;;
 echo 0 /proc/sys/net/ipv4/ip_forward
 /sbin/ipchains -P
 /sbin/ipchains -X
 /sbin/ipchains -P input ACCEPT
 /sbin/ipchains -P output ACCEPT
 /sbin/ipchains -P forward ACCEPT
 echo *.*
 ;;
 *)
 echo "Uso: /etc/rc.d/init.d/packetfilter (start|stop)"
 exit 1
     ;;
esac
exit 0
che ho salvato come packetfilter in /etc/rc.d/init.d.
ho creato il link simbolico in /etc/rc.d/rc5.d chiamato
S08packetfilter in modo che al bbot le mie regole vengano attivate prima
della procedura network .
Dopo il boot facendo il comando
ipchains -L -n
mi visualizza le politiche predefinite che ovviamente non sono le mie|
Dove sbaglio ?
Lo script non č fatto bene ?
Grazie per l'aiuto che mi saprete dare

 Vorrei fare in modo che le regole mi vengano attivate al riaviio .
Ti consiglio di usare chkconfig per impostare cio' che desideri.
man chkconfig 
chkconfig --add packetfilter
chkconfig --level 3 packetfilter on
Ciao.
Mauro
-- 
"Vi ho detto queste cose perche' abbiate pace in me.      
Voi avrete tribolazione nel mondo, ma abbiate fiducia    
Io ho vinto il mondo!" (Gv 16,33)

Salve , allora il problema che ho è il seguente:
Ho una lan collegata ad internet per ora con una linea analogica (a giorni
con adsl ). Ora essendo una quindicina di macchine in rete per facilitare
alcuni servzi come messaggistica interna e posta , ho configurato su una
macchina linux rh 6.1 un name server locale (ip 192.168.1.2) , che mi
risolve gli indirizzi e che nel caso di indirizzi esterni si appoggia al
server dns del provider .
la rete privata ha ip 192.168.1.0
la macchian linux ha ip 192.168.1.2.
ora dovendo passare come già detto ad adsl sul server locale (192.168.1.2)
vorrei installare un firewall con il masq che sono già riuscito a far
funzionare .
A tal proposito ho creato uno script che mi automatizza all'avvio
l'esecuione del firewall .
Nello sciprt ho abilitato ip forward con il comando echo > 1 /proc/...
Ho impostato delle regole per la rete interna e in ingresso sul firewall .
Fra queste ho impostato:
#!/bin/bash
PRIVATENET=
192.168.1.0/24
PUBLIC=ppp0
PRIVATE=eth0
DNS1=195.31.192.54 (dell ISP)
#DNS1=127.0.0.1
DNS2=194.243.154.62 (dell'IPS )
ANY=
0.0.0.0/0
ALLONES=255.255.255.255
. /etc/rc.d/init.d/functions
. /etc/sysconfig/network
[ ${NETWORKING} = "no" ] && exit 0
case "$1" in
    start)
 action "Attivazione firewall: " /bin/true
 /sbin/ipchains -F input
 /sbin/ipchains -F output
 /sbin/ipchains -F forward
# Impedisce il ping in ingresso
 /sbin/ipchains -I input 1 -j DENY
# Imposta la politica di ingresso su deny
 /sbin/ipchains -P input  DENY
 /sbin/ipchains -P output  ACCEPT
 /sbin/ipchains -P forward  ACCEPT
# Attiva il forwarding dei pacchetti
 echo 1 > /proc/sys/net/ipv4/ip_forward
# Installazione dei moduli
 if ! ( /sbin/insmod  /bin/grep masq_ftp > /dev/null ); then
     /sbin/insmod ip_masq_ftp
 fi
 if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]; then
     for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
      echo 1 > $f
     done
 else
     echo
     echo " Problemi nel settare la protezione IP SPOOLING"
     echo
 fi
# Proibisce il broadcast (chiamate circolari)
 /sbin/ipchains -A input -s 0.0.0.0 -j DENY
 /sbin/ipchains -A input -d 255.255.255.255 -j DENY
# Proibisce alcuni servizi senza log
 /sbin/ipchains -A input -p udp -d $ANY 137 -j DENY
 /sbin/ipchains -A input -p tcp -d $ANY 137 -j DENY
 /sbin/ipchains -A input -p udp -d $ANY 138 -j DENY
 /sbin/ipchains -A input -p tcp -d $ANY 138 -j DENY
 /sbin/ipchains -A input -p udp -d $ANY 67 -j DENY
 /sbin/ipchains -A input -p udp -d $ANY 68 -j DENY
 /sbin/ipchains -A input -s 
224.0.0.0/8
 -j DENY
# In queste righe si proibisce netbios , bootip e multicast
# Permette l'ingresso sull'interfaccia di loopbak
 /sbin/ipchains -A input -i lo -j ACCEPT
# Accetta i pacchetti dalla rete interna verso internet
 /sbin/ipchains -A input -i $PRIVATE -s $PRIVATENET -d $ANY -j ACCEPT
 /sbin/ipchains -A input -i $PRIVATE -d $ALLONES -j ACCEPT
# Permette ICMP
 /sbin/ipchains -A input -p icmp -j ACCEPT
# Permette TCP
        /sbin/ipchains -A input -p tcp ! -y -j ACCEPT
# Permette dns sul firewall
#    /sbin/ipchains -A input -p udp -s $DNS1 53 -d $ANY 1023: -j ACCEPT
#     /sbin/ipchains -A input -p udp -s $DNS2 53 -d $ANY 1023: -j ACCEPT
# Nel caso di un dns locale che c'e'
         /sbin/ipchains -A input -p udp -s $DNS1 domain -d $ANY domain -j
ACCEPT
        /sbin/ipchains -A input -p tcp -s $DNS1 domain -d $ANY domain -j
ACCEPT
#        /sbin/ipchains -A input -p udp -s $PRIVATENET domain -d $ANY
domain -j ACCEPT
# /sbin/ipchains -A input -p tcp -s $PRIVATENET domain -d $ANY domain -j
ACCEPT
# /sbin/ipchains -A input -p tcp -s $PRIVATENET domain -d $ANY domain -j
ACCEPT
# /sbin/ipchains -A input -p udp -s $DNS2 domain -d $ANY domain -j ACCEPT
#Permetti ssh
#   /sbin/ipchains -A input -p tcp -d $ANY 22 -j ACCEPT
# Permetti telnet non consigliabile
# /sbin/ipcahins -A input -d -p tcp $ANY telnet -j ACCEPT
# Permetti posta
#       /sbin/ipchains -A input -p tcp -d $ANY smtp -j ACCEPT
        /sbin/ipchains -A forward -p tcp -s $PRIVATENET -d $ANY smtp -j
ACCEPT
# Permetti posta POP3
#       /sbin/ipchains -A input -p tcp -d $ANY 110 -j ACCEPT
        /sbin/ipchains -A forward -p tcp -s $PRIVATENET -d $ANY 110 -j
ACCEPT
# Permetti auth per invio mail e ftp
 /sbin/ipchains -A input -p tcp -d $ANY auth -j ACCEPT
# Se ho un web server
#       /sbin/ipchains -A input -p tcp -d $ANY http -j ACCEPT
        /sbin/ipchains -A input -p tcp -s $PRIVATENET -d $ANY http -j ACCEPT
# Se voglio permettere ftp
       /sbin/ipchains -A input -p tcp -d $ANY ftp -j ACCEPT
# Attiva il maschermento IP
# /sbin/ipchains -A forward -s $PRIVATENET -d ! $PRIVATENET -j MASQ
 /sbin/ipchains -A forward -s $PRIVATENET -d $ANY -j MASQ
# Permette samba dalla lan locale
 /sbin/ipchains -A input -p tcp -s $PRIVATENET -d $PRIVATENET 137:139 -j
ACCEPT
        /sbin/ipchains -A input -p udp -s $PRIVATENET -d $PRIVATENET
137:139 -j ACCEPT
# Proibisce tutti gli altri servizi
 /sbin/ipchains -A input -l -j DENY
# Toglie il flag di protezione
        /sbin/ipchains -D input 1
        ;;
    stop)
 action "Sto fermando il firewall: " /bin/true
 echo 0 > /proc/sys/net/ipv4/ip_forward
 /sbin/ipchains -F input
 /sbin/ipchains -P input ACCEPT
 /sbin/ipchains -F forward
 /sbin/ipchains -F output
 echo
 ;;
    restart)
 action "Riavvio firewall:" /bin/true
 $0 stop
 $1 start
 echo
 ;;
    status)
 /sbin/ipchains -L
 ;;
    *)
 echo " USO: $0 (start|stop|restart|status) "
        exit 1
esac
Il problema che io ho è che quando cerco di collegarmi ad un indirizzo
esterno da un'altra macchian
esso mi dice servizio non disponibile quindi da ciò penso che sto sbagliando
le regole per permettere il dns .
NB ho messo la direttiva forwards con ip dell'ips nel file named.boot  .
Dove sbaglio ?
Grazie per l'aiuto
Giuseppe