Iptables: Problème de routage locale

Bonjour,

Je cherche à filtrer une IP source à destination d’une VIP1 (192.168.60.95) pour la rediriger sur une VIP2 (192.168.60.96) en entrée du même serveur.
Pour cela , j’utilise la fonction POSTROUTING d’iptable avec du DNAT.
J’ai également positionné une rêgle FORWARD.

Je ne parviens pas à réaliser cette fonction, tcpdump voit les packets arriver mais ils ne sortent pas d’iptables pour re-rentrer sur la même machine.

Par contre, si je configure en VIP2 une VIP externe à la machine (non locale à la machine), ça fonctionne très bien, tcpdump snif le traffic jusqu’à la destination.

L’ip forwarding est pourtant bien activé.
Les log syslog me donnent:
device eth0 entered promiscuous mode
ip_rt_bug: 192.168.100.41 -> 192.168.60.96

Voici le script:

[code]iptables -X
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

Initialization de la table NAT

iptables -t nat -F
iptables -t nat -X
iptables -t nat -P PREROUTING ACCEPT

Activation du NAT (logiquement deja active par lvs)

echo " + Activation du NAT"
echo 1 > /proc/sys/net/ipv4/ip_forward

Routage et DNAT en entree

iptables -t nat -F PREROUTING
iptables -t nat -A PREROUTING -s 192.168.100.41/32 -p tcp -d 192.168.60.95/32 -j DNAT --to-destination 192.168.60.96

iptables -A FORWARD -p tcp -s 192.168.100.41/32 -d 192.168.60.96/32 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -i lo -j ACCEPT
iptables -A INPUT -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

iptables -A OUTPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -o lo -j ACCEPT
iptables -A OUTPUT -j ACCEPT[/code]

auriez-vous une idée svp ?

Merci d’avance,

Eric

Ce qu’il y a de clair c’est que si 192.168.60.96 reçoit la requête et envoie une réponse, celle ci ne sera pas prise en compte par ta machine car il attendra une réponse de 192.168.60.95, voulant établir une connexion avec cette machine. Il te faut dans ce cas faire du masquerading avec une règle DNAT lorsque tu modifies la machine destination.