Accés web pour un LAN via passerelle debian

Fermé
fxfranck - 17 févr. 2006 à 14:24
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 - 17 févr. 2006 à 15:06
Salut,
je ne parviens pas à configurer ma passerelle pour que mon LAN ait accés au web.
Voici ma config :
un LAN 192.168.222.0
un pc 192.168.222.2
une passerelle debian avec 2 interfaces : eth0(ip dynamique via dhcp) côté Internet et eth1(192.168.222.1) côté LAN.

Sur le pc 192.168.222.2, je défini la route vers ma passerelle :
route add default gw 192.168.222.1
Sur ma passerelle, j'active le forwarding :
echo 1 > /proc/sys/net/ipv4/ip_forward

Tous les ping sont ok.

ensuite, je défini mes règles iptables :

#je vide tout
iptables -F
iptables -X

#je ferme tout
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# reinitialisation table NAT
iptables -t nat -F
iptables -t nat -X

iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT

# je fais du nat pour accéder au net
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

#config machine locale
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# Resolution DNS pour le firewall
iptables -A INPUT -i eth0 --protocol udp --source-port 53 -j ACCEPT
iptables -A OUTPUT -o eth0 --protocol udp --destination-port 53 -j ACCEPT
iptables -A INPUT -i eth0 --protocol tcp --source-port 53 -j ACCEPT
iptables -A OUTPUT -o eth0 --protocol tcp --destination-port 53 -j ACCEPT

# Resolution DNS pour les machines du LAN
iptables -A FORWARD -i eth0 -o eth1 --protocol udp --source-port 53 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 --protocol udp --destination-port 53 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 --protocol tcp --source-port 53 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 --protocol tcp --destination-port 53 -j ACCEPT

# On permet toutes les connexions sur le LAN depuis le firewall
iptables -A INPUT -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o eth1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# On permet toutes les connexions sur le firewall depuis le LAN
iptables -A INPUT -i eth1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

# connexions Firewall-Internet (www)
iptables -A OUTPUT -p tcp --dport 80 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp --dport 443 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --sport 80 -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --sport 443 -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# connexions LAN-Internet (www)
iptables -A FORWARD -p tcp --dport 80 -i eth1 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --dport 443 -i eth1 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --sport 80 -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --sport 443 -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

et voila.

Mais mon pc 192.168.222.2 n'a toujours pas accés au net.
Quelle est l'explication?
Existe-t'il une config iptables plus simple et plus lisible?
Merci pour vos réponses...
A voir également:

1 réponse

kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
17 févr. 2006 à 15:06
Je ne vois pas de faute sauf peut-etre qu'il faut verifier entre source et destination port notamment pour les regles DNS, peut-etre c'est a l'inverse (je ne suis pas sur). Je pense tu as de regles trop severes. Je conseille d'abord faire avec deux regles FORWARD:
une pour sortir pour tout port (et avec NEW,ESTABLISHED,RELATED) et une pour entrer pour tout port mais seulement avec ESTABLISHED,RELATED. Tu reprends par exemple les regles FORWARD avec port 80 mais tu enleves la restriction pour le port 80 tcp (bref => accepter tout port) au moins pour la regle pour sortir avec (NEW, ...). Apres tu pourras toujours revenir en arrier et restreindre les choses.

Une suggestion: Mets a la fin des regles avec cible LOG pour afficher dans les messages de noyau les choses qui ne sont pas acceptes. Avec ca tu pourras plus precisement deboguer ce qui ne vas pas notamment si tu t'es plante avec source et destination port. J'ai le soupcon que ce na va pas pour la direction sortie.
0