Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 398

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>Linux IPCHAINS HOWTO: Problemi comuni</TITLE>
 <LINK HREF="IPCHAINS-HOWTO-7.html" REL=next>
 <LINK HREF="IPCHAINS-HOWTO-5.html" REL=previous>
 <LINK HREF="IPCHAINS-HOWTO.html#toc6" REL=contents>
</HEAD>
<BODY>
<A HREF="IPCHAINS-HOWTO-7.html">Avanti</A>
<A HREF="IPCHAINS-HOWTO-5.html">Indietro</A>
<A HREF="IPCHAINS-HOWTO.html#toc6">Indice</A>
<HR>
<H2><A NAME="s6">6. Problemi comuni</A></H2>

<P>
<H2><A NAME="ss6.1">6.1 ipchains -L si pianta!</A>
</H2>

<P>Probabilmente si stanno bloccando le ricerche DNS; alla fine andr&agrave; in
timeout.  Si provi a passare l'opzione `-n' a ipchains, che sopprime
la risoluzione dei nomi.
<P>
<P>
<H2><A NAME="ss6.2">6.2 Le opzioni negate non funzionano!</A>
</H2>

<P>Si deve mettere l'opzione `!' da sola, con degli spazi da entrambi i
lati.  Un errore classico (segnalato dalla versione 1.3.10) &egrave;:
<P>
<BLOCKQUOTE><CODE>
<PRE>
# ipchains -A input -i !eth0 -j DENY
#
</PRE>
</CODE></BLOCKQUOTE>
<P>Non esister&agrave; mai un'interfaccia chiamata `!eth0', ma ipchains non sa
questa cosa.
<P>
<P>
<H2><A NAME="ss6.3">6.3 Masquerading/Forwarding non funziona!</A>
</H2>

<P>Ci si assicuri che sia abilitato l'inoltro dei pacchetti (nei kernel
recenti &egrave; disabilitato per default, il che significa che i pacchetti non
proveranno mai ad attraversare la catena `forward').  Si pu&ograve; venirne a
capo digitando (come root):
<P>
<BLOCKQUOTE><CODE>
<PRE>
# echo 1 > /proc/sys/net/ipv4/ip_forward
#
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Se funziona, lo si pu&ograve; mettere da qualche parte nei propri script di
avvio cos&igrave; che sia abilitato ogni volta; ovviamente &egrave; meglio impostare
il proprio firewall prima di lanciare questo comando, altrimenti c'&egrave;
l'opportunit&agrave; che scappino un po' di pacchetti. 
<P>
<P>
<H2><A NAME="ss6.4">6.4 -j REDIR non funziona!</A>
</H2>

<P>Si devono permettere i pacchetti di inoltro (si veda sopra) affinch&eacute;
funzioni il dirottamento; diversamente il codice di instradamento
scarter&agrave; i pacchetti.  Quindi se si sta usando solamente il
dirottamento e non si usa il forwarding, &egrave; bene essere consci di
questa cosa.
<P>
<P>Si noti che REDIR (sebbene sia nella catena input) non ha effetto
sulle connessioni da un processo locale.
<P>
<H2><A NAME="ss6.5">6.5 Non funzionano i caratteri jolly nelle interfacce!</A>
</H2>

<P>C'&egrave; un bug nelle versioni 2.1.102 e 2.1.103 del kernel (e in alcune
vecchie patch che ho prodotto) che faceva fallire i comandi ipchains
che utilizzavano caratteri jolly per specificare interfacce (ad
esempio <CODE>-i ppp+</CODE>).
<P>
<P>Ci&ograve; &egrave; stato corretto nei kernel recenti e nella patch per il 2.0.34
presente sul sito web.  Pu&ograve; essere pure corretto a mano nei sorgenti
del kernel modificando la riga 63 (pi&ugrave; o meno) di
include/linux/ip_fw.h: 
<P>
<BLOCKQUOTE><CODE>
<PRE>
#define IP_FW_F_MASK    0x002F  /* All possible flag bits mask   */
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Dovrebbe essere ``0x003F''.  Lo si corregga e si ricompili il kernel.
<P>
<H2><A NAME="ss6.6">6.6 TOS non funziona!</A>
</H2>

<P>Questo &egrave; stato un mio errore: l'impostazione del campo Type of Service
nei kernel dal 2.1.102 al 2.1.111 in realt&agrave; non faceva niente.  Questo
problema &egrave; stato corretto nel 2.1.112.
<P>
<H2><A NAME="ss6.7">6.7 Non funzionano ipautofw e ipportfw!</A>
</H2>

<P>Per i 2.0.x, &egrave; vero; non ho il tempo per creare e mantenere una
patch enorme per ipchains e ipautofw/ipportfw.
<P>
<P>Per i 2.1.x, si scarichi l'ipmasqadm di Juan Ciarlante da
<PRE>
&lt;htmlurl url="http://juanjox.linuxhq.com/"
        name="http://juanjox.linuxhq.com/">
</PRE>

e lo si usi esattamente come si sarebbe usato <CODE>ipautofw</CODE> o
<CODE>ipportfw</CODE>, tranne per il fatto che invece di <CODE>ipportfw</CODE>
si usa <CODE>ipmasqadm portfw</CODE>, e invece di <CODE>ipautofw</CODE> si usa
<CODE>ipmasqadm autofw</CODE>. 
<P>
<H2><A NAME="ss6.8">6.8 xosview si &egrave; rotto!</A>
</H2>

<P>Si aggiorni alla versione 1.6.0 o superiore, che non richiede nessuna
regola firewall per i kernel 2.1.x.  Sembra che anche la release 1.6.1
abbia questo problema; lo si segnali all'autore (non &egrave; un mio errore!).
<P>
<H2><A NAME="ss6.9">6.9 Segmentation Fault con `-j REDIRECT'!</A>
</H2>

<P>Questo era un bug in ipchains versione 1.3.3.  Si aggiorni.
<P>
<P>
<H2><A NAME="no-timeout"></A> <A NAME="ss6.10">6.10 Non riesco a impostare i timeout del masquerading!</A>
</H2>

<P>Ci&ograve; &egrave; vero (per i kernel 2.1.x) fino al 2.1.123.  Nel 2.1.124, il
tentativo di impostare i timeout del masquerading provoca un blocco
del kernel (si modifichi <CODE>return</CODE> in <CODE>ret =</CODE> nella riga
1328 di net/ipv4/ip_fw.c).  Nel 2.1.125, funziona tutto.
<P>
<H2><A NAME="ss6.11">6.11 Voglio dei firewall IPX!</A>
</H2>

<P>E cos&igrave; molti altri, sembra.  Il mio codice gestisce solo IP,
sfortunatamente.  D'altra parte c'&egrave; anche qualcosa di buono: le cose
per scrivere un firewall IPX ci sono tutte!  Basta semplicemente
scrivere il codice; sar&ograve; felice di aiutare dove possibile.
<P>
<HR>
<A HREF="IPCHAINS-HOWTO-7.html">Avanti</A>
<A HREF="IPCHAINS-HOWTO-5.html">Indietro</A>
<A HREF="IPCHAINS-HOWTO.html#toc6">Indice</A>
</BODY>
</HTML>