Newsgroup: it.comp.os.linux.sys
Titolo: Script firewall che non funziona

Se provo ad utilizzare lo script per il firewall che mi sono scritto la
bash mi da questo errore:
#v+
15:07:18 henryx ~ > su - -c "sh -x /usr/local/bin/firewall "
Password:
++ which ipchains
+ =/sbin/ipchains
/usr/local/bin/firewall: =/sbin/ipchains: No such file or directory
#v-
Perche`? Lo script e` il seguente:
#v+
#!/bin/bash
$IPCHAINS=`which ipchains`
### Flush delle regole predefinite ###
$IPCHAINS -F
### Impostazione della politica di accesso
$IPCHAINS -P input DENY
$IPCHAINS -P forward DENY
$IPCHAINS -P output DENY
### Abilitazione dell'interfaccia di loopback
$IPCHAINS -A input -i lo -j ACCEPT
#$IPCHAINS -A forward -i lo -j ACCEPT
$IPCHAINS -A output -i lo -j ACCEPT
### Abilitazione al passaggio dei pacchetti ICMP
$IPCHAINS -A input -p icmp -j ACCEPT
$IPCHAINS -A output -p icmp -j ACCEPT
### Configurazione del mail server
$IPCHAINS -A input -i ppp0 --destination-port 25 -j DENY
$IPCHAINS -A output -i ppp0 --source-port 25 -j ACCEPT
### Configurazione di Squid
$IPCHAINS -A input -i ppp0 --destination-port 3128 ACCEPT
$IPCHAINS -A output -i ppp0 --source-port 3128 ACCEPT
### Abilitazione di ICQ
$IPCHAINS -A input -i ppp0 --destination-port 4000 -j ACCEPT
$IPCHAINS -A output -i ppp0 --destination-port 4000 -j ACCEPT
### Abilitazione di IRC
$IPCHAINS -A input -i ppp0 --destination-port 6667 -j ACCEPT
$IPCHAINS -A output -i ppp0 --destination-port 6667 -j ACCEPT
### Configurazione del news server per un amico con IP fisso
$IPCHAINS -A input -i ppp0 -s xxx.xxx.xxx.xxx -d 127.0.0.1 119 -j ACCEPT 
$IPCHAINS -L
#v-
Ovviamente ipchains e` installato
Henryx
-- 
Recenti studi ci confermano che Verga era cosi' chiamato per via di sue
particolari doti nascoste....  Ora ci chiediamo: Pi-Randello aveva 3.14
volte le doti del Verga?
		-- Andrea `Zuse' Balestrero 

 $IPCHAINS=`which ipchains`
  ^ in fase di assegnazione non bisogna usare $
ciao,
nico

 #v+
L'unica che mi viene in mente e' che non espanda il `which ipchains`:
prova a mettere
set -x
all'inizio dello script cosi' ti fa il debugging.
-- 
Pierluigi De Rosa (
tho...@durin.khazad-dum.net
).
<<      LINUX: the choice of a GNU generation     >>
<<   For my real address... ask the Balrog.       >>
* Sostenete la Lega per la Soppressione dei Troll *

   ^ in fase di assegnazione non bisogna usare $
Ok, sono un vero idiota D.O.C. perche` non ci avevo fatto proprio caso
^^;;;;;;;;;;;;;
Un Henryx idiota


 all'inizio dello script cosi' ti fa il debugging.
Beh, quel problema l'ho risolto (anche se a dire il vero era un problema
da dementi ^^; ). Ora pero` me ne trovo un'altro. Se ad esempio imposto
una regola del genere:
/sbin/ipchains -A input -i ppp0 --destination-port 6667 -j ACCEPT
mi ritrovo con questo errore:
/sbin/ipchains: can only specify ports for icmp, tcp or udp
Inoltre, come si vede dallo script che ho postato, era mia intenzione
chiudere totalmente la chain forward, sia per l'interfaccia di loopback,
sia per l'interfaccia ppp0. Pero` se utilizzo questa strada non passa
piu` praticamente nemmeno un pacchetto. Cosa faccio a questo punto,
l'apro almeno per l'interfaccia di loopback, l'apro totalmente oppure
l'apro solo per le porte che ho intenzione di utilizzare?


 /sbin/ipchains: can only specify ports for icmp, tcp or udp
ipchains consente di specificare una porta solo per i protocolli icmp,
tcp  e  udp. per  ovviare  a  quel  problema dovresti  specificare  il
protocollo  che  usi, poiché  senza  una  determinazione specifica  si
intende ogni protocollo e da qui nasce il tuo errore.
ciao,
nico

 l'apro solo per le porte che ho intenzione di utilizzare?
Ehm, non ho voglia di andare a leggere lo script. Prima pero' consiglio di
dare un'occhiata al packet-filtering HOWTO, specie al diagramma di flusso
dei pacchetti che e' molto cambiato rispetto a ipchains.
Poi, in generale, per una macchina in dialup per poco tempo al giorno io
personalmente faccio i controlli a livello "grosso", di interfaccia.
-- 
  Giuseppe "Cowo" Corbelli \/\ My software: 
http://yoda.ing.unibs.it/~cowo
    **ANTI-SPAM** -- **Substitute IHATESPAM with cowo to reply by mail**
  -<! The Moment Is Now In All History, The Time Has Arrived And This Is The
  		One Place To Be. !>- Savatage - This Is The Time

 ipchains consente di specificare una porta solo per i protocolli icmp,
come chiarito da giuseppe corbelli, questa è una puttanata ;-)


 come chiarito da giuseppe corbelli, questa è una puttanata ;-)
...
Ehm, non mi riferivo certo al tuo post. Non ho la sindrome del correttore.
Ah, gia' che ci sei, tutti mi chiamano Cowo quindi... :-)
-- 
  Giuseppe "Cowo" Corbelli \/\ My software: 
http://yoda.ing.unibs.it/~cowo
    **ANTI-SPAM** -- **Substitute IHATESPAM with cowo to reply by mail**
  -<! A conclusion is simply the place where someone got tired of thinking. !>-

 Ah, gia' che ci sei, tutti mi chiamano Cowo quindi... :-)
figurati cowo, era solo un modo scherzoso per dire che avevo toppato :-)
ciao,
nico