1 | <?xml version="1.0" encoding="UTF-8"?>
|
---|
2 | <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
|
---|
3 | "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
---|
4 | <chapter id="networkingdetails">
|
---|
5 | <title>Le réseau virtuel</title>
|
---|
6 | <para>Comme indiqué brièvement au <xref linkend="settings-network" />,
|
---|
7 | VirtualBox fournit jusqu'à huit cartes Ethernet PCI virtuelles pour chaque
|
---|
8 | machine virtuelle. Pour chaque carte, vous pouvez sélectionner
|
---|
9 | individuellement<orderedlist>
|
---|
10 | <listitem>
|
---|
11 | <para>le matériel virtualisé ainsi que</para>
|
---|
12 | </listitem>
|
---|
13 |
|
---|
14 | <listitem>
|
---|
15 | <para>le mode de virtualisation effectué par la carte virtuelle par rapport
|
---|
16 | à votre matériel réseau physique sur l'hôte.</para>
|
---|
17 | </listitem>
|
---|
18 | </orderedlist></para>
|
---|
19 |
|
---|
20 | <para>Quatre des cartes réseaux peuvent être configurées dans la section
|
---|
21 | "Réseau" de la boîte de dialogue des paramètres de l'interface graphique de
|
---|
22 | VirtualBox. Vous pouvez configurer les huit cartes réseaux en ligne de commande
|
---|
23 | avec VBoxManage modifyvm ; voir <xref linkend="vboxmanage-modifyvm" />.</para>
|
---|
24 |
|
---|
25 | <para>Ce chapitre explique les différents paramètres réseaux avec davantage de
|
---|
26 | détails.</para>
|
---|
27 |
|
---|
28 | <sect1 id="nichardware">
|
---|
29 | <title>Matériel réseau virtuel</title>
|
---|
30 |
|
---|
31 | <para>Pour chaque carte, vous pouvez sélectionner individuellement le type de
|
---|
32 | <emphasis>matériel</emphasis> qui sera présenté à la machine virtuelle.
|
---|
33 | VirtualBox peut virtualiser les six types de matériel réseau suivants :<itemizedlist>
|
---|
34 | <listitem>
|
---|
35 | <para>AMD PCNet PCI II (Am79C970A) ;</para>
|
---|
36 | </listitem>
|
---|
37 |
|
---|
38 | <listitem>
|
---|
39 | <para>AMD PCNet FAST III (Am79C973, par défaut) ;</para>
|
---|
40 | </listitem>
|
---|
41 |
|
---|
42 | <listitem>
|
---|
43 | <para>Intel PRO/1000 MT Desktop (82540EM) ;</para>
|
---|
44 | </listitem>
|
---|
45 |
|
---|
46 | <listitem>
|
---|
47 | <para>Intel PRO/1000 T Server (82543GC) ;</para>
|
---|
48 | </listitem>
|
---|
49 |
|
---|
50 | <listitem>
|
---|
51 | <para>Intel PRO/1000 MT Server (82545EM) ;</para>
|
---|
52 | </listitem>
|
---|
53 |
|
---|
54 | <listitem>
|
---|
55 | <para>Adaptateur réseau paravirtualisé (virtio-net).</para>
|
---|
56 | </listitem>
|
---|
57 | </itemizedlist></para>
|
---|
58 |
|
---|
59 | <para>PCNet FAST III est celle par défaut parce qu'elle est supportée par
|
---|
60 | presque tous les systèmes d'exploitation non inclus ainsi que par le chargeur
|
---|
61 | de démarrage GNU GRUB. Par exception, les adaptateurs de la famille Intel
|
---|
62 | PRO/1000 ont été choisis pour certains types de systèmes d'exploitation invités
|
---|
63 | qui n'incluent plus de pilotes pour la carte PCNet, tel que Windows Vista.</para>
|
---|
64 |
|
---|
65 | <para>Le type Intel PRO/1000 MT Desktop fonctionne avec Windows Vista et
|
---|
66 | les versions supérieures. La variante T Server de la carte Intel PRO/1000
|
---|
67 | est reconnue par les invités Windows XP sans installer de pilotes supplémentaires.
|
---|
68 | La variante MT Server facilite les imports d'OVF à partir d'autres plateformes.</para>
|
---|
69 |
|
---|
70 | <para><emphasis role="bold">"L'adaptateur réseau paravirtualisé (virtio-net)"</emphasis>
|
---|
71 | est spécial. Si vous le sélectionnez, VirtualBox <emphasis>ne virtualise pas</emphasis>
|
---|
72 | du matériel réseau classique (à savoir supporté par les systèmes d'exploitation
|
---|
73 | invités non intégrés). VirtualBox s'attend alors à ce qu'une interface
|
---|
74 | logicielle spéciale pour les environnements virtualisés provienne de l'invité,
|
---|
75 | évitant ainsi la complexité de l'émulation du matériel réseau et de la
|
---|
76 | performance d'importation du réseau. À partir de la version 3.1, VirtualBox
|
---|
77 | fournit un support des pilotes réseaux du standard industriel "virtio", qui
|
---|
78 | font partie du projet libre KVM.</para>
|
---|
79 |
|
---|
80 | <para>Les pilotes réseaux "virtio" sont disponibles pour les systèmes
|
---|
81 | d'exploitation invités suivants :</para>
|
---|
82 |
|
---|
83 | <para><itemizedlist>
|
---|
84 | <listitem>
|
---|
85 | <para>Les noyaux Linux version 2.6.25 ou supérieur peuvent être configurés
|
---|
86 | pour fournir le support virtio ; certaines distributions ont
|
---|
87 | adpaté aussi virtio dans d'anciens noyaux.</para>
|
---|
88 | </listitem>
|
---|
89 |
|
---|
90 | <listitem>
|
---|
91 | <para>Pour Windows 2000, XP et Vista, les pilotes virtio peuvent être
|
---|
92 | téléchargés et installés sur la page Web du projet KVM.<footnote>
|
---|
93 | <para><ulink
|
---|
94 | url="http://www.linux-kvm.org/page/WindowsGuestDrivers">http://www.linux-kvm.org/page/WindowsGuestDrivers</ulink>.</para>
|
---|
95 | </footnote></para>
|
---|
96 | </listitem>
|
---|
97 | </itemizedlist></para>
|
---|
98 |
|
---|
99 | <para>VirtualBox contient aussi un support limité pour ce qu'on appelle
|
---|
100 | <emphasis role="bold">jumbo frames</emphasis>, c'est-à-dire les paquets
|
---|
101 | réseaux de plus de 1500 octets de données, si vous utilisez le réseau Intel
|
---|
102 | de virtualisation bridgé. En d'autres termes, jumbo frames n'est pas
|
---|
103 | supporté avec les périphériques réseaux AMD ; dans ce cas, les paquets jumbo
|
---|
104 | seront rejetés en silence tant côté récepteur que transmetteur.
|
---|
105 | Les systèmes d'exploitation invités qui essaient d'utiliser cette fonctionnalité
|
---|
106 | verront cela comme une perte de paquets, ce qui peut provoquer un comportement
|
---|
107 | inattendu de l'application dans l'invité. Cela ne pose pas de problème avec les
|
---|
108 | systèmes d'exploitation invités dans leur configuration par défaut, vu que
|
---|
109 | jumbo frames doit être explicitement activé.</para>
|
---|
110 | </sect1>
|
---|
111 |
|
---|
112 | <sect1 id="networkingmodes">
|
---|
113 | <title>Introduction aux modes réseaux</title>
|
---|
114 |
|
---|
115 | <para>Chacun des huit adaptateurs réseaux peut être configuré séparément
|
---|
116 | pour agir dans l'un des modes suivants :<glosslist>
|
---|
117 | <glossentry>
|
---|
118 | <glossterm>Non attaché</glossterm>
|
---|
119 |
|
---|
120 | <glossdef>
|
---|
121 | <para>Dans ce mode, VirtualBox dit à l'invité qu'une carte réseau est
|
---|
122 | présente, mais qu'il n'y a pas de connexion -- comme si aucun câble
|
---|
123 | Ethernet n'était branché dans la carte. De cette façon, il est possible
|
---|
124 | de "retirer" le câble réseau virtuel Ethernet et de couper la
|
---|
125 | connexion, ce qui peut être utile pour informer un système d'exploitation
|
---|
126 | invité qu'aucune connexion réseau n'est disponible et forcer une
|
---|
127 | reconfiguration.</para>
|
---|
128 | </glossdef>
|
---|
129 | </glossentry>
|
---|
130 |
|
---|
131 | <glossentry>
|
---|
132 | <glossterm>Network Address Translation (NAT)</glossterm>
|
---|
133 |
|
---|
134 | <glossdef>
|
---|
135 | <para>Si vous ne voulez que naviguer sur le Web, télécharger des
|
---|
136 | fichiers et lire des messages dans l'invité, ce mode par défaut devrait
|
---|
137 | vous suffir et vous pouvez sauter sans souci le reste de cette
|
---|
138 | section. Merci de remarquer qu'il existe certaines limitations quand
|
---|
139 | on utilise le partage de fichiers Windows (voir <xref linkend="nat-limitations" />
|
---|
140 | pour des détails).</para>
|
---|
141 | </glossdef>
|
---|
142 | </glossentry>
|
---|
143 |
|
---|
144 | <glossentry>
|
---|
145 | <glossterm>Réseau NAT</glossterm>
|
---|
146 |
|
---|
147 | <glossdef>
|
---|
148 | <para>Le réseau NAT est une nouvelle forme de NAT introduite dans
|
---|
149 | VirtualBox 4.3. Voir
|
---|
150 | <xref linkend="network_nat_service" xrefstyle="template: %n" />
|
---|
151 | pour les détails.</para>
|
---|
152 | </glossdef>
|
---|
153 | </glossentry>
|
---|
154 |
|
---|
155 | <glossentry>
|
---|
156 | <glossterm>Réseau avec pont</glossterm>
|
---|
157 |
|
---|
158 | <glossdef>
|
---|
159 | <para>Ceci est pour les besoins réseaux plus avancés tels que des
|
---|
160 | simulations de réseaux et des exécutions de serveurs dans un
|
---|
161 | invité. Lorsque vous l'activez, VirtualBox se connecte à une de
|
---|
162 | vos cartes réseaux installées et il échange des paquets réseaux
|
---|
163 | directement, dépassant la pile réseau du système d'exploitation de
|
---|
164 | votre hôte.</para>
|
---|
165 | </glossdef>
|
---|
166 | </glossentry>
|
---|
167 |
|
---|
168 | <glossentry>
|
---|
169 | <glossterm>Réseau interne</glossterm>
|
---|
170 |
|
---|
171 | <glossdef>
|
---|
172 | <para>On peut l'utiliser pour créer un type différent de réseau sur
|
---|
173 | une base logicielle, visible pour les machines sélectionnées, mais pas
|
---|
174 | pour les applications de l'hôte ou du monde extérieur.</para>
|
---|
175 | </glossdef>
|
---|
176 | </glossentry>
|
---|
177 |
|
---|
178 | <glossentry>
|
---|
179 | <glossterm>Réseau Host-only</glossterm>
|
---|
180 |
|
---|
181 | <glossdef>
|
---|
182 | <para>On peut l'utiliser pour créer un réseau contenant l'hôte et un
|
---|
183 | ensemble de machines virtuelles, sans avoir besoin de l'interface
|
---|
184 | réseau physique de l'hôte. À la place, une interface réseau virtuelle
|
---|
185 | (identique à une interface loopback) est créée sur l'hôte, offrant
|
---|
186 | une connectivité entre les machines virtuelles et l'hôte.</para>
|
---|
187 | </glossdef>
|
---|
188 | </glossentry>
|
---|
189 |
|
---|
190 | <glossentry>
|
---|
191 | <glossterm>Réseau générique</glossterm>
|
---|
192 |
|
---|
193 | <glossdef>
|
---|
194 | <para>Mode rarement utilisé, il partage la même interface réseau
|
---|
195 | générique en permettant à l'utilisateur de sélectionner un pilote qui
|
---|
196 | peut être inclu dans VirtualBox ou distribué dans un pack d'extension.</para>
|
---|
197 |
|
---|
198 | <para>Pour l'instant, il existe potentiellement deux sous-modes
|
---|
199 | disponibles :</para>
|
---|
200 |
|
---|
201 | <para><glosslist>
|
---|
202 | <glossentry>
|
---|
203 | <glossterm>Tunnel UDP</glossterm>
|
---|
204 |
|
---|
205 | <glossdef>
|
---|
206 | <para>On peut l'utiliser pour interconnecter directement,
|
---|
207 | facilement et de manière transparente des machines
|
---|
208 | virtuelles qui fonctionnent sur différents hôtes, via une
|
---|
209 | infrastructure réseau existante.</para>
|
---|
210 | </glossdef>
|
---|
211 | </glossentry>
|
---|
212 |
|
---|
213 | <glossentry>
|
---|
214 | <glossterm>Réseau VDE (Virtual Distributed Ethernet)</glossterm>
|
---|
215 |
|
---|
216 | <glossdef>
|
---|
217 | <para>Cette option peut être utilisée pour se connecter à
|
---|
218 | un service Ethernet distribué virtuel sur un hôte Linux ou
|
---|
219 | FreeBSD. Pour l'instant ceci nécessite de compiler VirtualBox
|
---|
220 | à partir des sources car les paquets d'Oracle ne l'incluent
|
---|
221 | pas.</para>
|
---|
222 | </glossdef>
|
---|
223 | </glossentry>
|
---|
224 | </glosslist></para>
|
---|
225 | </glossdef>
|
---|
226 | </glossentry>
|
---|
227 | </glosslist></para>
|
---|
228 |
|
---|
229 | <para>Les sections suivantes décrivent les modes réseaux disponibles avec plus de
|
---|
230 | détails.</para>
|
---|
231 | </sect1>
|
---|
232 |
|
---|
233 | <sect1 id="network_nat">
|
---|
234 | <title>Network Address Translation (NAT)</title>
|
---|
235 |
|
---|
236 | <para>Network Address Translation (NAT) est la manière la plus simple d'accéder
|
---|
237 | à un réseau externe à partir d'une machine virtuelle. Habituellement, cela
|
---|
238 | n'exige aucune configuration sur le réseau hôte ou le système invité. C'est
|
---|
239 | pourquoi c'est le mode réseau par défaut de VirtualBox.</para>
|
---|
240 |
|
---|
241 | <para>Une machine virtuelle où NAT est activé agit exactement comme un vrai
|
---|
242 | ordinateur qui se connecte à Internet par un routeur. Le "routeur", dans
|
---|
243 | ce cas, est le moteur réseau de VirtualBox, qui dirige le trafic depuis et
|
---|
244 | vers la machine virtuelle de façon transparente. Dans VirtualBox, ce routeur
|
---|
245 | se place entre chaque machine virtuelle et l'hôte. Cette séparation maximise
|
---|
246 | la sécurité puisque, par défaut, les machines virtuelles ne peuvent pas se
|
---|
247 | parler.</para>
|
---|
248 |
|
---|
249 | <para>L'inconvénient du mode NAT est que, comme dans un réseau privé,
|
---|
250 | derrière un routeur, la machine virtuelle est invisible et injoignable
|
---|
251 | depuis le réseau extérieur ; vous ne pouvez pas lancer de serveur de
|
---|
252 | cette façon, sauf si vous réglez une redirection de ports (décrite ci-dessous).</para>
|
---|
253 |
|
---|
254 | <para>Les trames réseaux envoyés par le système d'exploitation invité sont reçus
|
---|
255 | par le moteur NAT de VirtualBox qui extrait les données TCP/IP et les envoie
|
---|
256 | en utilisant le système d'exploitation hôte. Pour une application de l'hôte
|
---|
257 | ou un autre ordinateur du même réseau comme l'hôte, cela fonctionne comme
|
---|
258 | si des données étaient envoyées par l'application VirtualBox de l'hôte,
|
---|
259 | en utilisant une adresse IP appartenant à l'hôte. VirtualBox écoute les
|
---|
260 | réponses aux paquets envoyés et les réempaquète et les renvoie à la machine invitée
|
---|
261 | sur son réseau privé.</para>
|
---|
262 |
|
---|
263 | <para>La machine virtuelle reçoit son adresse et sa configuration réseau
|
---|
264 | sur le réseau privé à partir d'un serveur DHCP intégré à VirtualBox. L'adresse
|
---|
265 | IP ainsi affectée à la machine virtuelle se trouve en général sur un réseau
|
---|
266 | complètement différent de l'hôte. On peut paramétrer l'utilisation de NAT
|
---|
267 | pour autant de cartes dont dispose la machine virtuelle, la première carte est
|
---|
268 | connectée au réseau privé sur 10.0.2.0, la deuxième carte sur 10.0.3.0 et
|
---|
269 | ainsi de suite. Si vous avez besoin de modifier la plage d'adresses affectées
|
---|
270 | à l'invité pour une raison quelconque, merci de vous reporter à la
|
---|
271 | <xref linkend="changenat" />.</para>
|
---|
272 |
|
---|
273 | <sect2 id="natforward">
|
---|
274 | <title>Configurer la redirection de ports avec NAT</title>
|
---|
275 |
|
---|
276 | <para>Comme la machine virtuelle est connectée à un réseau privé interne
|
---|
277 | de VirtualBox et invisible pour l'hôte, les services réseaux de l'invité
|
---|
278 | ne sont pas accessibles à la machine hôte ou à d'autres ordinateurs du
|
---|
279 | même réseau. Cependant, comme un routeur physique, VirtualBox peut rendre
|
---|
280 | disponibles des services sélectionnés pour le monde extérieur à l'invité
|
---|
281 | via la <emphasis role="bold">redirection de port.</emphasis> Cela veut
|
---|
282 | dire que VirtualBox écoute certains ports sur l'hôte et renvoie tous les
|
---|
283 | paquets qui y arrivent vers l'invité, sur le même port ou sur un autre.</para>
|
---|
284 |
|
---|
285 | <para>Pour une application de l'hôte ou d'autres machines physiques (ou
|
---|
286 | virtuelles) du réseau, cela fonctionne comme si les services étaient
|
---|
287 | derrière un proxy qui tournerait en fait sur l'hôte. Cela signifie également
|
---|
288 | que vous ne pouvez pas lancer le même service sur les mêmes ports de
|
---|
289 | l'hôte. Néanmoins, vous pouvez toujours tirer parti de lancer un service
|
---|
290 | dans une machine virtuelle -- par exemple, les services de la machine hôte
|
---|
291 | ou d'autres machines virtuelles ne peuvent pas être atteints ou plantés
|
---|
292 | par une faille ou un bogue du service, et le service peut fonctionner dans
|
---|
293 | un autre système d'exploitation que le système hôte.</para>
|
---|
294 |
|
---|
295 | <para>Pour configurer la redirection de ports, vous pouvez utiliser l'éditeur
|
---|
296 | graphique de redirection de ports que vous trouverez dans la boîte de
|
---|
297 | dialogue des paramètres réseaux des adaptateurs réseaux configurés pour
|
---|
298 | utiliser NAT. Vous pouvez y orienter les ports de l'hôte vers les ports de
|
---|
299 | l'invité pour permettre au trafic réseau d'être acheminé sur un port
|
---|
300 | spécifique de l'invité.</para>
|
---|
301 |
|
---|
302 | <para>Vous pourriez utiliser un autre outil en ligne de commande,
|
---|
303 | <computeroutput>VBoxManage</computeroutput> ; pour les détails, merci
|
---|
304 | de vous reporter au <xref linkend="vboxmanage-modifyvm" />.</para>
|
---|
305 |
|
---|
306 | <para>Vous devrez connaître les ports de l'invité utilisés par les services
|
---|
307 | de l'invité et décider des ports à utiliser sur l'hôte (souvent, mais pas
|
---|
308 | toujours, vous voudrez utiliser les mêmes ports sur l'invité et sur l'hôte).
|
---|
309 | Vous pouvez utiliser n'importe quel port de l'hôte qui ne sont pas déjà
|
---|
310 | utilisés par un service. Par exemple, pour régler les connexions NAT
|
---|
311 | entrantes pour un serveur <computeroutput>ssh</computeroutput> de
|
---|
312 | l'invité, utilisez la commande suivante : <screen>VBoxManage modifyvm "nom VM" --natpf1 "guestssh,tcp,,2222,,22"</screen>Avec
|
---|
313 | l'exemple ci-dessus, tout le trafic TCP arrivant sur le port 2222 de
|
---|
314 | n'importe quelle interface de l'hôte sera redirigé sur le port 22 de
|
---|
315 | l'invité. Le nom du protocole <computeroutput>tcp</computeroutput> est un
|
---|
316 | attribut obligatoire définissant le protocole à utiliser pour
|
---|
317 | la redirection (on pourrait utiliser <computeroutput>udp</computeroutput>).
|
---|
318 | Le nom <computeroutput>guestssh</computeroutput> est purement descriptif
|
---|
319 | et il sera auto-généré si vous n'en mettez pas. Le numéro après
|
---|
320 | <computeroutput>--natpf</computeroutput> indique la carte réseau, comme
|
---|
321 | dans d'autres endroits de VBoxManage.</para>
|
---|
322 |
|
---|
323 | <para>Pour supprimer de nouveau cette règle de redirection, utilisez
|
---|
324 | la commande suivante :
|
---|
325 | <screen>VBoxManage modifyvm "nom VM" --natpf1 delete "guestssh"</screen></para>
|
---|
326 |
|
---|
327 | <para>Si, pour une raison quelconque, l'invité utilise une adresse IP
|
---|
328 | affectée de manière statique non gérée par le serveur DHCP interne, vous devez
|
---|
329 | spécifier l'IP de l'invité lors de l'enregistrement de la règle de redirection :
|
---|
330 | <screen>VBoxManage modifyvm "nom VM" --natpf1 "guestssh,tcp,,2222,10.0.2.19,22"</screen>Cet
|
---|
331 | exemple est identique au précédent, sauf que qu'on dit au moteur NAT qu'il
|
---|
332 | peut trouver l'invité à l'adresse 10.0.2.19.</para>
|
---|
333 |
|
---|
334 | <para>Pour rediriger <emphasis>tout</emphasis> le trafic rentrant depuis
|
---|
335 | une interface spécifique de l'hôte sur l'invité, spécifiez l'IP de cette
|
---|
336 | interface de l'hôte comme ceci :<screen>VBoxManage modifyvm "nom VM" --natpf1 "guestssh,tcp,127.0.0.1,2222,,22"</screen>Ceci
|
---|
337 | redirige tout le trafic TCP arrivant sur l'interface localhost (127.0.0.1)
|
---|
338 | via le port 2222 sur le port 22 de l'invité.</para>
|
---|
339 |
|
---|
340 | <para>Il est possible de configurer les connexions NAT entrantes pendant
|
---|
341 | que la VM est en fonction, voir <xref linkend="vboxmanage-controlvm"/>.</para>
|
---|
342 | </sect2>
|
---|
343 |
|
---|
344 | <sect2 id="nat-tftp">
|
---|
345 | <title>Démarrer avec PXE et NAT</title>
|
---|
346 |
|
---|
347 | <para>Le démarrage avec PXE est désormais supporté en mode NAT. Le serveur
|
---|
348 | DHCP de NAT fournit un fichier d'amorçage dont le nom ressemble à
|
---|
349 | <computeroutput>nomvm.pxe</computeroutput> si le répertoire
|
---|
350 | <computeroutput>TFTP</computeroutput> existe dans le répertoire où se trouve
|
---|
351 | le fichier <computeroutput>VirtualBox.xml</computeroutput> de l'utilisateur.
|
---|
352 | L'utilisateur est chargé de fournir
|
---|
353 | <computeroutput>nomvm.pxe</computeroutput>.</para>
|
---|
354 | </sect2>
|
---|
355 |
|
---|
356 | <sect2 id="nat-limitations">
|
---|
357 | <title>Limites du NAT</title>
|
---|
358 |
|
---|
359 | <para>Il y a quatre <emphasis role="bold">limites</emphasis> du mode
|
---|
360 | NAT que les utilisateurs devraient connaître :</para>
|
---|
361 |
|
---|
362 | <glosslist>
|
---|
363 | <glossentry>
|
---|
364 | <glossterm>Limite du protocole ICMP :</glossterm>
|
---|
365 |
|
---|
366 | <glossdef>
|
---|
367 | <para>Certains outils de débogage réseau souvent utilisés (comme
|
---|
368 | <computeroutput>ping</computeroutput> ou tracerouting) s'appuient
|
---|
369 | sur le protocole ICMP pour envoyer/recevoir des messages. Si le support
|
---|
370 | ICMP a été amélioré avec VirtualBox 2.1
|
---|
371 | (<computeroutput>ping</computeroutput> devrait maintenant fonctionner),
|
---|
372 | d'autres outils peuvent ne pas marcher de manière fiable.</para>
|
---|
373 | </glossdef>
|
---|
374 | </glossentry>
|
---|
375 |
|
---|
376 | <glossentry>
|
---|
377 | <glossterm>La réception des broadcasts UDP n'est pas fiable :</glossterm>
|
---|
378 |
|
---|
379 | <glossdef>
|
---|
380 | <para>L'invité ne reçoit pas de broadcasts fiables car, pour économiser
|
---|
381 | des ressources, il n'écoute qu'un certain temps après que l'invité a
|
---|
382 | envoyé des données UDP sur un port particulier. En conséquence,
|
---|
383 | la résolution de nom NetBios basée sur les broadcasts ne fonctionne
|
---|
384 | pas toujours (mais WINS fonctionne toujours). Un contournement est
|
---|
385 | d'utiliser l'IP numérique du serveur désiré en notation
|
---|
386 | <computeroutput>\\server\share</computeroutput>.</para>
|
---|
387 | </glossdef>
|
---|
388 | </glossentry>
|
---|
389 |
|
---|
390 | <glossentry>
|
---|
391 | <glossterm>Les protocoles tels que GRE ne sont pas supportés :</glossterm>
|
---|
392 |
|
---|
393 | <glossdef>
|
---|
394 | <para>Les protocoles autres que TCP et UDP ne sont pas supportés.
|
---|
395 | Cela signifie que certains produits VPN (comme PPTP de Microsoft)
|
---|
396 | ne peuvent pas être utilisés. Il existe d'autres produits VPN qui
|
---|
397 | utilisent simplement TCP et UDP.</para>
|
---|
398 | </glossdef>
|
---|
399 | </glossentry>
|
---|
400 |
|
---|
401 | <glossentry>
|
---|
402 | <glossterm>Redirection des ports de l'hôte < 1024 impossible :</glossterm>
|
---|
403 |
|
---|
404 | <glossdef>
|
---|
405 | <para>Sur les hôtes basés sur Unix, (comme Linux, Solaris, Mac OS X),
|
---|
406 | il n'est pas possible de trouver des ports en-dessous de 1024 pour
|
---|
407 | les applications non lancées par <computeroutput>root</computeroutput>.
|
---|
408 | Il s'en suit que si vous essayez de configurer la redirection de tels
|
---|
409 | port, la VM refusera de démarrer.</para>
|
---|
410 | </glossdef>
|
---|
411 | </glossentry>
|
---|
412 | </glosslist>
|
---|
413 |
|
---|
414 | <para>Ces limites ne concernent normalement pas les utilisations standards
|
---|
415 | du réseau. Mais la présence de NAT a également des effets subtils qui
|
---|
416 | peuvent interférer avec des protocoles qui, en principe, fonctionnent. Un
|
---|
417 | exemple est NFS, où le serveur est souvent configuré pour refuser les
|
---|
418 | connexions depuis des ports non privilégiés (donc les ports qui ne sont pas
|
---|
419 | inférieurs à 1024).</para>
|
---|
420 | </sect2>
|
---|
421 | </sect1>
|
---|
422 |
|
---|
423 | <sect1 id="network_nat_service">
|
---|
424 | <title>Network Address Translation Service (expérimental)</title>
|
---|
425 |
|
---|
426 | <para>Le service Network Address Translation (NAT) fonctionne comme un
|
---|
427 | routeur domestique en regroupant les systèmes qui l'utilisent dans un réseau
|
---|
428 | et en évitant que les systèmes extérieurs accèdent au sein du réseau
|
---|
429 | tout en permettant aux systèmes qu'il contient de communiquer entre eux et
|
---|
430 | avec l'extérieur via TCP et UDP en IPv4 et IPv6.</para>
|
---|
431 |
|
---|
432 | <para>Un service NAT est rattaché à un réseau interne. Les machines virtuelles
|
---|
433 | qui doivent l'utiliser devraient être branchées au réseau interne. Le nom du
|
---|
434 | réseau interne se choisit à la création du service NAT et le réseau interne
|
---|
435 | sera créé s'il n'existe pas déjà. Voici un exemple de commande pour créer
|
---|
436 | un réseau NAT :
|
---|
437 | </para>
|
---|
438 | <para><screen>VBoxManage natnetwork add -t nat-int-network -n "192.168.15.0/24" -e</screen></para>
|
---|
439 | <para>
|
---|
440 | Ici, "nat-int-network" est le nom du réseau interne à utiliser et
|
---|
441 | "192.168.15.0/24" est l'adresse du réseau et l'interface du masque du service NAT.
|
---|
442 | Dans cette configuration statique, par défaut, l'adresse affectée à la passerelle sera
|
---|
443 | 192.168.15.1 (adresse suivant celle de l'interface), bien que cela soit sujet
|
---|
444 | à changement. Pour connecter un serveur DHCP au réseau interne, nous
|
---|
445 | modifions l'exemple comme suit :</para>
|
---|
446 | <para><screen>VBoxManage natnetwork add -t nat-int-network -n "192.168.15.0/24" -e -h on</screen></para>
|
---|
447 | <para> ou pour ajouter un serveur DHCP au réseau après l'avoir créé :</para>
|
---|
448 | <para><screen>VBoxManage natnetwork modify -t nat-int-network -h on</screen></para>
|
---|
449 | <para>Pour le désactiver à nouveau, utilisez :</para>
|
---|
450 | <para><screen>VBoxManage natnetwork modify -t nat-int-network -h off</screen></para>
|
---|
451 | <para>Le serveur DHCP fournit la liste des noms de serveurs enregistrés
|
---|
452 | mais n'identifie pas les serveurs du réseau 127/8.</para>
|
---|
453 |
|
---|
454 | <para>Pour démarrer le service NAT, utilisez la commande suivante :</para>
|
---|
455 | <para><screen>VBoxManage natnetwork start -t nat-int-network</screen></para>
|
---|
456 | <para>Si un serveur DHCP est connecté au réseau, il démarrera avec le
|
---|
457 | service réseau NAT.</para>
|
---|
458 | <para><screen>VBoxManage natnetwork stop -t nat-int-network</screen> arrête
|
---|
459 | le service réseau NAT ainsi que le serveur DHCP s'il y en a un.</para>
|
---|
460 | <para>Pour effacer le service réseau NAT, utilisez :</para>
|
---|
461 | <para><screen>VBoxManage natnetwork remove -t nat-int-network</screen></para>
|
---|
462 | <para>Cette commande ne supprime pas le serveur DHCP s'il y en a un actif
|
---|
463 | sur le réseau interne.</para>
|
---|
464 | <para>La redirection de Ports est supportée (en utilisant le paramètre "-p"
|
---|
465 | pour
|
---|
466 | switch for IPv4 et "-P" pour IPv6) :</para>
|
---|
467 | <para><screen>VBoxManage natnetwork modify -t nat-int-network -p "ssh:tcp:[]:10022:[192.168.15.15]:22"</screen></para>
|
---|
468 | <para>Ceci ajoute une règle de redirection de pots depuis le 10022 TCP de
|
---|
469 | l'hôte vers le 22 de l'invité ayant l'adresse IP 192.168.15.15. Pour
|
---|
470 | effacer la règle, utilisez :</para>
|
---|
471 | <para><screen>VBoxManage natnetwork modify -t nat-int-network -p delete ssh</screen></para>
|
---|
472 | <para>Il est possible d'associer un service NAT à l'interface désirée :</para>
|
---|
473 | <screen>VBoxManage setextradata global "NAT/win-nat-test-0/SourceIp4" 192.168.1.185</screen>
|
---|
474 | <para>Pour voir la liste des réseaux NAT enregistrés, utilisez :</para>
|
---|
475 | <para><screen>VBoxManage list natnetworks</screen></para>
|
---|
476 | </sect1>
|
---|
477 |
|
---|
478 | <sect1 id="network_bridged">
|
---|
479 | <title>Réseau Bridgé</title>
|
---|
480 |
|
---|
481 | <para>Avec le réseau bridgé, VirtualBox utilise un pilote de périphérique
|
---|
482 | sur votre système <emphasis>hôte</emphasis> qui filtre les données de votre
|
---|
483 | adaptateur réseau physique. Ce pilote s'appelle donc un pilote "net filter".
|
---|
484 | Il permet à VirtualBox d'intercepter les données du réseau physique et
|
---|
485 | d'y envoyer des données, ce qui crée de fait une nouvelle interface réseau
|
---|
486 | logicielle. Quand un invité utilise une telle interface, cela se passe,
|
---|
487 | sur le système hôte, comme si l'invité était connecté physiquement à
|
---|
488 | l'interface réseau en utilisant un câble réseau : l'hôte peut envoyer
|
---|
489 | des données à l'invité via cette interface et en reçoit des données. Cela
|
---|
490 | veut dire que vous pouvez régler du routage ou des ponts entre l'invité et le
|
---|
491 | reste de votre réseau.</para>
|
---|
492 |
|
---|
493 | <para>Pour que cela fonctionne, VirtualBox a besoin d'un pilote de périphérique
|
---|
494 | sur votre système hôte. La manière dont fonctionne le réseau bridgé a été
|
---|
495 | complètement réécrite avec VirtualBox 2.0 et 2.1, selon le système d'exploitation
|
---|
496 | hôte. Du point de vue utilisateur, la principale différence est qu'une
|
---|
497 | configuration complexe n'est plus nécessaire, quel que soit le système
|
---|
498 | d'exploitation hôte supporté.<footnote>
|
---|
499 | <para>Pour les hôtes Mac OS X et Solaris, les pilotes net filter étaient
|
---|
500 | déjà ajoutés à VirtualBox 2.0 (vu que le support de Host Interface
|
---|
501 | Networking existait à l'origine sur ces plateformes). Avec VirtualBox 2.1,
|
---|
502 | les pilotes net filter ont été également ajoutés pour les hôtes Windows
|
---|
503 | et Linux à la place des mécanismes précédemment présents dans VirtualBox
|
---|
504 | pour ces plateformes ; surtout sur Linux, l'ancienne méthode impliquait
|
---|
505 | de créer des interfaces TAP et des ponts, ce qui était complexe et
|
---|
506 | variait d'une distribution à l'autre. Rien de tout cela n'est désormais
|
---|
507 | nécessaire. Le réseau bridgé s'appelait jadis "Host Interface Networking"
|
---|
508 | et on l'a renommé avec la version 2.2 sans changer ses fonctionnalités.</para>
|
---|
509 | </footnote></para>
|
---|
510 |
|
---|
511 | <para><note>
|
---|
512 | <para>Même si TAP n'est plus nécessaire sur Linux avec le réseau bridgé,
|
---|
513 | vous <emphasis>pouvez</emphasis> toujours utiliser les interfaces TAP
|
---|
514 | pour certains paramétrages avancés puisque vous pouvez connecter une VM
|
---|
515 | à n'importe quel interface de l'hôte -- qui pourrait être également une
|
---|
516 | interface TAP.</para>
|
---|
517 | </note>Pour activer le réseau bridgé, tout ce que vous devez faire est
|
---|
518 | d'ouvrir la boîte de dialogue des paramètres d'une machine virtuelle, d'aller
|
---|
519 | sur l'onglet "Réseau" et de sélectionner "Réseau bridgé" dans la boîte
|
---|
520 | à liste déroulante du champ "Attaché à". Au départ, sélectionnez l'interface
|
---|
521 | désirée de l'hôte dans la liste en bas de la fenêtre, qui contient les
|
---|
522 | interfaces réseaux physiques de vos systèmes. Sur un MacBook physique, par
|
---|
523 | exemple, cela vous permettra de choisir entre "en1:
|
---|
524 | AirPort" (qui est l'interface sans fil) et "en0: Ethernet", qui représente
|
---|
525 | l'interface avec câble réseau.</para>
|
---|
526 |
|
---|
527 | <note><para>Créer un pont avec une interface sans fil se fait différemment
|
---|
528 | d'avec une interface filaire, car la plupart des adaptateurs sans fil ne
|
---|
529 | supportent pas le mode promiscuous. Tout le trafic doit utiliser l'adresse
|
---|
530 | MAC de l'adaptateur sans fil de l'hôte, donc VirtualBox doit remplacer
|
---|
531 | l'adresse MAC source dans l'en-tête Ethernet d'un paquet sortant pour
|
---|
532 | s'assurer que la réponse sera envoyée à l'interface hôte. Quand VirtualBox
|
---|
533 | voit un paquet entrant ayant pour adresse IP de destination celle
|
---|
534 | appartenant à un des adaptateurs d'une machine virtuelle, il remplace
|
---|
535 | l'adresse MAC de destination dans l'en-tête Ethernet par l'adresse MAC de
|
---|
536 | l'adaptateur de la VM et il l'envoie.
|
---|
537 | VirtualBox examine les paquets ARP et DHCP afin de découvrir les adresses
|
---|
538 | IP des machines virtuelles.</para></note>
|
---|
539 |
|
---|
540 | <para>Selon votre système d'exploitation hôte, vous devriez garder en tête
|
---|
541 | les limites suivantes :<itemizedlist>
|
---|
542 | <listitem>
|
---|
543 | <para>Sur les hôtes <emphasis role="bold">Macintosh</emphasis>,
|
---|
544 | la fonctionnalité est limitée quand on utilise AirPort (le réseau sans
|
---|
545 | fil de Mac) pour du réseau bridgé. Actuellement, VirtualBox ne supporte
|
---|
546 | l'IPv4 qu'avec AirPort. Pour les autres protocoles tels qu'IPv6 et IPX,
|
---|
547 | vous devez choisir une interface filaire.</para>
|
---|
548 | </listitem>
|
---|
549 |
|
---|
550 | <listitem>
|
---|
551 | <para>Sur les hôtes <emphasis role="bold">Linux</emphasis>, la
|
---|
552 | fonctionnalité est limitée quand on utilise les interfaces sans fil pour
|
---|
553 | le réseau bridgé. Actuellement, VirtualBox supporte le sans fil qu'en
|
---|
554 | IPv4. Pour les autres protocoles tels qu'IPv6 et IPX, vous devez
|
---|
555 | choisir une interface filaire.</para>
|
---|
556 |
|
---|
557 | <para>De plus, le paramétrage du MTU sur moins de 1500 octets sur
|
---|
558 | les interfaces filaires fournies par le pilote sky2 sur les Marvell Yukon II EC
|
---|
559 | Ultra Ethernet NIC est connu pour provoquer une perte de paquets dans
|
---|
560 | certaines conditions.</para>
|
---|
561 |
|
---|
562 | <para>Certains adaptateurs nettoient les tags VLAN matériellement. Cela
|
---|
563 | ne permet pas d'utiliser le troncage de VLAN entre une VM et le réseau
|
---|
564 | externe avec les noyaux Linux pre-2.6.27, ni avec les systèmes d'exploitation
|
---|
565 | hôtes autres que Linux.</para>
|
---|
566 | </listitem>
|
---|
567 |
|
---|
568 | <listitem>
|
---|
569 | <para>Sur les hôtes <emphasis role="bold">Solaris</emphasis>, il n'y
|
---|
570 | a aucun support pour utiliser les interfaces sans fil. Le filtrage
|
---|
571 | du trafic de l'invité par IPFilter n'est pas complètement supporté non
|
---|
572 | plus à cause de restrictions techniques du sous-système réseau de
|
---|
573 | Solaris. Ces problèmes devraient être résolus dans la future version
|
---|
574 | Solaris 11.</para>
|
---|
575 |
|
---|
576 | <para>À partir de VirtualBox 4.1, sur les hôtes Solaris 11 (construction
|
---|
577 | 159 et supérieur), il est possible d'utiliser les Crossbow Virtual Network
|
---|
578 | Interfaces (VNICs) de Solaris directement, avec VirtualBox, sans
|
---|
579 | configuration dépassant l'exclusivité de chaque VNIC pour chaque
|
---|
580 | interface réseau de l'invité.</para>
|
---|
581 |
|
---|
582 | <para>De VirtualBox 2.0.4 à VirtualBox 4.0, VNICs
|
---|
583 | peuvent être utilisés, mais avec les précautions suivantes :</para>
|
---|
584 |
|
---|
585 | <itemizedlist>
|
---|
586 | <listitem>
|
---|
587 | <para>Un VNIC ne peut pas être partagé entre plusieurs
|
---|
588 | interfaces réseaux invitées, c'est-à-dire que chaque interface réseau
|
---|
589 | invitée doit avoir son propre et exclusif VNIC.</para>
|
---|
590 | </listitem>
|
---|
591 |
|
---|
592 | <listitem>
|
---|
593 | <para>Il faut affecter au VNIC et à l'interface réseau invitée qui utilise
|
---|
594 | VNIC des adresses MAC identiques.</para>
|
---|
595 | </listitem>
|
---|
596 | </itemizedlist>
|
---|
597 |
|
---|
598 | <para>Quand on utilise des interfaces VLAN avec VirtualBox, il faut
|
---|
599 | les nommer selon le schéma de nommage PPA-hack (par exemple "e1000g513001"),
|
---|
600 | sans quoi l'invité pourrait recevoir des paquets dans un
|
---|
601 | format imprévu.</para>
|
---|
602 | </listitem>
|
---|
603 | </itemizedlist></para>
|
---|
604 | </sect1>
|
---|
605 |
|
---|
606 | <sect1 id="network_internal">
|
---|
607 | <title>Réseau interne</title>
|
---|
608 |
|
---|
609 | <para>Le réseau interne est identique à celui bridgé dans le sens où la VM
|
---|
610 | peut communiquer directement avec le monde extérieur. Toutefois, le "monde
|
---|
611 | extérieur" se limite aux autres VMs sur le même hôte et connectées au même
|
---|
612 | réseau interne.</para>
|
---|
613 |
|
---|
614 | <para>Même si, techniquement, on peut faire tout ce qu'on fait avec un réseau interne
|
---|
615 | sur un réseau bridgé, il présente des avantages de sécurité. En mode réseau
|
---|
616 | bridgé, tout le trafic passe par l'interface physique du système hôte. Il est
|
---|
617 | donc possible d'attacher un snifeur de paquets (tel que Wireshark) à
|
---|
618 | l'interface hôte et d'enregistrer tout le trafic qui y transite. Si, pour
|
---|
619 | une raison quelconque, vous préférez que deux ou plusieurs VMs sur une même
|
---|
620 | machine communiquent en privé, en cachant leurs données au système et à
|
---|
621 | l'utilisateur hôtes, le réseau bridgé n'est donc pas envisageable.</para>
|
---|
622 |
|
---|
623 | <para>Les réseaux internes sont créés automatiquement au besoin
|
---|
624 | c'est-à-dire qu'il n'y a pas de configuration centrale. Chaque réseau interne
|
---|
625 | est identifié simplement par son nom. Une fois qu'il y a plus d'une carte
|
---|
626 | réseau virtuelle active avec le même ID réseau interne, le pilote
|
---|
627 | de VirtualBox "branchera" automatiquement les cartes et agira comme un switch.
|
---|
628 | Les pilotes de VirtualBox implémentent un switch Ethernet complet
|
---|
629 | et supportent les frames broadcast/multicast et le mode promiscuous.</para>
|
---|
630 |
|
---|
631 | <para>Afin d'attacher la carte réseau d'une VM à un réseau interne, réglez
|
---|
632 | son mode réseau sur "réseau interne". Il existe 2 manières de
|
---|
633 | faire cela :</para>
|
---|
634 |
|
---|
635 | <para><itemizedlist>
|
---|
636 | <listitem>
|
---|
637 | <para>Vous pouvez utiliser une boîte de dialogue "Paramètres" de la VM
|
---|
638 | dans l'interface graphique de VirtualBox. Dans la catégorie "Réseau"
|
---|
639 | de la boîte de dialogue des paramètres, sélectionnez "réseau interne"
|
---|
640 | dans la liste déroulante des modes réseaux. Maintenant, sélectionnez
|
---|
641 | le nom d'un réseau interne existant dans la liste déroulante en-dessous
|
---|
642 | ou tapez un nouveau nom dans la zone d'édition.</para>
|
---|
643 | </listitem>
|
---|
644 |
|
---|
645 | <listitem>
|
---|
646 | <para>Vous pouvez utiliser <screen>VBoxManage modifyvm "nom VM" --nic<x> intnet</screen>
|
---|
647 | Éventuellement, vous pouvez spécifier un nom de réseau par la commande
|
---|
648 | <screen>VBoxManage modifyvm "nom VM" --intnet<x> "nom réseau"</screen>
|
---|
649 | Si vous ne spécifiez pas de nom réseau, la carte réseau sera
|
---|
650 | attachée au réseau <computeroutput>intnet</computeroutput> par défaut.</para>
|
---|
651 | </listitem>
|
---|
652 | </itemizedlist></para>
|
---|
653 |
|
---|
654 | <para>Sauf si vous configurez les cartes réseaux (virtuelles) dans les
|
---|
655 | systèmes d'exploitation invités qui participent au réseau interne pour utiliser
|
---|
656 | des adresses IP statiques, vous pourriez vouloir utiliser le serveur DHCP
|
---|
657 | qui est construit dans VirtualBox pour gérer des adresses IP pour le réseau
|
---|
658 | interne. Merci de voir <xref linkend="vboxmanage-dhcpserver" /> pour des
|
---|
659 | détails.</para>
|
---|
660 |
|
---|
661 | <para>Par mesure de sécurité, l'implémentation Linux du réseau interne
|
---|
662 | n'autorise que les VMs en fonction sous le même utilisateur à établir
|
---|
663 | un réseau interne.</para>
|
---|
664 | </sect1>
|
---|
665 |
|
---|
666 | <sect1 id="network_hostonly">
|
---|
667 | <title>Réseau Host-only</title>
|
---|
668 |
|
---|
669 | <para>Le réseau Host-only est un autre mode réseau qui a été ajouté à la
|
---|
670 | version 2.2 de VirtualBox. On peut le voir comme un mode hybride entre les
|
---|
671 | modes réseaux bridgé et interne : comme en réseau bridgé, les machines
|
---|
672 | virtuelles peuvent se parler entre elles et avec l'hôte comme si elles étaient
|
---|
673 | connectées à un commutateur Ethernet physique. Au contraire, comme avec un
|
---|
674 | réseau interne, il faut une interface réseau physique et les machines virtuelles
|
---|
675 | ne peuvent pas parler au monde extérieur à l'hôte puisqu'elles ne sont pas
|
---|
676 | connectées à une interface réseau physique.</para>
|
---|
677 |
|
---|
678 | <para>Quand on utilise le mode réseau host-only, VirtualBox crée une nouvelle
|
---|
679 | interface logicielle sur l'hôte qui apparaît alors à côté de vos interfaces
|
---|
680 | réseaux existantes. En d'autres termes, alors que le réseau bridgé et que
|
---|
681 | l'interface physique existante sont utilisés pour y attacher des machines virtuelles,
|
---|
682 | avec le réseau host-only, une nouvelle interface "loopback" est créée sur l'hôte.
|
---|
683 | Et alors qu'avec le réseau interne, le trafic entre les machines virtuelles
|
---|
684 | n'est pas visible, le trafic sur l'interface "loopback" de l'hôte peut être
|
---|
685 | intercepté.</para>
|
---|
686 |
|
---|
687 | <para>Le réseau Host-only est particulièrement utile pour les applicatifs
|
---|
688 | virtuels préconfigués où plusieurs machines virtuelles sont groupées et conçues
|
---|
689 | pour collaborer. Par exemple, une machine virtuelle peut contenir un
|
---|
690 | serveur web et une deuxième une base de données, et comme elles sont faites
|
---|
691 | pour se parler, l'applicatif peut demander à VirtualBox de définir un réseau
|
---|
692 | host-only pour les deux. Un deuxième réseau (bridgé) connecterait alors le
|
---|
693 | serveur web au monde extérieur pour offrir des données, mais le monde extérieur
|
---|
694 | ne peut pas se connecter à la base de données.</para>
|
---|
695 |
|
---|
696 | <para>Pour passer l'interface réseau d'une machine virtuelle en mode "host
|
---|
697 | only" :<itemizedlist>
|
---|
698 | <listitem>
|
---|
699 | <para>soit allez sur l'onglet "Réseau" de la boîte de dialogue
|
---|
700 | des paramètres de la machine virtuelle dans l'interface graphique et
|
---|
701 | sélectionnez "réseau host-only", soit</para>
|
---|
702 | </listitem>
|
---|
703 |
|
---|
704 | <listitem>
|
---|
705 | <para>en ligne de commandes, taper <computeroutput>VBoxManage modifyvm
|
---|
706 | "nom VM" --nic<x> hostonly</computeroutput> ; voir <xref
|
---|
707 | linkend="vboxmanage-modifyvm" /> pour les détails.</para>
|
---|
708 | </listitem>
|
---|
709 | </itemizedlist></para>
|
---|
710 |
|
---|
711 | <para>Pour le réseau host-only, comme avec le réseau interne, vous pouvez
|
---|
712 | trouver utile que le serveur DHCP soit construit dans VirtualBox. Il peut être activé
|
---|
713 | et donc gérer les adresses IP dans le réseau host-only, puisque sans cela,
|
---|
714 | vous devriez configurer toutes les adresses IP de manière statique.<itemizedlist>
|
---|
715 | <listitem>
|
---|
716 | <para>Dans l'interface graphique de VirtualBox, vous pouvez configurer
|
---|
717 | tous ces éléments dans les paramètres globaux via "Fichier" ->
|
---|
718 | "Paramètres" -> "Réseau", qui liste tous les réseaux host-only
|
---|
719 | qui sont actuellement utilisés. Cliquez sur le nom du réseau puis sur
|
---|
720 | le bouton "Éditer" à droite, et vous pouvez modifier les paramètres
|
---|
721 | de l'adaptateur et du DHCP.</para>
|
---|
722 | </listitem>
|
---|
723 |
|
---|
724 | <listitem>
|
---|
725 | <para>Sinon, vous pouvez utiliser <computeroutput>VBoxManage
|
---|
726 | dhcpserver</computeroutput> en ligne de commandes ; voir <xref
|
---|
727 | linkend="vboxmanage-dhcpserver" /> pour des détails.</para>
|
---|
728 | </listitem>
|
---|
729 | </itemizedlist></para>
|
---|
730 | <para><note><para>Sur les hôtes Linux et Mac OS X, le nombre d'interfaces
|
---|
731 | host-only est limité à 128. Il n'y a pas de telles limites sur les hôtes
|
---|
732 | Solaris et Windows.</para></note></para>
|
---|
733 | </sect1>
|
---|
734 |
|
---|
735 | <sect1 id="network_udp_tunnel">
|
---|
736 | <title>Réseau en tunnel UDP</title>
|
---|
737 |
|
---|
738 | <para>Ce mode réseau permet d'interconnecter des machines virtuelles qui
|
---|
739 | fonctionnent sur des hôtes différents.</para>
|
---|
740 |
|
---|
741 | <para>Techniquement, cela se fait en encapsulant des trames Ethernet envoyées
|
---|
742 | ou reçues par la carte réseau de l'invité dans des datagrammes UDP/IP, et
|
---|
743 | en les envoyant via n'importe quel réseau disponible sur l'hôte.</para>
|
---|
744 |
|
---|
745 | <para>Le mode Tunnel UDP a trois paramètres :<glosslist>
|
---|
746 | <glossentry>
|
---|
747 | <glossterm>Port source UDP</glossterm>
|
---|
748 |
|
---|
749 | <glossdef>
|
---|
750 | <para>Le port sur lequel écoute l'hôte. Les datagrammess arrivant
|
---|
751 | sur ce port depuis n'importe quelle adresse source seront redirigés
|
---|
752 | vers la partie réceptrice de la carte réseau invitée.</para>
|
---|
753 | </glossdef>
|
---|
754 | </glossentry>
|
---|
755 |
|
---|
756 | <glossentry>
|
---|
757 | <glossterm>Adresse de destination</glossterm>
|
---|
758 |
|
---|
759 | <glossdef>
|
---|
760 | <para>L'adresse IP de l'hôte cible des données transmises.</para>
|
---|
761 | </glossdef>
|
---|
762 | </glossentry>
|
---|
763 |
|
---|
764 | <glossentry>
|
---|
765 | <glossterm>Port de destination UDP</glossterm>
|
---|
766 |
|
---|
767 | <glossdef>
|
---|
768 | <para>Le numéro du port sur lequel sont envoyées les données transmises.</para>
|
---|
769 | </glossdef>
|
---|
770 | </glossentry>
|
---|
771 | </glosslist></para>
|
---|
772 |
|
---|
773 | <para>Quand on interconnecte deux machines virtuelles sur deux hôtes différents,
|
---|
774 | leurs adresses IP doivent être échangées. Sur un seul hôte, les ports UDP
|
---|
775 | source et de destination doivent être échangés.</para>
|
---|
776 |
|
---|
777 | <para>Dans l'exemple suivant, l'hôte 1 utilise l'adresse IP 10.0.0.1 et l'hôte
|
---|
778 | 2 utilise l'adresse IP 10.0.0.2. La configuration en ligne de commandes :<screen> VBoxManage modifyvm "VM 01 on host 1" --nic<x> generic
|
---|
779 | VBoxManage modifyvm "VM 01 on host 1" --nicgenericdrv<x> UDPTunnel
|
---|
780 | VBoxManage modifyvm "VM 01 on host 1" --nicproperty<x> dest=10.0.0.2
|
---|
781 | VBoxManage modifyvm "VM 01 on host 1" --nicproperty<x> sport=10001
|
---|
782 | VBoxManage modifyvm "VM 01 on host 1" --nicproperty<x> dport=10002</screen>
|
---|
783 | et <screen> VBoxManage modifyvm "VM 02 on host 2" --nic<y> generic
|
---|
784 | VBoxManage modifyvm "VM 02 on host 2" --nicgenericdrv<y> UDPTunnel
|
---|
785 | VBoxManage modifyvm "VM 02 on host 2" --nicproperty<y> dest=10.0.0.1
|
---|
786 | VBoxManage modifyvm "VM 02 on host 2" --nicproperty<y> sport=10002
|
---|
787 | VBoxManage modifyvm "VM 02 on host 2" --nicproperty<y> dport=10001</screen></para>
|
---|
788 |
|
---|
789 | <para>Bien entendu, vous pouvez toujours interconnecter deux machines virtuelles
|
---|
790 | sur le même hôte en paramétrant le paramètre Adresse de destination sur
|
---|
791 | 127.0.0.1 sur les deux. Cela agira de la même façon que le "réseau interne"
|
---|
792 | dans ce cas, cependant l'hôte peut voir le trafic réseau, ce qui ne pourrait
|
---|
793 | pas être le cas dans un réseau interne normal.</para>
|
---|
794 |
|
---|
795 | <para><note><para>
|
---|
796 | Sur les hôtes basés sur Unix (comme Linux, Solaris, Mac OS X), il
|
---|
797 | n'est pas possible de sonder les ports inférieurs à 1024 pour des
|
---|
798 | applications non lancées par <computeroutput>root</computeroutput>.
|
---|
799 | Il s'en suit que si vous essayez de configurer un tel port source UDP,
|
---|
800 | la VM refusera de démarrer.
|
---|
801 | </para></note></para>
|
---|
802 | </sect1>
|
---|
803 |
|
---|
804 | <sect1 id="network_vde">
|
---|
805 | <title>Réseau VDE</title>
|
---|
806 |
|
---|
807 | <para>Virtual Distributed Ethernet (VDE<footnote>
|
---|
808 | <para>VDE est un projet développé par Renzo Davoli, Professeur associé
|
---|
809 | à l'Université de Bologne, Italie.</para>
|
---|
810 | </footnote>) est une infrastructure réseau flexible et virtuelle,
|
---|
811 | qui couvre plusieurs hôtes d'une manière sécurisée. Elle permet de basculer
|
---|
812 | entre L2/L3, y compris l'émulation du protocole spanning-tree, des VLANs
|
---|
813 | et de WAN. C'est une partie optionnelle de VirtualBox qui n'est incluse
|
---|
814 | que dans le code source.</para>
|
---|
815 |
|
---|
816 | <para>Les blocs à construire de base de l'infrastructure sont les switches
|
---|
817 | VDE, les prises VDE et les fils VDE qui inter-connectent les switches.</para>
|
---|
818 |
|
---|
819 | <para>Le pilote VDE de VirtualBox prend un paramètre :<glosslist>
|
---|
820 | <glossentry>
|
---|
821 | <glossterm>Réseau VDE</glossterm>
|
---|
822 |
|
---|
823 | <glossdef>
|
---|
824 | <para>Le nom du socket du switch du réseau VDE auquel la VM
|
---|
825 | sera connecté.</para>
|
---|
826 | </glossdef>
|
---|
827 | </glossentry>
|
---|
828 | </glosslist></para>
|
---|
829 |
|
---|
830 | <para>L'exemple basique suivant montre la manière de connecter une machine
|
---|
831 | virtuelle à un switch VDE :</para>
|
---|
832 |
|
---|
833 | <para><orderedlist>
|
---|
834 | <listitem>
|
---|
835 | <para>Créez un switch VDE : <screen>vde_switch -s /tmp/switch1</screen></para>
|
---|
836 | </listitem>
|
---|
837 |
|
---|
838 | <listitem>
|
---|
839 | <para>Configuration en ligne de commandes : <screen>VBoxManage modifyvm "nom VM" --nic<x> generic</screen>
|
---|
840 | <screen>VBoxManage modifyvm "nom VM" --nicgenericdrv<x> VDE</screen>
|
---|
841 | Pour se connecter automatiquement à un port du switch affecté, utilisez :
|
---|
842 | <screen>VBoxManage modifyvm "nom VM" --nicproperty<x> network=/tmp/switch1</screen>
|
---|
843 | Pour se connecter à un port du switch spécifique <n>, utilisez :
|
---|
844 | <screen>VBoxManage modifyvm "nom VM" --nicproperty<x> network=/tmp/switch1[<n>]</screen>
|
---|
845 | La dernière option est utile pour les VLANs.</para>
|
---|
846 | </listitem>
|
---|
847 |
|
---|
848 | <listitem>
|
---|
849 | <para>Éventuellement, reliez le port du switch VDE et le VLAN :
|
---|
850 | (à partir de la ligne de commande du switch) <screen>vde$ vlan/create <VLAN></screen> <screen>vde$ port/setvlan <port> <VLAN></screen></para>
|
---|
851 | </listitem>
|
---|
852 | </orderedlist></para>
|
---|
853 |
|
---|
854 | <para>VDE n'est disponible sur les hôtes Linux et FreeBSD que si le
|
---|
855 | logiciel VDE est la bibliothèque supplément VDE du projet VirtualSquare sont
|
---|
856 | installées sur le système hôte<footnote>
|
---|
857 | <para>Pour les hôtes Linux, la bibliothèque partagée libvdeplug.so doit
|
---|
858 | être disponible dans le chemin de recherche des bibliothèques partagées</para>
|
---|
859 | </footnote>. Pour plus d'informations sur le paramétrage de réseaux VDE,
|
---|
860 | merci de voir la documentation accompagnant le logiciel.<footnote>
|
---|
861 | <para><ulink
|
---|
862 | url="http://wiki.virtualsquare.org/wiki/index.php/VDE_Basic_Networking">http://wiki.virtualsquare.org/wiki/index.php/VDE_Basic_Networking</ulink>.</para>
|
---|
863 | </footnote></para>
|
---|
864 | </sect1>
|
---|
865 |
|
---|
866 | <sect1 id="network_bandwidth_limit">
|
---|
867 | <title>Limiter la bande passante des E/S réseaux</title>
|
---|
868 |
|
---|
869 | <para>À partir de la version 4.2, VirtualBox permet de limiter la bande
|
---|
870 | passante maximum utilisée pour la transmission réseau. Plusieurs adaptateurs
|
---|
871 | réseaux d'une VM peuvent partager les limites des groupes de bande passante.
|
---|
872 | Il est possible d'avoir plus d'une limite.</para>
|
---|
873 | <note><para>VirtualBox ne gère le t!afic de la VM que dans le sens de la
|
---|
874 | transmission, en faisant attendre les paquets à envoyer par les machines
|
---|
875 | virtuelles. Il ne limite pas le trafic reçu par les machines virtuelles.</para>
|
---|
876 | </note>
|
---|
877 |
|
---|
878 | <para>On configure les limites avec <computeroutput>VBoxManage</computeroutput>. L'exemple
|
---|
879 | ci-dessous crée un groupe de bande passante appelé "Limit", paramètre la
|
---|
880 | limite à 20 Mo/s et affecte le groupe au premier et au deuxième adaptateurs
|
---|
881 | de la VM :<screen>VBoxManage bandwidthctl "nom VM" add Limit --type network --limit 20m
|
---|
882 | VBoxManage modifyvm "nom VM" --nicbandwidthgroup1 Limit
|
---|
883 | VBoxManage modifyvm "nom VM" --nicbandwidthgroup2 Limit</screen></para>
|
---|
884 |
|
---|
885 | <para>Tous les adaptateurs d'un groupe partagent la limite de la bande
|
---|
886 | passante, ce qui veut dire que dans l'exemple ci-dessus, la bande passante
|
---|
887 | des deux adaptateurs associés ne peut jamais dépasser 20
|
---|
888 | Mo/s. Par contre, si un adaptateur n'a pas besoin de bande passante, l'autre
|
---|
889 | peut utiliser le reste de bande passante de son groupe.</para>
|
---|
890 |
|
---|
891 | <para>On peut modifier les limites de chaque groupe pendant que la VM
|
---|
892 | est en fonction, les changements étant répercutés immédiatement.
|
---|
893 | L'exemple ci-dessous montre le passage de la limite du groupe créé dans
|
---|
894 | l'exemple ci-dessus à 100 Ko/s :<screen>VBoxManage bandwidthctl "nom VM" set Limit --limit 100k</screen></para>
|
---|
895 |
|
---|
896 | <para>Pour désactiver complètement l'encadrement du premier adaptateur de la
|
---|
897 | VM, utilisez la commande suivante :
|
---|
898 | <screen>VBoxManage modifyvm "nom VM" --nicbandwidthgroup1 none</screen></para>
|
---|
899 |
|
---|
900 | <para>Il est également possible de désactiver l'encadrement de tous les
|
---|
901 | adaptateurs affectés à un groupe de bande passante alors que la VM est en
|
---|
902 | fonction, en spécifiant la limite zéro pour le groupe. Par exemple,
|
---|
903 | pour le groupe de bande passante nommé "Limit", utilisez :
|
---|
904 | <screen>VBoxManage bandwidthctl "nom VM" set Limit --limit 0</screen></para>
|
---|
905 | </sect1>
|
---|
906 | <sect1 id="network_performance">
|
---|
907 | <title>Améliorer les performances réseaux</title>
|
---|
908 |
|
---|
909 | <para>VirtualBox offre une variété d'adaptateurs réseaux virtuels qu'on peut
|
---|
910 | "attacher" au réseau de l'hôte de diverses manières. Selon les
|
---|
911 | types d'adaptateurs et d'attachements utilisés, les performances réseaux
|
---|
912 | seront différentes. Dans une logique de performances, l'adaptateur réseau
|
---|
913 | <emphasis>virtio</emphasis> est préférable aux adaptateurs
|
---|
914 | <emphasis>Intel PRO/1000</emphasis> émulés, préférables eux-mêmes à
|
---|
915 | la famille d'adaptateurs <emphasis>PCNet</emphasis>. Tant les adaptateurs
|
---|
916 | <emphasis>virtio</emphasis> que <emphasis>Intel PRO/1000
|
---|
917 | </emphasis> profitent de la segmentation et de l'offloading de la
|
---|
918 | vérification de somme. La segmentation offloading est essentielle pour de
|
---|
919 | hautes performances car elle permet moins de changements de contextes,
|
---|
920 | augmentant drastiquement les tailles des paquets croisés entre VM et hôte.</para>
|
---|
921 | <note><para>Ni les pilotes <emphasis>virtio</emphasis>, ni ceux
|
---|
922 | <emphasis>Intel PRO/1000</emphasis> de Windows XP supportent la segmentation
|
---|
923 | offloading. Donc, les invités Windows XP n'atteignent jamais les mêmes
|
---|
924 | vitesses de transmission que les autres types d'invités. Reportez-vous
|
---|
925 | à la base MS Knowledge article 842264 pour des informations supplémentaires.</para>
|
---|
926 | </note>
|
---|
927 | <para>Trois types d'attachements : <emphasis>interne</emphasis>,
|
---|
928 | <emphasis>bridgé</emphasis> et <emphasis>host-only</emphasis>, ont des
|
---|
929 | performances presque identiques, le type <emphasis>internal</emphasis>
|
---|
930 | étant légèrement plus rapide et utilisant moins de cycles processeur puisque
|
---|
931 | les paquets ne vont jamais dans la pile réseau de l'hôte. L'attachement
|
---|
932 | <emphasis>NAT</emphasis> est le plus lent (et le plus sûr) de tous les
|
---|
933 | types d'attachement car il fournit une traduction d'adresse réseau.
|
---|
934 | L'attachement du pilote générique est spécial et ne peut pas être considéré
|
---|
935 | comme une alternative à d'autres types d'attachements.</para>
|
---|
936 | <para>Le nombre de processeurs affectés à la VM n'améliore pas les
|
---|
937 | performances et, dans certains cas, cela peut les réduire du fait d'une
|
---|
938 | concurrence dans l'invité.</para>
|
---|
939 | <para>Voici un petit résumé des choses à vérifier afin d'améliorer les
|
---|
940 | performances réseau :</para>
|
---|
941 | <para><orderedlist>
|
---|
942 | <listitem>
|
---|
943 | <para>Si possible utilisez l'adaptateur réseau <emphasis>virtio</emphasis>,
|
---|
944 | ou utilisez un des adaptateurs <emphasis>Intel PRO/1000</emphasis> ;</para>
|
---|
945 | </listitem>
|
---|
946 | <listitem>
|
---|
947 | <para>Utilisez l'attachement <emphasis>bridgé</emphasis> plutôt que
|
---|
948 | <emphasis>NAT</emphasis>;</para>
|
---|
949 | </listitem>
|
---|
950 | <listitem>
|
---|
951 | <para>Assurez-vous que la segmentation offloading est activée dans
|
---|
952 | l'OS invité. En général, elle sera activée par défaut. Vous pouvez
|
---|
953 | vérifier et modifier les paramètres d'offloading en utilisant la commnde
|
---|
954 | <computeroutput>ethtool</computeroutput> dans les invités Linux.</para>
|
---|
955 | </listitem>
|
---|
956 | </orderedlist></para>
|
---|
957 | </sect1>
|
---|
958 | </chapter>
|
---|