Chapitre 6. Réseau virtuel
Comme indiqué à la Section 3.9, «Paramètres réseau», Oracle VM VirtualBox
fournit jusqu'à huit cartes Ethernet PCI virtuelles pour chaque carte virtuelle.
machine. Pour chacune de ces cartes, vous pouvez sélectionner individuellement le
Suivant:
-
Le matériel qui sera virtualisé.
-
Le mode de virtualisation dans lequel la carte virtuelle fonctionne, avec
respect de votre matériel de réseau physique sur l'hôte.
Quatre des cartes réseau peuvent être configurées dans le
Réseau section de la
Réglages dialogue dans le graphique
interface utilisateur d'Oracle VM VirtualBox. Vous pouvez configurer les huit
cartes réseau sur la ligne de commande en utilisant VBoxManage
modifyvm. Voir Section 8.8, «VBoxManage modifyvm».
Ce chapitre explique les différents paramètres de réseau de manière plus détaillée.
détail.
Pour chaque carte, vous pouvez sélectionner individuellement quel type de
Matériel sera présenté au virtuel
machine. Oracle VM VirtualBox peut virtualiser les types suivants de
matériel de réseau:
-
AMD PCNet PCI II (Am79C970A)
-
AMD PCNet FAST III (Am79C973), paramètre par défaut
-
Bureau Intel PRO / 1000 MT (82540EM)
-
Serveur Intel PRO / 1000 T (82543GC)
-
Serveur Intel PRO / 1000 MT (82545EM)
-
Carte réseau paravirtualisée (virtio-net)
Le PCNet FAST III est la valeur par défaut car il est pris en charge par
presque tous les systèmes d'exploitation, ainsi que par le démarrage de GNU GRUB
directeur. Exceptionnellement, les cartes de la famille Intel PRO / 1000 sont
choisi pour certains types de systèmes d'exploitation invités qui ne sont plus livrés
avec des pilotes pour la carte PCNet, tels que Windows Vista.
Le type de bureau Intel PRO / 1000 MT fonctionne avec Windows Vista et
versions ultérieures. La variante T Server de la carte Intel PRO / 1000 est
reconnu par les invités Windows XP sans pilote supplémentaire
installation. La variante MT Server facilite les importations OVF de
d'autres plates-formes.
L’adaptateur réseau paravirtualisé (virtio-net) est spécial. Si
vous sélectionnez cet adaptateur, puis Oracle VM VirtualBox fait
ne pas virtualiser le matériel réseau courant
qui est pris en charge par les systèmes d'exploitation invités communs. Au lieu,
Oracle VM VirtualBox attend une interface logicielle spéciale pour
environnements virtualisés à fournir par l'invité, permettant ainsi
éviter la complexité d'émuler du matériel de réseau et
améliorer les performances du réseau. Oracle VM VirtualBox assure la prise en charge de
la norme de l'industrie virtio la mise en réseau
pilotes, qui font partie du projet KVM open source.
Les pilotes réseau virtio sont disponibles pour les logiciels suivants:
systèmes d'exploitation invités:
-
Les noyaux Linux version 2.6.25 ou ultérieure peuvent être configurés pour
fournir un soutien virtio. Certaines distributions ont également
virtio back-porté aux noyaux plus anciens. -
Pour Windows 2000, XP et Vista, les pilotes virtio peuvent être
téléchargé et installé à partir de la page Web du projet KVM:http://www.linux-kvm.org/page/WindowsGuestDrivers.
Oracle VM VirtualBox a également un support limité pour géant
cadres. Ce sont des paquets de réseau avec plus de
1500 octets de données, à condition que vous utilisiez la carte Intel
la virtualisation et la mise en réseau pontée. Les trames Jumbo ne sont pas
pris en charge avec les périphériques réseau AMD. Dans ces cas, jumbo
les paquets seront silencieusement abandonnés à la fois pour la transmission et la
recevoir des instructions. Les systèmes d'exploitation invités essayant d'utiliser cette
cette fonctionnalité l’observera comme une perte de paquet, ce qui peut entraîner
comportement inattendu de l'application dans l'invité. Cela ne cause pas
problèmes avec les systèmes d'exploitation invités dans leur défaut
configuration, car les trames jumbo doivent être explicitement activées.
Chacun des adaptateurs réseau peut être configuré séparément pour
fonctionner dans l'un des modes suivants:
-
Pas attaché. Dans ce mode,
Oracle VM VirtualBox signale à l’invité qu’une carte réseau est
présent, mais qu'il n'y a pas de lien. C'est comme si non
Un câble Ethernet était branché sur la carte. En utilisant ce mode, il
est possible de "tirer" le câble Ethernet virtuel et perturber
la connexion, ce qui peut être utile pour informer un invité
système d'exploitation qu'aucune connexion réseau n'est disponible et
appliquer une reconfiguration. -
Traduction d'adresses réseau
(NAT). Si tout ce que vous voulez est de naviguer sur le Web,
télécharger des fichiers et voir les emails à l’intérieur de l’invité, puis ceci
Le mode par défaut devrait vous suffire et vous pouvez ignorer
le reste de cette section. S'il vous plaît noter qu'il y a certains
limitations lors de l'utilisation du partage de fichiers Windows. Voir
Section 6.3.3, «Limitations NAT». -
Réseau NAT. Un réseau NAT est
un type de réseau interne qui permet les connexions sortantes.
Voir Section 6.4, «Service de traduction d'adresses réseau». -
Mise en réseau pontée. C'est
pour des besoins de réseau plus avancés, tels que le réseau
simulations et serveurs en cours d'exécution sur un invité. Lorsqu'il est activé,
Oracle VM VirtualBox se connecte à l'une de vos cartes réseau installées
et échange des paquets réseau directement, en contournant votre
pile réseau du système d'exploitation hôte. -
Réseau interne. Cela peut
être utilisé pour créer un autre type de réseau logiciel
visible pour certaines machines virtuelles, mais pas pour
applications fonctionnant sur l'hôte ou vers le monde extérieur. -
Réseau réservé aux hôtes. Ce
peut être utilisé pour créer un réseau contenant l'hôte et un ensemble
des machines virtuelles, sans avoir besoin de la physique de l'hôte
interface réseau. Au lieu de cela, une interface réseau virtuelle,
similaire à une interface de bouclage, est créé sur l'hôte,
fournir une connectivité entre les machines virtuelles et l'hôte. -
Réseau générique. Rarement
modes utilisés qui partagent la même interface réseau générique, en
permettant à l'utilisateur de sélectionner un pilote pouvant être inclus
avec Oracle VM VirtualBox ou être distribué dans un pack d'extension.Les sous-modes suivants sont disponibles:
-
Tunnel UDP: Habitué
interconnecter des machines virtuelles fonctionnant sur différents hôtes
directement, facilement et de manière transparente, sur un
infrastructure de réseau. -
VDE (Ethernet distribué virtuel)
la mise en réseau: Utilisé pour se connecter à un virtuel
Commutateur Ethernet distribué sur un hôte Linux ou FreeBSD.
Pour le moment, cette option nécessite la compilation de
Oracle VM VirtualBox à partir des sources, contrairement aux packages Oracle
incluez-le.
-
Le tableau suivant donne un aperçu des principaux facteurs
modes de mise en réseau.
Les sections suivantes décrivent les modes réseau disponibles dans
plus de détails.
La traduction d'adresses réseau (NAT) est le moyen le plus simple d'accéder à
un réseau externe à partir d'une machine virtuelle. Habituellement, ce n'est pas
nécessite une configuration sur le réseau hôte et le système invité.
Pour cette raison, il s’agit du mode réseau par défaut de
Oracle VM VirtualBox.
Une machine virtuelle avec NAT activé ressemble beaucoup à un vrai ordinateur
qui se connecte à Internet via un routeur. Le routeur, dans
Dans ce cas, c’est le moteur de réseau Oracle VM VirtualBox, qui mappe
le trafic de et vers la machine virtuelle de manière transparente. Dans
Oracle VM VirtualBox ce routeur est placé entre chaque machine virtuelle
et l'hôte. Cette séparation maximise la sécurité puisque par défaut
Les machines virtuelles ne peuvent pas se parler.
L’inconvénient du mode NAT est que, tout comme un réseau privé
derrière un routeur, la machine virtuelle est invisible et inaccessible
de l'extérieur internet. Vous ne pouvez pas exécuter un serveur de cette façon à moins que
vous configurez la redirection de port. Reportez-vous à la Section 6.3.1, «Configuration du transfert de port avec NAT».
Les trames réseau envoyées par le système d’exploitation invité sont
reçu par le moteur NAT d'Oracle VM VirtualBox, qui extrait le protocole TCP / IP
données et les renvoie à l'aide du système d'exploitation hôte. À un
application sur l'hôte ou sur un autre ordinateur du même ordinateur
réseau en tant qu'hôte, il semble que les données aient été envoyées par le
Application Oracle VM VirtualBox sur l'hôte, à l'aide d'une adresse IP
appartenant à l'hôte. Oracle VM VirtualBox écoute les réponses à la
les paquets envoyés, les reconditionnent et les renvoient à la machine invitée
sur son réseau privé.
La machine virtuelle reçoit son adresse réseau et sa configuration
sur le réseau privé à partir d’un serveur DHCP intégré à
Oracle VM VirtualBox. L'adresse IP ainsi attribuée au virtuel
la machine est généralement sur un réseau complètement différent du
hôte. Comme plusieurs cartes d'une machine virtuelle peuvent être configurées pour
utiliser NAT, la première carte est connectée au réseau privé
10.0.2.0, la deuxième carte sur le réseau 10.0.3.0 et ainsi de suite. Si
vous devez modifier la plage IP attribuée par l'invité, voir
Section 9.10, «Ajustement du moteur NAT Oracle VM VirtualBox».
Comme la machine virtuelle est connectée à un réseau privé
interne à Oracle VM VirtualBox et invisible pour l'hôte, réseau
les services sur l'invité ne sont pas accessibles à la machine hôte ou
vers d'autres ordinateurs du même réseau. Cependant, comme un physique
routeur, Oracle VM VirtualBox peut rendre disponibles certains services
le monde en dehors de l'invité à travers Port
expéditeur. Cela signifie que Oracle VM VirtualBox écoute
certains ports sur l'hôte et renvoie tous les paquets qui arrivent
là à l'invité, sur le même ou un port différent.
Vers une application sur l'hôte ou autre physique ou virtuel
machines sur le réseau, il semble que le service soit
le proxy est en cours d'exécution sur l'hôte. Cela signifie aussi que
vous ne pouvez pas exécuter le même service sur les mêmes ports de l'hôte.
Cependant, vous bénéficiez toujours des avantages de l’exécution du service dans
une machine virtuelle. Par exemple, des services sur la machine hôte ou
sur d'autres machines virtuelles ne peuvent pas être compromis ou écrasé par un
vulnérabilité ou un bogue dans le service, et le service peut s'exécuter
dans un système d'exploitation différent de celui du système hôte.
Pour configurer le transfert de port, vous pouvez utiliser le graphique
Port Forwarding éditeur qui
peut être trouvé dans le Réseau
Réglages boîte de dialogue pour les adaptateurs réseau configurés pour
utiliser NAT. Ici, vous pouvez mapper les ports hôtes aux ports invités pour permettre
le trafic réseau à acheminer vers un port spécifique de l'invité.
Sinon, l'outil de ligne de commande
VBoxManage peut être utilisé. Voir
Section 8.8, «VBoxManage modifyvm».
Vous aurez besoin de savoir quels ports sur l'invité utilisé par le service
et de décider quels ports utiliser sur l'hôte. Vous voudrez peut-être
utilisez les mêmes ports sur l'invité et sur l'hôte. Vous pouvez utiliser n'importe quel
les ports de l'hôte qui ne sont pas déjà utilisés par un service. Pour
exemple, pour configurer les connexions NAT entrantes vers un
ssh
serveur dans l'invité, utilisez
la commande suivante:
VBoxManage modifyvm "nom de la machine virtuelle" --natpf1 "guestssh, tcp ,, 2222,, 22"
Dans l'exemple ci-dessus, tout le trafic TCP arrivant sur le port 2222 sur
toute interface hôte sera transmise au port 22 de l'invité.
Le nom du protocole tcp
est un
attribut obligatoire définissant le protocole à utiliser pour
expéditeur, UDP
pourrait aussi être
utilisé. Le nom invités
est
purement descriptif et sera généré automatiquement s'il est omis. le
nombre après --natpf
dénote la carte réseau,
comme avec d'autres VBoxManage commandes.
Pour supprimer cette règle de transfert, utilisez la commande suivante:
VBoxManage modifyvm "nom de la machine virtuelle" --natpf1 supprimer "invitéssh"
Si, pour une raison quelconque, l'invité utilise une adresse IP attribuée statique
non loué du serveur DHCP intégré, il est nécessaire de
spécifiez l'adresse IP de l'invité lors de l'enregistrement de la règle de transfert, comme suit:
suit:
VBoxManage modifyvm "nom de la machine virtuelle" --natpf1 "guestssh, tcp ,, 2222,10.0.2.19,22"
Cet exemple est identique au précédent, sauf que le
On dit au moteur NAT que l’invité se trouve à la
10.0.2.19 adresse.
À transmettre tout le trafic entrant d'un
interface hôte spécifique à l'invité, spécifiez l'adresse IP de cet
interface hôte comme suit:
VBoxManage modifyvm "Nom de la machine virtuelle" --natpf1 "guestssh, tcp, 127.0.0.1.2222,, 22"
Cet exemple transfère tout le trafic TCP arrivant sur l'hôte local
interface au 127.0.0.1 par le port 2222 au port 22 dans le
client.
Il est possible de configurer les connexions NAT entrantes pendant que le
La machine virtuelle est en cours d’exécution, reportez-vous à la Section 8.14, «VBoxManage controlvm».
Le démarrage PXE est maintenant pris en charge en mode NAT. Le serveur DHCP NAT
fournit un nom de fichier de démarrage du formulaire
vmname.pxe
si le répertoire
TFTP
existe dans le répertoire
où l'utilisateur VirtualBox.xml
le fichier est conservé. Il incombe à l'utilisateur de fournir
vmname.pxe
.
Il y a quelques limitations du mode NAT que les utilisateurs devraient être
conscient de, comme suit:
-
Limites du protocole ICMP.
Certains outils de débogage réseau fréquemment utilisés, tels que
ping
ou tracerouting, compter
sur le protocole ICMP pour l'envoi et la réception de messages.
Alors que le support ICMP a été amélioré avec Oracle VM VirtualBox
2.1, ce qui signifieping
devrait
maintenant, certains autres outils peuvent ne pas fonctionner de manière fiable. -
Réception d'UDP
émissions. Le client ne reçoit pas de manière fiable
Émissions UDP. Afin d'économiser des ressources, il n'écoute que
pendant un certain temps après que l'invité a envoyé UDP
données sur un port particulier. En conséquence, le nom NetBios
résolution basée sur des émissions ne fonctionne pas toujours, mais
WINS fonctionne toujours. Pour contourner le problème, vous pouvez utiliser le paramètre numérique
IP du serveur souhaité dans le
\ serveur partage
notation. -
Certains protocoles ne sont pas
prise en charge. Les protocoles autres que TCP et UDP sont
non supporté. GRE n'est pas pris en charge. Cela signifie que certains VPN
les produits, tels que PPTP de Microsoft, ne peuvent pas être utilisés. Là
sont d'autres produits VPN qui utilisent uniquement TCP et UDP. -
Transfert des ports hôtes ci-dessous
1024. Sur des hôtes basés sur UNIX, tels que Linux, Oracle
Solaris et Mac OS X, il n’est pas possible de se lier à des ports
en dessous de 1024 à partir d'applications qui ne sont pas exécutées par
racine
. En conséquence, si vous
essayez de configurer un tel transfert de port, la VM refusera
commencer.
Ces limitations n'affectent normalement pas l'utilisation du réseau standard.
Mais la présence de NAT a aussi des effets subtils qui peuvent
interférer avec les protocoles qui fonctionnent normalement. Un exemple
est NFS, où le serveur est souvent configuré pour refuser
connexions à partir de ports non privilégiés, qui sont ces ports non
en dessous de 1024.
Le service de traduction d'adresses réseau (NAT) fonctionne de manière similaire.
chemin vers un routeur domestique, en regroupant les systèmes l’utilisant dans un réseau
et empêcher les systèmes situés en dehors de ce réseau de
accéder aux systèmes à l'intérieur, mais laisser les systèmes à l'intérieur
communiquer les uns avec les autres et avec des systèmes extérieurs en utilisant TCP et
UDP sur IPv4 et IPv6.
Un service NAT est attaché à un réseau interne. Machines virtuelles
qui doivent en faire usage devraient être attachés à cet appareil interne.
réseau. Le nom du réseau interne est choisi lorsque le NAT
service est créé et le réseau interne sera créé s'il
n'existe pas déjà. Voici un exemple de commande pour
créer un réseau NAT:
VBoxManage natnetwork add --netname natnet1 --network "192.168.15.0/24" --enable
Natnet1 est le nom du réseau interne à utiliser et
192.168.15.0/24 est l'adresse réseau et le masque du service NAT
interface. Par défaut, dans cette configuration statique, la passerelle
se verra attribuer l'adresse 192.168.15.1, l'adresse suivante
l'adresse de l'interface, bien que cela puisse changer. Attacher
un serveur DHCP sur le réseau interne, modifiez la commande exemple
comme suit:
VBoxManage natnetwork add --netname natnet1 --network "192.168.15.0/24" --enable --dhcp on
Pour ajouter un serveur DHCP à un réseau existant, procédez comme suit:
commander:
VBoxManage natnetwork modify --netname natnet1 --dhcp on
Pour désactiver le serveur DHCP, utilisez la commande suivante:
VBoxManage natnetwork modify --netname natnet1 --dhcp off
Un serveur DHCP fournit une liste de serveurs de noms enregistrés, mais
pas les serveurs de cartes du réseau 127/8.
Pour démarrer le service NAT, utilisez la commande suivante:
VBoxManage natnetwork start --netname natnet1
Si un serveur DHCP est connecté au réseau, il démarrera.
avec le service de réseau NAT.
Pour arrêter le service réseau NAT, avec n'importe quel serveur DHCP:
VBoxManage natnetwork stop --netname natnet1
Pour supprimer le service réseau NAT:
VBoxManage natnetwork remove --netname natnet1
Cette commande ne supprime pas le serveur DHCP s'il est activé sur
le réseau interne.
Le transfert de port est pris en charge, à l'aide du
--port-forward-4
commutateur pour IPv4
et --port-forward-6
pour IPv6.
Par exemple:
VBoxManage natnetwork modify --netname natnet1 --port-forward-4 "ssh: tcp:[]: 1022:[192.168.15.5]: 22 "
Ceci ajoute une règle de transfert de port du port TCP 1022 de l'hôte à
le port 22 sur l'invité d'adresse IP 192.168.15.5. Port hôte,
le port invité et l'IP invité sont obligatoires. Pour supprimer la règle, utilisez le
commande suivante:
VBoxManage natnetwork modify --netname natnet1 --port-forward-4 delete ssh
Il est possible de lier un service NAT à une interface spécifiée. Pour
Exemple:
VBoxManage setextradata global "NAT / win-nat-test-0 / SourceIp4" 192.168.1.185
Pour voir la liste des réseaux NAT enregistrés, utilisez la commande suivante
commander:
VBoxManage list natnetworks
Avec les réseaux pontés, Oracle VM VirtualBox utilise un pilote de périphérique sur
votre hôte système qui filtre les données de votre
carte réseau physique. Ce pilote est donc appelé un
filtre net chauffeur. Cela permet
Oracle VM VirtualBox pour intercepter les données du réseau physique et
y injecter des données, créant ainsi une nouvelle interface réseau
dans le logiciel. Lorsqu'un invité utilise une telle nouvelle interface logicielle,
il semble au système hôte que l'invité était physiquement
connecté à l'interface à l'aide d'un câble réseau. L'hôte peut
envoyer des données à l'invité via cette interface et recevoir des données
à partir de cela. Cela signifie que vous pouvez configurer le routage ou le pontage
entre l'invité et le reste de votre réseau.
Remarque
Même si les interfaces TAP ne sont plus nécessaires sous Linux pour
mise en réseau pontée, vous pouvez toujours utiliser TAP
interfaces pour certaines configurations avancées, car vous pouvez connecter un
VM à n’importe quelle interface hôte.
Pour activer la mise en réseau pontée, ouvrez le
Réglages dialogue d'un virtuel
machine, allez au Réseau page
et sélectionnez Réseau ponté dans le
liste déroulante du Attaché
À champ. Sélectionnez une interface hôte dans la liste située à
bas de la page, qui contient les interfaces réseau physiques
de vos systèmes. Sur un MacBook typique, par exemple, cela
vous permet de choisir entre en1: AirPort, le réseau sans fil
interface, et en0: Ethernet, qui représente l'interface avec
un câble de réseau.
Remarque
Le pontage vers une interface sans fil se fait différemment de
pontage vers une interface filaire, car la plupart des adaptateurs sans fil ne
supporte pas le mode promiscuous. Tout le trafic doit utiliser le MAC
adresse de l'adaptateur sans fil de l'hôte, et donc
Oracle VM VirtualBox doit remplacer l’adresse MAC source dans le répertoire
En-tête Ethernet d'un paquet sortant pour s'assurer que la réponse
sera envoyé à l'interface hôte. Quand Oracle VM VirtualBox voit un
paquet entrant avec une adresse IP de destination qui appartient à
l'un des adaptateurs de machine virtuelle qu'il remplace la destination
Adresse MAC dans l'en-tête Ethernet avec le MAC de l'adaptateur VM
adresse et le transmet. Oracle VM VirtualBox examine ARP et DHCP
paquets afin d'apprendre les adresses IP des machines virtuelles.
En fonction de votre système d'exploitation hôte, les limitations suivantes
appliquer:
-
Hôtes Mac OS X. La fonctionnalité
est limité lorsque vous utilisez AirPort, le réseau sans fil du Mac
système, pour la mise en réseau pontée. Actuellement, Oracle VM VirtualBox
prend en charge uniquement IPv4 et IPv6 sur AirPort. Pour d'autres protocoles,
comme IPX, vous devez choisir une interface filaire. -
Hôtes Linux. La fonctionnalité est
limité lors de l'utilisation d'interfaces sans fil pour la mise en réseau pontée.
Actuellement, Oracle VM VirtualBox ne prend en charge que les protocoles IPv4 et IPv6
sans fil. Pour les autres protocoles, tels que IPX, vous devez choisir un
interface filaire.En outre, définir le MTU sur moins de 1500 octets sur filaire
interfaces fournies par le pilote sky2 sur le Marvell Yukon II
EC Ultra Ethernet NIC est connu pour causer des pertes de paquets sous
certaines conditions.Certains adaptateurs suppriment les balises VLAN dans le matériel. Cela ne permet pas
vous utilisez la jonction VLAN entre la VM et le réseau externe
avec les noyaux Linux antérieurs à la version 2.6.27 ou avec les systèmes d'exploitation hôtes
autre que Linux. -
Hôtes Oracle Solaris. Là
n’est pas compatible avec l’utilisation d’interfaces sans fil. Filtrage de l'invité
Le trafic utilisant IPFilter n’est pas non plus complètement supporté en raison de
restrictions techniques de la mise en réseau Oracle Solaris
sous-système. Ces problèmes peuvent être traités dans les versions ultérieures de
Oracle Solaris 11.Sur les hôtes Oracle Solaris 11 versions 159 et supérieures, il est possible
utiliser les interfaces de réseau virtuel Oracle Solaris Crossbow
(VNICs) directement avec Oracle VM VirtualBox sans aucun supplément
configuration autre que chaque VNIC doit être exclusive pour chaque
interface réseau invité.Lorsque vous utilisez des interfaces VLAN avec Oracle VM VirtualBox, elles doivent être
nommé selon le schéma de nommage PPA-hack, tel que
e1000g513001. Sinon, l’invité risque de recevoir des paquets dans une
format inattendu.
Le réseautage interne est similaire au réseautage ponté en ce que le
VM peut communiquer directement avec le monde extérieur. Cependant, le
monde extérieur est limité aux autres ordinateurs virtuels du même hôte qui
se connecter au même réseau interne.
Même si techniquement, tout ce qui peut être fait en utilisant
la mise en réseau interne peut également être réalisée en utilisant une mise en réseau pontée,
la mise en réseau interne présente des avantages en termes de sécurité. En pont
mode réseau, tout le trafic passe par une interface physique de
le système hôte. Il est donc possible de joindre un paquet
renifleur tels que Wireshark à l'interface hôte et connectez-vous tous
le trafic qui passe dessus. Si, pour une raison quelconque, vous préférez deux ou
plusieurs machines virtuelles sur la même machine pour communiquer en privé, en se cachant
leurs données à la fois du système hôte et de l'utilisateur, pontées
la mise en réseau n'est donc pas une option.
Les réseaux internes sont créés automatiquement selon les besoins. Il n'y a pas
configuration centrale. Chaque réseau interne est identifié simplement
par son nom. Une fois qu'il y a plus d'un réseau virtuel actif
carte avec le même ID de réseau interne, le support Oracle VM VirtualBox
conducteur sera automatiquement câble les cartes et
agir en tant que commutateur de réseau. Le pilote de support Oracle VM VirtualBox
implémente un commutateur Ethernet complet et prend en charge les deux
cadres broadcast / multicast et mode promiscuous.
Pour connecter la carte réseau d’une VM à un réseau interne, définissez
son mode réseau à réseau interne. Il y a deux façons de
accomplir ceci:
-
Utilisez les VM Réglages dialogue
dans l'interface utilisateur graphique d'Oracle VM VirtualBox. dans le
La mise en réseau catégorie de
dialogue de paramétrage, sélectionnez Interne
La mise en réseau à partir de la liste déroulante des réseaux
modes. Sélectionnez le nom d'un réseau interne existant parmi
la liste déroulante ci-dessous, ou entrez un nouveau nom dans la liste
prénom champ. -
Utilisez la ligne de commande, par exemple:
VBoxManage modifyvm "nom de la machine virtuelle" --nic
intnet Vous pouvez éventuellement spécifier un nom de réseau avec la commande:
VBoxManage modifyvm "nom de la machine virtuelle" --intnet
"nom de réseau" Si vous ne spécifiez pas de nom de réseau, la carte réseau sera
attaché au réseau
intnet
par défaut.
Sauf si vous configurez les cartes réseau virtuelles dans l'invité
les systèmes d'exploitation qui participent au réseau interne
Pour utiliser des adresses IP statiques, vous pouvez utiliser le serveur DHCP.
qui est intégré à Oracle VM VirtualBox pour gérer les adresses IP du
réseau interne. Voir Section 8.39, «VBoxManage dhcpserver».
Par mesure de sécurité, par défaut, la mise en oeuvre Linux de
la mise en réseau interne n'autorise que les machines virtuelles exécutées sous le même ID utilisateur
établir un réseau interne. Cependant, il est possible de
créer une interface réseau interne partagée, accessible aux utilisateurs
avec différents identifiants.
La mise en réseau réservée aux hôtes est un autre mode de mise en réseau ajouté.
avec la version 2.2 d'Oracle VM VirtualBox. On peut penser à
hybride entre les modes réseau pontés et internes. Comme avec
mise en réseau pontée, les machines virtuelles peuvent communiquer entre elles
et l'hôte comme s'ils étaient connectés via un Ethernet physique
commutateur. Comme pour les réseaux internes, un réseau physique
L’interface n’a pas besoin d’être présente et les machines virtuelles ne peuvent pas
parler au monde en dehors de l'hôte, car ils ne sont pas connectés à
une interface réseau physique.
Lorsqu’un réseau uniquement hôte est utilisé, Oracle VM VirtualBox crée un nouveau
interface logicielle sur l'hôte qui apparaît ensuite à côté de votre
interfaces réseau existantes. En d’autres termes, alors qu’avec les ponts
la mise en réseau d'une interface physique existante est utilisée pour attacher
machines virtuelles à, avec la mise en réseau hôte seulement une nouvelle
bouclage l'interface est créée sur l'hôte.
Et alors qu'avec les réseaux internes, le trafic entre le
les machines virtuelles ne peuvent pas être vues, le trafic sur le bouclage
L’interface de l’hôte peut être interceptée.
La mise en réseau réservée aux hôtes est particulièrement utile pour les systèmes préconfigurés.
appareils virtuels, où plusieurs machines virtuelles sont expédiées
ensemble et conçu pour coopérer. Par exemple, un virtuel
la machine peut contenir un serveur Web et un second une base de données, et
étant donné qu'ils sont destinés à se parler, l'appareil peut
Demandez à Oracle VM VirtualBox de configurer un réseau uniquement hôte pour les deux.
Un deuxième réseau, ponté, connecterait ensuite le serveur Web à
le monde extérieur pour servir des données à, mais le monde extérieur ne peut pas
se connecter à la base de données.
Pour modifier l'interface réseau virtuelle d'une machine virtuelle en hôte
Seul mode, effectuez l’une des opérations suivantes:
-
Aller au Réseau page dans le
machines virtuelles Réglagesdialogue et sélectionnez Seulement hôte
La mise en réseau. -
Sur la ligne de commande, entrez
VBoxManage modifyvm
. Voir
"Nom de la machine virtuelle" --nichostonly
Section 8.8, «VBoxManage modifyvm».
Avant de pouvoir connecter une machine virtuelle à un réseau d’hôte uniquement, vous devez:
créer au moins une interface exclusivement hôte. Vous pouvez utiliser l'interface graphique pour
ce. Choisir Fichier,
Préférences,
Réseau,
Réseau réservé aux hôtes,
(+) Ajouter un réseau réservé aux hôtes.
Alternativement, vous pouvez utiliser la ligne de commande:
VBoxManage hostonlyif créer
Voir Section 8.38, «VBoxManage hostonlyif».
Pour les réseaux uniquement hôtes, comme pour les réseaux internes, vous pouvez:
trouvez le serveur DHCP utile intégré à Oracle VM VirtualBox.
Cela peut être activé pour gérer ensuite les adresses IP dans le
réseau réservé aux hôtes, sinon vous auriez besoin de configurer tous
Adresses IP statiquement.
-
Dans l'interface utilisateur graphique d'Oracle VM VirtualBox, vous pouvez
configurer tous ces éléments dans les paramètres globaux en choisissant
Fichier,
Préférences,
Réseau. Cette liste de tous
réseaux d’hôte uniquement actuellement utilisés. Clique sur le
nom du réseau, puis sur
modifier. Vous pouvez alors modifier le
adaptateur et paramètres DHCP. -
Alternativement, vous pouvez utiliser VBoxManage
Serveur DHCP sur la ligne de commande. Voir
Section 8.39, «VBoxManage dhcpserver».
Remarque
Sous Linux et Mac OS X héberge le nombre d’interfaces hôte uniquement
est limité à 128. Il n’existe aucune limite de ce type pour Oracle Solaris et
Hôtes Windows.
Ce mode réseau vous permet d’interconnecter des machines virtuelles.
en cours d'exécution sur des hôtes différents.
Techniquement, cela se fait en encapsulant des trames Ethernet envoyées ou
reçu par la carte réseau invitée en datagrammes UDP / IP, et
en les envoyant sur n'importe quel réseau disponible pour l'hôte.
Le mode de tunnel UDP a les paramètres suivants:
-
Port UDP source: Le port
que l'hôte écoute. Les datagrammes arrivant sur ce port depuis
toute adresse source sera transmise à la partie destinataire de
la carte réseau invité. -
Adresse de destination: IP
adresse de l'hôte cible des données transmises. -
Port UDP de destination: Port
numéro auquel les données transmises sont envoyées.
Lors de l’interconnexion de deux machines virtuelles sur deux hôtes différents,
leurs adresses IP doivent être permutées. Sur un hôte unique, source et
les ports UDP de destination doivent être échangés.
Dans l'exemple suivant, l'hôte 1 utilise l'adresse IP 10.0.0.1 et
l'hôte 2 utilise l'adresse IP 10.0.0.2. Pour configurer en utilisant le
ligne de commande:
VBoxManage modifyvm "VM 01 sur l'hôte 1" --nicgénérique VBoxManage modifyvm "VM 01 sur l'hôte 1" --nicgenericdrv UDPTunnel VBoxManage modifyvm "VM 01 sur l'hôte 1" --nicproperty dest = 10.0.0.2 VBoxManage modifyvm "VM 01 sur l'hôte 1" --nicproperty sport = 10001 VBoxManage modifyvm "VM 01 sur l'hôte 1" --nicproperty dport = 10002
VBoxManage modifyvm "VM 02 sur l'hôte 2" --nicgénérique VBoxManage modifyvm "VM 02 sur l'hôte 2" --nicgenericdrv UDPTunnel VBoxManage modifyvm "VM 02 sur l'hôte 2" --nicproperty dest = 10.0.0.1 VBoxManage modifyvm "VM 02 sur l'hôte 2" --nicproperty sport = 10002 VBoxManage modifyvm "VM 02 sur l'hôte 2" --nicproperty dport = 10001
Bien sûr, vous pouvez toujours interconnecter deux machines virtuelles sur le même ordinateur.
même hôte, en définissant le paramètre d'adresse de destination sur
127.0.0.1 sur les deux. Il agira de la même manière qu’un réseau interne
ce cas. Cependant, l’hôte peut voir le trafic réseau qu’il
ne pouvait pas dans le cas normal du réseau interne.
Remarque
Sur des hôtes UNIX, tels que Linux, Oracle Solaris et Mac OS
X, il est impossible de se connecter aux ports inférieurs à 1024 à partir de
applications qui ne sont pas exécutées par
racine
. En conséquence, si vous essayez
pour configurer un tel port UDP source, la VM refusera de
début.
Virtual Distributed Ethernet (VDE) est un réseau virtuel flexible
système d’infrastructure, couvrant plusieurs hôtes dans un environnement sécurisé
façon. Il permet la commutation L2 / L3, y compris le protocole Spanning-Tree,
VLAN et émulation WAN. C'est une partie optionnelle d'Oracle VM VirtualBox
qui est seulement inclus dans le code source.
VDE est un projet développé par Renzo Davoli, professeur associé à
l'Université de Bologne, Italie.
Les modules de base de l’infrastructure sont les commutateurs VDE,
Les prises VDE et les fils VDE qui relient les commutateurs.
Le pilote Oracle VM VirtualBox VDE a un seul paramètre: réseau VDE.
C’est le nom du socket de commutateur réseau VDE auquel la machine virtuelle
sera connecté.
L'exemple de base suivant montre comment connecter une machine virtuelle
à un commutateur VDE.
-
Créez un commutateur VDE:
vde_switch -s / tmp / switch1
-
Configurez les ordinateurs virtuels à l'aide de la ligne de commande:
VBoxManage modifyvm "nom de la machine virtuelle" --nic
générique VBoxManage modifyvm "nom de la machine virtuelle" --nicgenericdrv
VDE Pour vous connecter à un port de commutateur alloué automatiquement:
VBoxManage modifyvm "nom de la machine virtuelle" --nicproperty
réseau = / tmp / switch1 Pour se connecter à un port de commutateur spécifique
n
:VBoxManage modifyvm "nom de la machine virtuelle" --nicproperty
réseau = / tmp / switch1[[[[ ] Cette commande peut être utile pour les VLAN.
-
(Facultatif) Mappage entre un port de commutateur VDE et un VLAN.
En utilisant la ligne de commande de l’interrupteur:
vde $ vlan / create
vde $ port / setvlan
VDE est disponible sur les hôtes Linux et FreeBSD uniquement. C'est seulement
disponible si le logiciel VDE et la bibliothèque de plug-ins VDE à partir du
Les projets VirtualSquare sont installés sur le système hôte.
Remarque
Pour les hôtes Linux, la bibliothèque partagée libvdeplug.so doit être
disponible dans le chemin de recherche pour les bibliothèques partagées.
Pour plus d'informations sur la configuration des réseaux VDE, reportez-vous à la
documentation accompagnant le logiciel. Voir également
http://wiki.virtualsquare.org/wiki/index.php/VDE_Basic_Networking.
Oracle VM VirtualBox prend en charge la limitation de la bande passante maximale utilisée pour
transmission réseau. Plusieurs cartes réseau d'une même machine virtuelle peuvent partager
limites par groupes de bande passante. Il est possible d'avoir plus de
une telle limite.
Remarque
Oracle VM VirtualBox met en forme le trafic des machines virtuelles uniquement dans le sens de la transmission,
retarder l'envoi des paquets par les machines virtuelles. Ce ne est pas
limiter le trafic reçu par les machines virtuelles.
Les limites sont configurées via VBoxManage. le
L’exemple suivant crée un groupe de bande passante nommé Limit, définit le
limite à 20 Mbps et assigne le groupe aux premier et deuxième
adaptateurs de la VM:
VBoxManage bandwidthctl "Nom de la machine virtuelle" add Limit --type network --limit 20m VBoxManage modifyvm "nom de la machine virtuelle" --nicbandwidthgroup1 Limit VBoxManage modifyvm "nom de la machine virtuelle" --nicbandwidthgroup2 Limit
Tous les adaptateurs d’un groupe partagent la limite de bande passante, c’est-à-dire que
l'exemple ci-dessus, la bande passante des deux adaptateurs combinés peut
ne jamais dépasser 20 Mbps. Cependant, si un adaptateur ne nécessite pas
bande passante l'autre peut utiliser la bande passante restante de son groupe.
Les limites de chaque groupe peuvent être modifiées pendant le fonctionnement de la machine virtuelle.
avec des changements étant pris en compte immédiatement. L'exemple suivant
modifie la limite du groupe créé dans l'exemple précédent en
100 Kbps:
VBoxManage bandwidthctl "Nom de la machine virtuelle" set Limit --limit 100k
Pour désactiver complètement la mise en forme du premier adaptateur de machine virtuelle, utilisez la commande
commande suivante:
VBoxManage modifyvm "nom de la machine virtuelle" --nicbandwidthgroup1 none
Il est également possible de désactiver la mise en forme pour tous les adaptateurs affectés
à un groupe de bande passante pendant que la VM est en marche, en spécifiant le zéro
limite pour le groupe. Par exemple, pour le groupe de bande passante nommé
Limite:
VBoxManage bandwidthctl "Nom de la machine virtuelle" set Limit --limit 0
Oracle VM VirtualBox fournit une variété de cartes réseau virtuelles qui
can be attached to the host's network in a number of ways.
Depending on which types of adapters and attachments are used the
network performance will be different. Performance-wise the virtio
network adapter is preferable over Intel PRO/1000 emulated
adapters, which are preferred over the PCNet family of adapters.
Both virtio and Intel PRO/1000 adapters enjoy the benefit of
segmentation and checksum offloading. Segmentation offloading is
essential for high performance as it allows for less context
switches, dramatically increasing the sizes of packets that cross
the VM/host boundary.
Remarque
Neither virtio nor Intel PRO/1000 drivers for Windows XP support
segmentation offloading. Therefore Windows XP guests never reach
the same transmission rates as other guest types. Refer to MS
Knowledge base article 842264 for additional information.
Three attachment types: Internal, Bridged, and Host-Only, have
nearly identical performance. The Internal type is a little bit
faster and uses less CPU cycles as the packets never reach the
host's network stack. The NAT attachment type is the slowest and
most secure of all attachment types, as it provides network
address translation. The generic driver attachment is special and
cannot be considered as an alternative to other attachment types.
The number of CPUs assigned to VM does not improve network
performance and in some cases may hurt it due to increased
concurrency in the guest.
Here is a short summary of things to check in order to improve
network performance:
-
Whenever possible use the virtio network adapter. Autrement,
use one of the Intel PRO/1000 adapters. -
Use a Bridged attachment instead of NAT.
-
Make sure segmentation offloading is enabled in the guest OS.
Usually it will be enabled by default. You can check and
modify offloading settings using the
ethtool command on Linux guests. -
Perform a full detailed analysis of network traffic on the
VM's network adaptor using a third party tool such as
Wireshark. To do this, a promiscuous mode policy needs to be
used on the VM's network adaptor. Use of this mode is only
possible on the following network types: NAT Network, Bridged
Adapter, Internal Network, and Host-Only Adapter.To setup a promiscuous mode policy, either select from the
drop down list located in the Réseau
Réglages dialog for the network adaptor or use the
command line tool VBoxManage. Voir
Section 8.8, “VBoxManage modifyvm”.Promiscuous mode policies are as follows:
-
Nier
, which hides any
traffic not intended for the VM's network adaptor. C'est
the default setting. -
allow-vms
, which hides
all host traffic from the VM's network adaptor, but allows
it to see traffic from and to other VMs. -
allow-all
, which removes
all restrictions. The VM's network adaptor sees all
traffic.
-
Commentaires
Laisser un commentaire