Bon, voici ce que je te propose
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -s 192.168.0.0/24 -p tcp --dport 6667 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -d 192.168.0.0/24 -p tcp --dport 6667 -j ACCEPT
Maintenant voici les explications :
Tu peux voir ici que j'ai supprimer les NEW mais j'ai aussi SURTOUT inverser l'ordre de tes lignes.
Car la premiere fois qu'un paquet sort pour initier une session, il n'est pas repris dans les RELATED,ESTABLISHED, donc le processus continue et la "bardaf" il tombe sur l'accept, et la il est supoer content de te faire plaisir en laissant passer le paquet. (mais evidement ca ne marche que si le port destination est le 6667/tcp, sinon il te dit va te faire fou...) Maintenant qu'il l'a accepter il mets dans sa table, les infos de la session (les infos sont principalement les adresses et les ports source/destination)
Maintenant, la machine distante repond, et comme elle est RELATED, "super encore un paquet que je connais, je vais le laisser passer". Et ce directement sur la premiere ligne (pas la peine d'aller plus loin dans le process. Ensuite ton client re-enoie encore un paquet (ces deux la quand ils causent, ils causent), le firewall le vois arrive, et ce dit tiens c'est deja une session ESTABLIDHED, je peux le laisser passer.
Maintenant si tu as des drops c'est possible que tu n'ai pas ouvert TOUS les ports necessaires.
Si le process fork, en principe (du moins dans le principe apache), il conserve la meme adresse de destination et surtout le meme port, seul le process est forker pour permettre de travailler en parallele.
Et dans chaque connection tu devrais avoir un port source different, mais ici on s'en fout, car tu filtre sur le port de destination.
Poste le Friday 7 October 2005 18:24:11