[gull] Traceroute sur une machine nattée (snat + dnat)

Félix Hauri felix at f-hauri.ch
Thu May 12 18:21:33 CEST 2011


Bonjour,

J'utilise, depuis pas mal de temps, des solutions iptable pour natter
soit des machines virtuelles OpenVZ, soit des machines réelles derriere
un firewall.

Exemple récurant, simplifié:

PUBIF=eth0 
PUBIP=1.2.3.4
PRIVIP=192.168.2.8

# Pour que le container recoive ce qui lui est destine:
iptables -t nat -A PREROUTING -d $PUBIP/32 -i $PUBIF -j DNAT --to-destination $PRIVIP
# Pour que le public voit la bonne adresse en retour:
iptables -t nat -A POSTROUTING -s $PRIVIP -o $PUBIF  -j DNAT --to-source $PUBIP

... Et cela fonctionne (a priori) très bien.

J'ai remarqué cependant, qu'un traceroute donne une réponse surprenante:
traceroute to 1.2.3.4, 30 hops max, 40 byte packets
 1  GVA-BBCS-GigabitEthernet.worldcom.ch (212.74.161.238)  17.258 ms
 2  GVA-GigabitEthernet.worldcom.ch (212.74.161.245)  17.304 ms
 3  ROT24.ipplus.ch (1.2.4.6)  21.059 ms
 4  ma.destinati.on (1.2.3.4)  25.033 ms
 5  ma.destinati.on (1.2.3.4)  25.068 ms

Ma destination parait 2 x! (le réseau bégaie ;-)

La solution pour éviter l'effet serait d'ajouter ``! -p icmp'' au rule PREROUTING

Ma question est cependant: Est-ce que quelqu'un à déjà constaté un ``problème''
effectif, lié à cet état de chose?

Est-ce que, selon vous, cela peut générer des problèmes?

--
 Félix Hauri  -  <felix at f-hauri.ch>  -  http://www.f-hauri.ch


More information about the gull mailing list