Pbm iptables

Top Page

Reply to this message
Author: Gilles Ballini
Date:  
To: guilde@imag.fr
Subject: Pbm iptables
Bonjour...
Je n'arrive pas à passer mon firewall correctement de ipchains à
iptables... si qqn pouvait m'aider...

Voici la config de mon réseau :
* un PC sous debian woody servant de routeur/firewall connecté à l'ADSL
via le port eth0 (sur modem alcatel speedtouch ethernet), et au réseau
local via le port eth1.
* sur le réseau local, un PC sous win98 (oui, je sais...), et un sous
Linux (Mandrake 8.2 et Woody)...

Jusqu'à présent, le PC-routeur est sous noyau 2.2 avec ipchains... tout
marche nickel, les PC du réseau local ont accès à internet sans
problème...

Je souhaite passer à iptables pour avoir un firewall plus à jour, donc
mieux protégé... j'ai donc téléchargé et installé le noyau 2.4.16-k6, et
configuré iptables comme suit :

-------------------------------------
# Script de démarrage du firewall et des règles de routage :

####
# chargement des modules
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe iptable_mangle
modprobe ip_nat_ftp
modprobe ip_nat_snmp_basic
modprobe ip_conntrack
modprobe ip_conntrack_ftp

####
# réinitialisation des chaînes
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X

####
# polices par défaut:

# on rejette les connexions entrantes et traversant le routeur
iptables -P INPUT DROP
iptables -P FORWARD DROP

# on accepte le reste
iptables -P OUTPUT ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P PREROUTING ACCEPT


####
# création de la chaîne générale pour les chaînes INPUT et FORWARD :
iptables -N block

# on accepte les connexions qui ne proviennent pas de l'extérieur (eth0)
iptables -A block -i ! eth0 -j ACCEPT

# on accepte les transmissions de paquets sur les connexions établies
iptables -A block -m state --state ESTABLISHED,RELATED -j ACCEPT

# on refuse le reste
iptables -A block -j DROP

####
# redirection des chaînes INPUT et FORWARD vers la nouvelle chaîne :
iptables -A INPUT -j block
iptables -A FORWARD -j block


####
# activation du masquerading pour la transmission de connexions depuis
# le réseau interne vers l'extérieur :
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

-------------------------------------

... eh ben ça marche pas !!!
La connexion internet fonctionne, j'ai accès sans problème depuis le
PC-Routeur... mais le routage foire ! Pas moyen d'accéder au réseau
externe depuis l'un ou l'autre des PC du réseau interne !!
J'avais pourtant l'impression d'avoir bien compris en théorie le
fonctionnement d'iptables, mais visiblement, y a qqch qui m'échappe...
ai-je oublier qqch dans mon script ?

Merci d'avance pour toute aide...

    Gilles