#1 Le 26/08/2009, à 13:34
- peij
[VMWare] iptables pour une 2e ip publique
Bonjour à tous,
Nous avons un serveur VMWare Server 1.0.8 chez OVH qui possède plusieurs IP publiques (fail-over).
Nous avons par exemple l'IP A : 92.87.xxx.xxx et B : 87.98.xxx.xxx.
Nous avons crée une VM avec un Windows 2003 Web Edition dessus.
Notre objectif est d'attribuer l'adresse IP B à la machine virtuelle W2003.
Nous avons donc paramétré la carte réseau de la VM en host-only, activé l'ip forwarding et le proxy ARP sur le serveur, bien paramétré la connexion sous W2003.
Résultat des courses, une VM qui fonctionne un peu bizarrement : en effet, la machine et tous ses ports sont accessibles depuis l'extérieur directement, de ce côté pas de problème.
Par contre, elle est incapable de sortir vers le net, et certaines requêtes effectuées depuis l'extérieur ne reçoivent jamais de réponse.
De mon côté, j'ai voulu tester quelque chose : j'ai changé la carte réseau pour la paramétrer en NAT, et j'ai créé une règle iptables qui redirige les requêtes ayant pour destinataire l'IP B vers la VM.
Ici, ça fonctionne parfaitement sauf que, forcément, au niveau de la VM, dans les logs, les ips source sont toutes celles du host (192.168.1.1), et lorsque l'on effectue une requete vers l'extérieur, forcément, c'est l'IP A, et non B qui est fournie dans les paquets.
Voici ma règle iptables (toute simple) :
/sbin/iptables -t nat -A PREROUTING -p tcp -i eth0 -d 87.98.xxx.xxx -j DNAT --t$
/sbin/iptables -t nat -A POSTROUTING -o vmnet8 -j MASQUERADE
Y-a-t'il un moyen d'effectuer la translation d'adresse sans changer l'IP transmises dans les paquets ?
Avez-vous une idée du pourquoi du comment ça ne fonctionne pas correctement en host-only ?
Merci !
Hors ligne