C'est peut-être tout simple, mais je ne m'en sors pas.
(Je RTFM depuis une semaine, et je suis parti de 0 au niveau d'iptables.)
Alors, j'explique le problème, j'espère qu'une âme charitâble pourra m'aider :
Je suis en train de mettre en place un firewall. (sous redhat 9.0)
Ce firewall a 3 cartes réseau : eth0, 1 et 2.
Eth0 est relié à un Wan et a pour ip 192.168.151.253
Eth1 est relié à ma DMZ et a pour ip 10.0.151.253
Eth2 est relié à mon réseau local et a pour ip 129.1.3.21
Les postes de mon réseau local sont divisés en 2 classes d'adresses ip (selon les services auquels ils doivent avoir accès, 129.1.0.0 ou 129.20.0.0).
Selon leur ip, je dois les natter vers 192.168.151.100 ou 151.101.
Mon problème :
Lorsque qu'un pc de mon réseau (par exemple 192.168.8.125) demande à joindre un pc dans le Wan (par exemple 192.168.151.12), son adresse est bien snattée par 192.168.151.100. (selon cette règle : iptables -t nat -A POSTROUTING -s 129.1.0.0/16 -o eth2 -j SNAT --to-source 192.168.151.100). Le pc destination reçoit la requête, mais ne sait pas à qui la renvoyer (le sniffer que j'ai installé me montre bien que la requête arp reste sans réponse.)
J'ai une solution qui ne me satisfait pas entièrement : déclarer sur le pc destination (192.168.151.12) mon firewall comme destination de routage pour 192.168.151.100.
J'ai essayé de mettre en place une règle de DNAT, mais celà ne fonctionne pas, j'ignore pourquoi.
(iptables -t nat -A PREROUTING -i eth2 -d 192.168.151.0/24 -j DNAT --to-destination 192.168.151.253)
Voilà le script de config du firewall :
#!/bin/sh
echo "Configuration des regles du Firewall"
# Regles par defaut
iptables -t filter -F
iptables -t filter -X
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -P INPUT DROP
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
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
# Acces depuis eth0 et localhost (lo)
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A OUTPUT -o eth0 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Regles permmettant de communiquer avec la DMZ
iptables -A FORWARD -i eth0 -o eth2 -s 129.1.0.0/16 -d 192.168.0.0/16 -m state --state ! INVALID -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 -s 192.168.0.0/16 -d 129.1.0.0/16 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth2 -s 129.20.0.0/16 -d 192.168.0.0/16 -m state --state ! INVALID -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 -s 192.168.0.0/16 -d 129.20.0.0/16 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -s 129.1.0.0/16 -d 10.0.151.0/24 -m state --state ! INVALID -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -s 10.0.151.0/24 -d 129.1.0.0/16 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth2 -o eth1 -s 192.168.0.0/16 -d 10.0.151.0/24 -m state --state ! INVALID -j ACCEPT
iptables -A FORWARD -i eth1 -o eth2 -s 10.0.151.0/24 -d 192.168.0.0/16 -m state --state RELATED,ESTABLISHED -j ACCEPT
# Regles de NAT selon l'adresse IP
iptables -t nat -A POSTROUTING -s 129.1.0.0/16 -o eth2 -j SNAT --to-source 192.168.151.100
iptables -t nat -A POSTROUTING -s 129.20.0.0/16 -o eth2 -j SNAT --to-source 192.168.151.101
iptables -t nat -A PREROUTING -d 192.168.151.1 -i eth2 -j DNAT --to-destination 10.0.151.1
iptables -t nat -A PREROUTING -d 129.1.151.1 -i eth0 -j DNAT --to-destination 10.0.151.1
#activation du forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "Fin de configuration du Firewall."
Je remercie infiniment d'avance ceux qui auront la patiente de m'aider
Message édité par Garfield le 29-10-2003 à 18:53:09