Superkikim O Blog

Superkikim aussi, il blogue. Il blogue, il blague et partage ses découvertes

IP Forwarding pour les serveurs OVH avec VMWare Server 2

Si vous êtes arrivé ici, c’est que vous avez peut-être déjà lu le guide OVH. Sinon, lisez-le. Ce dernier se base sur la distribution VMWare Server de OVH. Il s’agit d’une distrib Debian Etch 32bits avec VMWare Server 1.

Une fois que vous l’avez lu, vous pouvez vous rendre sur le Blog à Guigui pour savoir comment installer VMWare Server 2.0 sur votre propre distrib Debian… Parti de là, le guide OVH n’est plus tout à fait adapté. En effet, le script /etc/init.d/vmware a changé sur VMWare server 2.0. Il est donc impossible d’ajouter la commande « ip route add » après ifup vmnet8. Voilà donc:

Creez un fichier /etc/vmware/routes.conf. Dans ce fichier, insérez les IP failover pour vos machines virtuelles. Une par ligne.

Ensuite, creez un script « addroutes » dans /etc/vmware. En voici le code:

#!/bin/sh
 
while [ "$v" != "1" ];
do
v=$(ifconfig | grep -c vmnet1)
echo "Waiting for vmnet1"
done
 
if [ -e /etc/vmware/routes.conf ]; then
for address in `egrep -v "^#" /etc/vmware/routes.conf | awk '{ print $1 }'`; do
/sbin/ip route add $address dev vmnet1
 
# ATTENTION: Cette ligne n'est nécessaire que si vous utilisez FTP
# backup depuis la machine virtuelle. Adaptez-la a vos besoins
/sbin/iptables -t nat -A POSTROUTING --source $address --match iprange --dst-range ip_de_votre_ftpbackup -j SNAT --to ip_de_votre_dedié
done
fi
 
sysctl -p /etc/sysctl.conf
echo "Routes have been added"

Editez ensuite /etc/init.d/vmware et recherchez la ligne « # Start the virtual ethernet kernel service » (ligne 837 chez moi). Vous trouverez ceci:

# Start the virtual ethernet kernel service
vmware_start_vmnet() {
vmware_load_module $vnet
}

Ajoutez /etc/vmware/addroutes& à la fin:

# Start the virtual ethernet kernel service
vmware_start_vmnet() {
vmware_load_module $vnet
/etc/vmware/addroutes&
}

Attention. Le « & » à la fin de addroutes n’est pas une erreur. Il est indispensable. Ca permet de lancer le script en boucle, et de continuer le démarrage du script vmware. Car avant de démarrer vmnet1 et que addroutes puisse fonctionner, vmware va lancer d’autres vmnet. Si vous ne mettez pas le « & » à la fin, votre script va rester planté là, à attendre que vmnet1 soit monté, alors que le script vmware ne pourra pas le monté, car il attendra que addroutes se termine.

A noter la ligne « iptables -t nat… ». Celle-ci permet d’accéder au FTP Backup de OVH depuis les machines virtuelles. En effet, l’accès par une autre IP que celle du serveur dédié est refusé. Dès lors, il faut que les accès depuis les VM soient transmises au serveurs FTP Backup avec l’IP du dédié.

Comments

Comment

*