Tu essaye de faire du FORWARDING entre deux machines sur le même brin réseau, je n'en vois pas trop l'intéret même pour faire des tests, en effet autant attaquer directement la machine en questions et ne pas s'embêter avec les IPTABLE.
Bref, le principe d'un FIREWALL (en gros) est d'avoir plusieurs interfaces réseaux et de filtrer le flux entre chacunes d'entre elles. Dans ton cas ton FIREWALL n'en a qu'une... Donc il ne peut pas faire office de FW... Il te faut donc rajouter une carte réseau sur ton FW (eth0 + eth1) avec un nouvelle IP ensuite suivant ce schémas type ==>
--> Station Cliente (ip: 192.168.10.36)
|
|brin réseau 192.168.10.0/24
|
-----------------------------------------------
-->eth0 (ip: 192.168.10.1)
PC LINUX FIREWALL IPTABLES
-->eth1 (ip: 192.168.20.1)
-----------------------------------------------
|
|brin réseau 192.168.20.0/24
|
--> Serveur Web (ip: 192.168.20.38)
Comme le montre le schéma précédent s'il est compréhensible, le Firewall sert d'interconnexion entre les brin réseaux 192.168.10.0/24 (ex réseau public) et le brin réseau 192.168.20.0/24 (réseau privé ou DMZ).
Les machines du réseau 192.168.10.0/24 ne peux pas voir les machines du réseau 192.168.20.0/24 puisque cachées par le Firewall via l'IP (publique) 192.168.10.1 . Pour atteindre le serveur WEB, le client 192.168.10.36 va faire une requette HTTP sur le FIREWALL donc sur le port TCP 80 à l'ip 192.168.10.1 (et non sur 192.168.20.38 puisqu'invisible).
Le firewall lui, grâce à la ligne aux lignes IPTABLE suivantes :
iptables -A FORWARD -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.20.38 (Syntaxe à vérifier)
Le firewall donc, va récupérer la requette de la station cliente et replacer l'adresse IP de destination 192.168.10.1 par 192.168.20.38 puis la transferer sur son interface eth1 et le brin réseau 192.168.20.0/24. Cette requette sera donc réceptionnée par le serveur WEB qui aura bien évidemment comme passerelle l'IP 192.168.20.1 .
De plus, toutes les machines du réseaux local (ou DMZ) qui émettent des trames vers le réseau public 192.168.10.0/24 doivent, avant de sortir, avoir comme adresse IP source l'ip publique du firewall (soit 192.168.10.1) pour que les machines du réseau public puissent répondre. C'est bien évidemment le FIREWALL qui va se charger de cela via la ligne iptables suivante :
iptables -t nat -A POSTROUTING -s 192.168.20.0/24 -j SNAT --to-source 192.168.10.1 (syntaxe à vérifier également)
Voilà, j'espère ne pas avoir été trop compliqué et qu'avec tt ça tu arrivera à faire tes tests. Il faut que je regarde sur mes docs si les syntaxes des IPTABLES sont bonnes, je te confirme plus tard, mais au moins tu as le principe de fonctionnement.
Si tu as des questions...
Bon courage