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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
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
auriez-vous une idée svp ?

Merci d'avance,


Eric