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é.
Joli travail 🙂
La perséverance a été productive 😉
Je m’empresse de rajouter un lien.
Merci 🙂 Venant de toi, je suis touché 😉
Bonsoir,
J’ai installé Vmware server 2 sur une debian 64 chez OVH , crée et installer ma vm avec ubuntu server sur l’interface Vmnet1 (Hostonly) , jusqu’à la tout ce passe bien 🙂
j’ai configurer l’interface réseau sur le dédié et appliquer le /sbin/ip route add ipfailover dev vmnet1
du coté de la vm:
auto eth0
iface eth0 inet static
address ipfailover
netmask 255.255.255.255
post-up /sbin/route add default dev eth0
après un reboot de la machine virtuel je commence par un ping sur le dédié et la rien, paquet envoyé mais pas reçu 🙁
ma question est ce que j’ai sauter une étape ??? sinon quelle est l’ip à mettre dans l’interface Vmnet1 sur le dédié??
Merci pour votre aide
Cordialement
Bonjour Hakos,
As-tu suivi le guide de Guiguiàbloc ?
Tu as bien fait la configuration sur la VM, pas de problème. Mais as-tu activé l’IP Forwarding sur ta machine physique ?
Dans /etc/sysctl.conf, ajouter:
net.ipv4.conf.vmnet1.proxy_arp=1
net.ipv4.ip_forward=1
Puis lancer:
sysctl -p /etc/sysctl.conf
Ensuite, si tu as fait le script addroutes décrit dans cet article, tu peux vérifier si les routes sont actives en tapant la commande “route”. Tu dois voir afficher entre autre des adresses ipfailover que tu auras mis dans “routes.conf”.
En espérant avoir pu t’aider.
Bonjour,
Enfin de conte tout est rentrée dans l’ordre , et ca fonctionne très bien , bravo pour le script de forwarding il marche très bien aussi.
Bonne continuation .
Cordialement
Et pourquoi ne pas ajouter les modifs de sysctl dans le script? Hein? 😛
Salut Deurk,
En fait, la modif sysctl.conf ne se fait qu’une fois. Dès lors, il est inutile de la mettre dans le script. Par contre, dans le script addroutes qui est exécuté au démarrage de vmware, tu retrouves la commande sysctl -p /etc/sysctl.conf qui permet de relancer le forwarding. Je l’y ai mis car au redémarrage du serveur, mon forwarding ne marchait plus.
hello
J’ai suivi attentivement les différents posts de superkim et de Guiguiàbloc (merci à eux) t cela ne marche pas !!!!
la config
Hote OVH : ubuntu serveur 8.10 64 bits, noyau 2.6.28.8-xxxx-std-ipv4-64
Hote dedibox : ubuntu serveur 8.04 64 bits, noyau 2.6.25.4dedibox-r9-smp-x64
Le problème (dans les 2 cas) : mon guest n’arrive pas à sortir sur internet !!!
par contre (toutjours en config Hostonly) si je lui donne comme eth0 inet dhcp, alors je ping mon hote !! (et il ne sort pas ce qui est normal)
si je lui donne comme eth0 inet dhcp et guest configuré en NAT, alors je ping mon hote et ne sort sur le net !! normal)
pour ce qui est de la config en hostonly
j’ai suivi les recommandations
Sur l’hote
root@sf1:~# cat /etc/sysctl.conf
net.ipv4.ip_forward=1
net.ipv4.conf.vmnet1.proxy_arp=1
root@sf1:~# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
ipfailover 0.0.0.0 255.255.255.255 UH 0 0 0 vmnet1
10.0.254.0 0.0.0.0 255.255.255.240 U 0 0 0 dummy0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet8
94.23.8.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.0.253.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet1
0.0.0.0 94.23.8.254 0.0.0.0 UG 100 0 0 eth0
sur le guest
root@guest.sf1:~# cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address ipfailover
netmask 255.255.255.255
post-up /sbin/route add dev eth0
pour les dns du guest j’ai les même DNS que le host
Je précise que je teste la manip chez ovh sur un kimsufi et chez free avec une dedibox pro
je penche pour un problème de config au niveau du noyau ou un problème avec les ip_forward sur le guest (faut il l’activer ?)
merci de vos remarques et commentaires avisés
Salut.
As-tu exécuté la commande sysctl ?
sysctl -p /etc/sysctl.conf C’est elle qui va activer le forward.
Bonsoir,
J’obtiens systématiquement cette erreur lors de l’écécution de addroutes :
Waiting for vmnet1
Error: an inet prefix is expected rather than “xxx.xxx.xxx.xxx”.
Et ceux pour les différentes ip failover.
Une idée car tout ce que j’ai trouvé sur le net ne m’apportes aucune solution ni idée sur le problème engendrant cette erreur.