Régler le problème de lenteur sur internet des VM avec VirtualBox en mode pont !
Introduction
Si vous utilisez VirtualBox sous FreeBSD (en tant qu'hôte) et que vos machines virtuelles rencontrent des lenteurs importantes en mode réseau ponté (bridged networking), ce problème provient souvent d'incompatibilités avec certaines optimisations réseau activées par défaut.
Certains serveurs souffrent de ce problème selon le modèle de carte réseau.
Symptômes
- Le réseau fonctionne normalement en mode NAT mais devient extrêmement lent en mode ponté.
- Pas de messages d'erreurs particuliers, juste des lenteurs très significatives.
Cause
Le module kernel vboxnetflt, responsable du réseau ponté sur VirtualBox, n'est pas compatible avec les optimisations suivantes activées sur l'interface réseau physique de FreeBSD :
- TSO (TCP Segmentation Offload)
- LRO (Large Receive Offload)
- RXCSUM/TXCSUM (gestion matérielle des checksums)
Ces optimisations provoquent une forte dégradation des performances réseau dans les machines virtuelles.
Solution rapide
Désactivez immédiatement ces optimisations sur votre interface physique (par exemple em0) :
ifconfig em0 -tso -lro -rxcsum -txcsum
Puis redémarrez votre machine virtuelle. Les performances devraient instantanément revenir à la normale.
Solution permanente
Interface configurée en statique
Ajoutez ces paramètres dans votre fichier /etc/rc.conf pour rendre le changement définitif :
ifconfig_em0="inet 192.168.x.x netmask 255.255.255.0 -tso -lro -rxcsum -txcsum"
Interface configurée en DHCP
Si votre carte réseau est configurée en DHCP, utilisez plutôt la syntaxe suivante dans votre fichier /etc/rc.conf :
ifconfig_em0="DHCP -tso -lro -rxcsum -txcsum"
(Remplacez évidemment em0 par votre interface réseau.)
Vérification finale
Confirmez les modifications avec :
ifconfig em0
Les options TSO, LRO, RXCSUM et TXCSUM ne doivent plus apparaître.
Les performances réseau des VM par pont devraient être bien plus grandes !
↑ Haut de page