PDA

View Full Version : misterioso problema Script Iptables & Debian...


NZ
26-09-2002, 16:33
allora...
installo debian con Gnome2.
poi,per attivare il fireweall,metto il mio script (di nome firewall.sh) in /etc/init.d
gli do l'eseguibilità con:
chmod +x /etc/init.d/firewall.sh
e subito dopo faccio:
update-rc.d firewall.sh start 99 2 .
per creare il link in rc2.d

Al reboot del PC mi appaiono una sfilza di errori (tanti quanti le righe del mio script) che dicono:

/etc/rc2.d/S99firewall: -t: command not found
:command not foundall:

e ovviamente lo script non viene eseguito:(

In pratica quel -t non riconosciuto appartiene al "-t filter" presente nelle righe del mio script!
Li elimino tutti e al successivo reboot il comando non più riconosciuto diventa -A:eek:
è come se iptables non riconoscesse la sintassi dello script:confused:

Se vado in /etc/init.d e lancio manualmente lo script con "sh firewall.sh" il risultato è lo stesso:(

Il bello è che se apro la shell e digito una riga per ipatbles viene accettata ma di leggere i comandi dallo script non se ne parla:(
Premetto che lo script è OK perchè già testato su altre distro (Mandrake 8.2 e Slack 8.1)

Cos'è che non funziona?:confused:
mi sembra di aver fatto quello che si doveva fare,o no?

Ciao;)

ilsensine
26-09-2002, 16:36
Se non ci fai vedere lo script, sono d'accordo con la Debian :cool:

NZ
26-09-2002, 16:44
Originariamente inviato da ilsensine
[B]Se non ci fai vedere lo script, sono d'accordo con la Debian :cool:
vuoi lo script...
...eccolo:D
Lo dovresto conoscere bene perchè mi hai aiutato proprio tu a farlo:p
Lo uso da mesi senza problemi su altre distro ma ora....





# COLLEGAMENTO AL PROGRAMMA IPTABLES

IPT=/sbin/iptables



# SET-UP POLICY CATENE PRINCIPALI

$IPT -t filter -P INPUT DROP

$IPT -t filter -P OUTPUT DROP

$IPT -t filter -P FORWARD DROP

$IPT -t filter -F

$IPT -t filter -X



# CREAZIONE DI 7 NUOVE CATENE AUSILIARIE

$IPT -t filter -N ppp_in

$IPT -t filter -N ppp_out

$IPT -t filter -N tcp_flags

$IPT -t filter -N log_drop

$IPT -t filter -N warn_drop

$IPT -t filter -N check_in

$IPT -t filter -N check_out



# REGOLE DELLA CATENA DI INPUT

$IPT -t filter -A INPUT -s 224.0.0.0/8 -j log_drop

$IPT -t filter -A INPUT -i lo -j ACCEPT

$IPT -t filter -A INPUT -i ! lo -d 127.0.0.0/8 -j log_drop

$IPT -t filter -A INPUT -i ppp0 -j ppp_in

$IPT -t filter -A INPUT -j log_drop



# REGOLE DELLA CATENA Di TCP_FLAGS

$IPT -t filter -A tcp_flags -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP

$IPT -t filter -A tcp_flags -p tcp --tcp-flags ALL ALL -j DROP

$IPT -t filter -A tcp_flags -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP

$IPT -t filter -A tcp_flags -p tcp --tcp-flags ALL NONE -j DROP

$IPT -t filter -A tcp_flags -p tcp --tcp-flags SYN,RST SYN,RST -j DROP

$IPT -t filter -A tcp_flags -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

$IPT -t filter -A tcp_flags -p tcp --tcp-flags FIN FIN -j DROP



# REGOLE CATENA DI LOG_DROP

$IPT -t filter -A log_drop -j LOG --log-level warning --log-prefix '<audit>'

$IPT -t filter -A log_drop -j DROP



# REGOLE CATENA DI WARN_DROP

$IPT -t filter -A warn_drop -j LOG --log-level warning --log-prefix '<netfilter warning>'

$IPT -t filter -A warn_drop -j DROP



# REGOLE CATENA DI CHECK_IN

$IPT -t filter -A check_in -p tcp --dport 0:1023 -j warn_drop

$IPT -t filter -A check_in -p udp --dport 0:1023 -j warn_drop

$IPT -t filter -A check_in -p tcp --dport 6000:6063 -j warn_drop

$IPT -t filter -A check_in -p udp --dport 6000:6063 -j warn_drop

$IPT -t filter -A check_in -p tcp --dport 10000 -j warn_drop

$IPT -t filter -A check_in -p tcp --dport 32768 -j warn_drop

$IPT -t filter -A check_in -p udp --dport 32768 -j warn_drop

$IPT -t filter -A check_in -j RETURN



# REGOLE CATENA DI CHECK_OUT

$IPT -t filter -A check_out -p tcp --sport 0:1023 -j warn_drop

$IPT -t filter -A check_out -p udp --sport 0:1023 -j warn_drop

$IPT -t filter -A check_out -p tcp --sport 6000:6063 -j warn_drop

$IPT -t filter -A check_out -p udp --sport 6000:6063 -j warn_drop

$IPT -t filter -A check_out -p tcp --sport 10000 -j warn_drop

$IPT -t filter -A check_out -p tcp --sport 32768 -j warn_drop

$IPT -t filter -A check_out -p udp --sport 32768 -j warn_drop

$IPT -t filter -A check_out -j RETURN



# REGOLE CATENA PPP_IN

$IPT -t filter -A ppp_in -s 192.168.0.0/24 -j warn_drop

$IPT -t filter -A ppp_in -d 192.168.0.0/24 -j warn_drop

$IPT -t filter -A ppp_in -s 127.0.0.0/8 -j warn_drop

$IPT -t filter -A ppp_in -d 127.0.0.0/8 -j warn_drop

$IPT -t filter -A ppp_in -d 224.0.0.0/4 -j DROP

$IPT -t filter -A ppp_in -j check_in

$IPT -t filter -A ppp_in -j tcp_flags

$IPT -t filter -A ppp_in -m state --state RELATED,ESTABLISHED -j ACCEPT

$IPT -t filter -A ppp_in -p icmp --icmp-type 3 -j ACCEPT

$IPT -t filter -A ppp_in -p icmp --icmp-type 0 -j ACCEPT

$IPT -t filter -A ppp_in -p icmp --icmp-type 11 -j ACCEPT

$IPT -t filter -A ppp_in -j log_drop



# REGOLE CATENA PPP_OUT

$IPT -t filter -A ppp_out -j check_out

$IPT -t filter -A ppp_out -p icmp --icmp-type 3 -j REJECT --reject-with icmp-port-unreachable

$IPT -t filter -A ppp_out -p icmp --icmp-type 11 -j REJECT --reject-with icmp-port-unreachable

$IPT -t filter -A ppp_out -j ACCEPT



# REGOLE CATENA DI OUTPUT

$IPT -t filter -A OUTPUT -o ppp0 -j ppp_out



Ogni suggerimento è ben accetto:cool:
Ciao;)

Kernel Panic!!
26-09-2002, 16:46
ripensandoci, non è che dopo aver dichiarato IPT devi dargli "export IPT"?

NZ
26-09-2002, 16:49
Originariamente inviato da Kernel Panic!!
[B]ripensandoci, non è che dopo aver dichiarato IPT devi dargli "export IPT"?
cioè?:confused:

Ciao;)

Kernel Panic!!
26-09-2002, 16:50
cioè subito dopo questo
IPT=/sbin/iptables
metti
export IPT
ma dovrebbe essere per render la variabile IPT visibile al di fuori dello script, non credo c'entri molto... :p

ilsensine
26-09-2002, 16:52
Non dovrebbe essere quello; magari all'inizio dello script inserisci
#!/bin/bash

NZ
26-09-2002, 17:39
Originariamente inviato da ilsensine
[B]Non dovrebbe essere quello; magari all'inizio dello script inserisci
#!/bin/bash
Già provato;)
non cambia nulla...
...il problema rimane:(

Arpeda
27-09-2002, 00:41
prova invece di

IPT=/sbin/iptables

metti

IPT="/sbin/iptables" ...

cmq anche io ho debian e funziona.

ciao
Arpeda

NZ
27-09-2002, 08:24
Originariamente inviato da Arpeda
[B]prova invece di
IPT=/sbin/iptables
metti
IPT="/sbin/iptables" ...

proverò.....
Originariamente inviato da Arpeda
[B]
cmq anche io ho debian e funziona.

non lo metto in dubbio:p
...il fatto è che mi sembra di aver fatto tutto quello che andava fatto...
vai a scoprire dov'è l'intoppo...

Ciao;)

NZ
27-09-2002, 09:53
Originariamente inviato da Arpeda
[b]prova invece di
IPT=/sbin/iptables
metti
IPT="/sbin/iptables" ...

provato!!!
niente da fare...
..non era lui il colpevole:(

se vi può essere utile:
ho fatto la seguente prova:
ho aperto lo script con gedit e con un copia&incolla l'ho copiato nella shell!!!
ebbene,facendo questa operazione "manuale" le regole vengono caricate e le posso benissimo vedere con iptables -L:)
Deduco che allora non è un problema di iptables ne di configurazione del kernel:
ma allora perchè se iptables tenta di leggere da quello script non riconosce la sintassi e mi da errore su tutti i simboli????
stranissimo...
qualche idea???

Ciao;)

Kernel Panic!!
27-09-2002, 09:54
io nel mio script non ho usato la variabile... prova a sostituirla a mano con /sbin/iptables... è un metodo un po' da zappatore, ma se può servire...

NZ
27-09-2002, 10:25
Originariamente inviato da Kernel Panic!!
[B]io nel mio script non ho usato la variabile... prova a sostituirla a mano con /sbin/iptables... è un metodo un po' da zappatore, ma se può servire...
preverò senza dubbio:p
più che da zappatore,diciamo che è poco elegante:D
ma pur fi farlo andare.....

Ciao;)

NZ
27-09-2002, 11:39
Originariamente inviato da Kernel Panic!!
[b]io nel mio script non ho usato la variabile... prova a sostituirla a mano con /sbin/iptables... è un metodo un po' da zappatore, ma se può servire...
provato.....non funzia:(

ho eliminato IPT=/sbin/iptables
e sostituito tutti i $IPT sia con /sbin/iptables che in un secondo tentativo con iptables:
Risultato:
al boot ottengo una miriade di messaggi di errore del tipo:
Iptables: Target name XXXX invalid:eek:
dove per XXXX c'è di tutto!!!!
comincio a disperare....

Ciao;)

NZ
27-09-2002, 12:10
tempo fa installai debian da tasksel selezionando sia X che Desktop Enviroment e non ebbi questi problemi di script!!!
Questa volta ho detto NO sia a tasksel che dselect e ho installato i pacchetti che ritenevo utili successivamente!!!
Non vorrei aver dimenticato di installare qualcosa di fondamentale...
...perciò vi allego l'output del comando dpkg -l
spero sia utile...

Ciao;)

Arpeda
27-09-2002, 12:12
non è possibile!!

se io metto il tuo script in un file chiamato pippo
poi gli do i permessi di esecuzione e lo lancio con
./pippo funziona, non vedo perchè a te non dovrebbe andare

hai provato così?

ciao daniele

NZ
27-09-2002, 12:29
Originariamente inviato da Arpeda
[B]non è possibile!!

perchè ti sembra impossibile???
ripeto: lo script è OK perchè ha sempre funzionato:p
solo adesso con debian fa i capricci:(
Originariamente inviato da Arpeda
[B]
se io metto il tuo script in un file chiamato pippo
poi gli do i permessi di esecuzione e lo lancio con
./pippo funziona

proverò anche così...

a sto punto purchè funzioni accetto tutto però dovrebbe avviarsi in automatico al boot...
...come è normale che sia:D

Ciao;)

Arpeda
27-09-2002, 12:49
intanto se funziona così stiamo un passo avanti poi si procederà a farlo partire in automatico.

cmq in rc.d .. ci sono solo dei link simbolici a script che ti avviano determinati servizi ..
quindi, se come ti ho detto, funziona basta che fai un link che punta al tuo script

ciao

NZ
27-09-2002, 13:40
Originariamente inviato da Arpeda
[b]intanto se funziona così stiamo un passo avanti poi si procederà a farlo partire in automatico.

...e infatti non funziona:(
faccio:
cd /etc/init.d
./firewall
ed ottengo gli errori che ho descritto in apertura di 3d:(
non c'è verso di attivare questo maledetto script:mad:
Quel che mi fa impazzire è che iptables è installato e la sintassi dello script è corretta...ma allora perchè succede questo???
Pensavo a un pacchetto mancante (vedi allegato precedente) o a qualcosa mal configurata ma non saprei cosa di preciso....
BOH!

Ciao;)

Kernel Panic!!
27-09-2002, 13:42
che stranezze però... l'owner dello script è root? i permessi sono rx r r ?

ilsensine
27-09-2002, 13:45
Sospetto...
i moduli di iptables sono caricati? (ip_tables, iptable_filter, ip_conntrack_ftp ecc.)

NZ
27-09-2002, 14:56
Originariamente inviato da ilsensine
[b]Sospetto...
i moduli di iptables sono caricati? (ip_tables, iptable_filter, ip_conntrack_ftp ecc.)
certo che si;)
già controllato:p

è proprio un mistero:confused:

x Kernel:
l'owner è root e i permessi...
...glieli ho dati tutti...
anche quello di funzionare:D

Ciao;)

NZ
27-09-2002, 17:36
nessun altra idea?:(
Io non so più cosa controllare....
o si risolve presto o debian fa la fine della faccina in signature:D:D
spero di non arrivare a tanto:p

Ciao;)

Kernel Panic!!
27-09-2002, 17:38
Originariamente inviato da NZ
[B]nessun altra idea?:(
Io non so più cosa controllare....
o si risolve presto o debian fa la fine della faccina in signature:D:D
spero di non arrivare a tanto:p

Ciao;)

ti penserò stanotte mentre dormo magari mi vien qualcosa in mente :p

NZ
27-09-2002, 17:56
Originariamente inviato da Kernel Panic!!
[B]
ti penserò stanotte mentre dormo magari mi vien qualcosa in mente :p
pensi a a me o a debian?:D:D
aiutami a non commettere un debianicidio:p

Ciao;)

NZ
28-09-2002, 13:58
Originariamente inviato da Kernel Panic!! [B]
magari mi vien qualcosa in mente :p

venuto in mente qualcosa???:p
a me no:(

Ciao;)

Kernel Panic!!
28-09-2002, 17:05
Originariamente inviato da NZ
[B]
venuto in mente qualcosa???:p
a me no:(

Ciao;)
nemmeno a me :(

NZ
28-09-2002, 18:05
Originariamente inviato da Kernel Panic!!
[B]
nemmeno a me :(
:(:(

ho sempre la paura che manchi qualcosa!!!
Per piacere Kernel,potresti dirmi i passi che fai quando installi debian???
Mi spiego...dopo aver installato il sistema base (dicendi NO sia a tasksel che desect) tu cronologicamente che cosa apt-getti?

io nell'ordine:

1) apt-get install x-window-system-core wmaker xterm
2) apt-get install gnome2 nautilus2-gtkhtml sawfish
3) apt-get install make gcc etc...
4) apt-get install gedit galeon evolution xmms etc...

Vi è qualche pacchetto fondamentale per la lettura e/o esecuzione degli script???

Ciao;)

Kernel Panic!!
28-09-2002, 20:32
eh, purtroppo non so esserti d'aiuto, l'ultima installazione (sul serverino) l'ho fatta mesi fa...

Hell-VoyAgeR
28-09-2002, 20:39
non per essere pignolo.... ma usare i comandi iptables-save e iptables-restore sembra cosi' brutto ? :)

NZ
29-09-2002, 08:25
Originariamente inviato da Hell-VoyAgeR
[B]ma usare i comandi iptables-save e iptables-restore sembra cosi' brutto ? :)
mai usati perchè solitamente lo script ha sempre funzionato senza problemi:)
sinceramente non saprei come usarli:confused:
allora,metto lo script in /etc/init.d e poi che devo fare?

Ciao;)

NZ
30-09-2002, 18:03
TROVATO IL COLPEVOLE
non è colpa di debian nè di iptables nè tanto meno dello script...
...il responsabile di tutto è:
GNOME2
sembra incredibile ma è proprio colpa sua:eek:
ho fatto delle prove e il risultato è chiaro:
su slack 8.1 con gnome 1.4 lo script va ma se aggiorno gnome alla 2 allora spuntano sti problemi:(
idem su debian:
con KDE3 OK ma se metto Gnome2 succede il casino:(
Ora...gnome2 l'ho preso dal CD di Linux&C. e non ho fatto altro che digitare:
apt-get install gnome2 nautilus2-gtkhtml gedit
quello che mi chiedo è:
è bacato gnome2 , ho dimenticato di installare qualcosa di gnome oppure devo configurare qualcosa in gnome???:confused:
Please,help me;)

Ciao;)

Kernel Panic!!
30-09-2002, 18:23
oddio, ma che relazione ci può essere tra gnome2 e iptables... :eek: :confused:

NZ
30-09-2002, 19:37
Originariamente inviato da Kernel Panic!!
[B]oddio, ma che relazione ci può essere tra gnome2 e iptables... :eek: :confused:
sembra assurdo,lo so,ma all'atto pratico è la triste realtà:(

Se qualche debianista che usa gnome2 (preso da Linux&C.) vuole dare la sua testimonianza....e il suo aiuto.....è ben accetto:p

Ciao;)