[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Je désire avancer sur le script d'iptables :)!



Le 08/08/04 à 17:57, Annie D. écrivait:

> Bonjour,
> 
> "J.Pierre Pourrez" wrote:
> > 
> > $I -A OUTPUT -p tcp -d ! $INTRANET --destination-port 80      -j DNAT --to-destination $PROXY
> > 
> > Hélas, ma 2ème règle pour le poste connecté directement à internet, sur lequel je travaille, ne passe pas.
> > 
> > Pourtant d'après "man iptables" la cible DNAT est permise pour la chaine OUTPUT
> 
> Quelle version de noyau ?
> 
> J'ai été confrontée au problème à mes débuts avec Netfilter/iptables sur
> Woody, voici les informations que j'en ai retirées :
> 
> Dans les noyaux inférieurs à 2.4.19, DNAT en OUTPUT ne marche pas
> correctement si la destination est une autre machine. En fait c'est
> l'opération de dé-NATage des paquets retour qui ne se fait pas.
> 
> Dans les noyaux 2.4.19 et ultérieurs, il faut que l'option
> CONFIG_IP_NF_NAT_LOCAL ait été activée à la compilation. Ça marche aussi
> avec un noyau plus ancien auquel on a appliqué le patch du patch-o-matic
> pour la mise à jour de Netfilter en version 2.4.19 au moins (on ne peut
> pas aller beaucoup plus loin, probablement à cause des patches
> spécifiques à Debian). C'est ce que j'ai fait avec le noyau 2.4.18
> stable de Debian.

Apparemment j'ai tout bon de ce côté:

  jpierre@bazooka:~$ grep CONFIG_IP_NF_NAT /boot/config-2.4.26
  CONFIG_IP_NF_NAT=m
  CONFIG_IP_NF_NAT_NEEDED=y
  CONFIG_IP_NF_NAT_AMANDA=m
  CONFIG_IP_NF_NAT_LOCAL=y
  # CONFIG_IP_NF_NAT_SNMP_BASIC is not set
  CONFIG_IP_NF_NAT_IRC=m
  CONFIG_IP_NF_NAT_FTP=m
  CONFIG_IP_NF_NAT_TFTP=m

  bazooka:~# lsmod |grep "^ipt"
  ipt_ULOG                3592   2  (autoclean)
  iptable_mangle          2168   0  (autoclean) (unused)
  ipt_MASQUERADE          1624   1  (autoclean)
  iptable_nat            17134   1  (autoclean) [ipt_MASQUERADE]
  ipt_state                536   9  (autoclean)
  iptable_filter          1772   1  (autoclean)

Et le proxy transparent (Squid) marche avec un client sur le réseau local. 

Je me demande si je lis bien "man iptables":
   DNAT
      This  target  is only valid in the nat table, in the PREROUTING and 
      OUTPUT chains, and user-defined chains which  are only called from
      those  chains.

La virgule après "nat table" a la valeur "et" ou "ou" ?
Je pencherais pour la 2ème hypothèse mais cela ne marche pas.

Toujours à la recherche de la solution,
Jean-Pierre Pourrez



Reply to: