Outils pour utilisateurs

Outils du site


numero61:tuto_vbox_p._15-20

This all started when I needed to run a sandboxed instance of Wordpress. The simple part was creating a virtual Ubuntu 11.10 server as a guest inside my VirtualBox host. Then I discovered I knew much less about networking than I thought, a topic full of packets and switches and routing. I know even less about networking in VirtualBox, where all that stuff is virtualized in software. Several attempts and a networking crash-course later, mission accomplished, and, to save you my pain, here's what I found.

Tout a commencé quand j'ai eu besoin d'exécuter Wordpress dans un « bac à sable ». La partie la plus simple était de créer un serveur Ubuntu 11.10 virtuel en tant que système hébergé à l'intérieur de mon hôte VirtualBox. Puis j'ai découvert que j'en savais beaucoup moins sur les réseaux que je ne le pensais, un sujet rempli de paquets, de commutateurs et de routage. J'en connais encore moins sur les réseaux dans VirtualBox, où tout ça est virtualisé dans le logiciel. Plusieurs tentatives et un cours intensif sur les réseaux plus tard, mission accomplie et, pour vous épargner des difficultés comme les miennes, voici ce que j'ai trouvé.

VirtualBox Network Options Install any version of VirtualBox from 3.0 onwards, and you'll find similar layouts and capabilities. For any of your installed virtual machines, click on Settings > Network. This is the default view. Any virtual machine can have up to four network adapters - which you can enable as needed. Most of the time, you'll need just one. Usually when you create a virtual machine, you can leave VirtualBox to get on with creating a single network adapter - allowing you to see out onto the Internet. You might need multiple adapters of different types, or the same type with different settings, according to the use of your virtual machine and the networks - physical and virtual - to which it is connected.

Options de réseau dans VirtualBox

Installez n'importe quelle version de VirtualBox, à partir de la 3.0 et vous trouverez des écrans et des capacités similaires.

Sur n'importe laquelle de vos machines virtuelles installées, cliquez sur Settings > Network. Vous avez alors la vue par défaut. Toute machine virtuelle peut avoir jusqu'à quatre adaptateurs réseau, que vous pouvez activer au besoin. La plupart du temps, vous en aurez besoin d'une seule. Habituellement, lorsque vous créez une machine virtuelle, vous pouvez laisser VirtualBox créer un adaptateur réseau unique, ce qui vous permet d'aller sur Internet.

Il se peut que vous ayez besoin de plusieurs adaptateurs de différents types, ou du même type avec des paramètres différents, en fonction de l'utilisation de votre machine virtuelle et des réseaux, physiques et virtuels, auxquels il est connecté.

For my virtual web-server running Wordpress, things get a bit more complex, so here we go… The Adapter Type defines the virtual hardware available to your virtual machine (VM). VirtualBox will do its best to mediate the virtual network card with whatever physical adapters you have on your host machine. Open the Advanced pane and you get additional options for setting up your network adapter. I'm going to run through the settings deliberately out of sequence, starting with the Adapter type. Adapter Type : VirtualBox will attempt to emulate some common types of network cards for which it has the drivers and protocols. PCnet-FAST III is the default selection, although I often select the Intel PRO/1000MT adapters if I'm looking for better compatibility with Intel hardware. There are two server versions for higher throughput if you intend your VM to run hot in a production environment. Desktop users needn't worry. If you have a problem with one of the Adapter types, you can try another, including a PCnet-FAST II for older machines.

Quant à mon serveur web virtuel exécutant Wordpress, les choses deviennent un peu plus complexes, donc voilà… Le type d'adaptateur définit le matériel virtuel disponible pour votre machine virtuelle (VM). VirtualBox fera de son mieux pour relier la carte réseau virtuelle avec n'importe quelle carte physique que vous avez sur votre machine hôte. Ouvrez le volet Advanced et vous bénéficiez d'options supplémentaires pour la configuration de votre adaptateur réseau. Je vais parcourir les paramètres, sans ordre exprès, en commençant par le type d'adaptateur.

Adapter Type : VirtualBox va tenter d'émuler certains types courants de cartes réseaux pour lesquelles il a les pilotes et les protocoles. PCnet-FAST III est la sélection par défaut, même si je choisis souvent les cartes Intel PRO/1000MT si je recherche une meilleure compatibilité avec le matériel Intel. Il existe deux versions du serveur pour avoir un débit plus élevé si vous avez l'intention de faire en sorte que votre VM tourne vite dans un environnement de production. Les utilisateurs de bureau ne doivent pas s'inquiéter. Si vous avez un problème avec l'un des types d'adaptateur, vous pouvez en essayer une autre, y compris une PCnet-FAST II pour les machines plus anciennes.

Mode : the rather racy sounding 'Promiscuous Mode' has to do with the behaviour of the virtual switch used by Internal Networking; Bridged and Host Only. You can make a VM's network port accept traffic targeted for other virtual machines, or even the host, in addition to traffic addressed specifically to it. Promiscuous Mode is something 99% of users should never touch, and is there in cases where you need to diagnose the cause of certain network problems. MAC Address : short for Media Access Control, the MAC address is a hardware address that uniquely identifies each network resource or node of a network. It is a unique identifying number for something that is usually hard coded into physical network adapters. VirtualBox generates the MAC addresses of virtual machine network cards. There is a little button on the right to regenerate the MAC address; should you clone a virtual machine, it will need its own unique MAC to run on your virtual network alongside the original. Mode : le « mode Promiscuous », au nom qui sonne plutôt osé, correspond au comportement du commutateur virtuel utilisé par le réseau interne ; Bridged (en pont) et Host Only (seulement l'hôte). Vous pouvez faire accepter par le port réseau d'une VM un trafic ciblé vers d'autres machines virtuelles ou, même, vers l'hôte, en plus du trafic adressé spécialement à cette VM. Le mode Promiscuous est une chose à laquelle 99 % des utilisateurs ne doivent jamais toucher ; il n'est là que pour le cas où vous avez besoin de diagnostiquer la cause de certains problèmes réseau.

Adresse MAC : nom court pour Media Access Control, l'adresse MAC est une adresse du matériel qui identifie de manière unique chaque ressource réseau ou nœud d'un réseau. Il s'agit d'un numéro d'identification unique pour quelque chose qui est généralement codé en dur dans les cartes réseaux physiques. VirtualBox génère les adresses MAC des cartes réseaux de la machine virtuelle.

Il y a un petit bouton sur la droite pour régénérer l'adresse MAC ; si vous clonez une machine virtuelle, il aura besoin de sa propre MAC pour fonctionner sur votre réseau virtuel à côté de l'original.

The Cable connected check-box does the same thing as plugging or unplugging a physical cable. This is the setting that connects your virtual network adapter to your virtual network. It is different from the top-most check-box for Enable Network Adapter, which allows you to effectively insert or pull the network adapter from the machine. Finally, the Port Forwarding button opens another dialog allowing you to define the traffic rules for the adapter; how traffic of certain types is routed between host and guest. This applies only to certain network attachments which we will look at next. This is determined by the Attached to option (with its little pal, the Name option), which is the sharp end of networking in VirtualBox, and the thing that gave me most trouble at the start of my experiment.

La case à cocher Cable Connected fait la même chose que de brancher ou débrancher un câble physique. Il s'agit du paramètre qui relie votre carte réseau virtuelle à votre réseau virtuel. Elle est différente de la case tout en haut, Enable Network Adapter, qui vous permet d'insérer ou de retirer efficacement la carte réseau de la machine.

Enfin, le bouton Port Forwarding ouvre une autre boîte de dialogue vous permettant de définir les règles de trafic sur la carte, comment le trafic de certains types est acheminé entre l'hôte et l'invité. Cela s'applique uniquement à certains liens réseaux, que nous verrons plus tard. Ceci est déterminé par l'option « Attached to » (avec sa petite compagne, l'option Name), qui est la partie pointue de la mise en réseau dans VirtualBox et la chose qui m'a donné le plus de mal au début de mon expérience.

'Here be dragons.' There are four types of network attachment available, and many possible combinations of settings across the other controls. This is where VirtualBox networking can seem like medieval sorcery. Following through the right selection for your given purpose can be simple. There may even be multiple right answers to achieve your goal. But everything else looks doomed to failure: I know… Attached to Network types We have four workable options here: • Network Address Translation, which is the default, • Bridged, • Host Only, and • Internal Network. 'Not attached' is also a type, but used for the purpose of keeping an adapter in place for troubleshooting. In this mode, VirtualBox reports to the guest that a network card is present, but that there is no connection.

« Ici résident les dragons »

Il y a quatre types de rattachement au réseau disponibles et de nombreuses combinaisons possibles de paramètres parmi les autres contrôles. C'est là que la mise en réseau de VirtualBox peut ressembler à de la sorcellerie médiévale. La démarche pour faire le bon choix selon votre besoin donné peut être simple. Il peut même y avoir plusieurs bonnes solutions pour atteindre votre objectif. Mais tout le reste semble voué à l'échec : je sais…

Types de rattachement au réseau

Nous avons quatre options possibles ici : • Network Address Translation, qui est la valeur par défaut ; • Bridged ; • Host Only ; • Internal Network.

« Not attached » est aussi un type, mais utilisé dans le but de garder un adaptateur en place pour le débogage. Dans ce mode, VirtualBox avertit la VM qu'une carte réseau est présente, mais il n'y a pas de connexion.

Network Address Translation (NAT) NAT enables the guest machine to see out onto the Internet, but via a private IP address that cannot be seen from the host, or indeed, the rest of your physical network. It will allow you to browse the web, download files, and view e-mail inside the guest, but the outside world will never be able to communicate with the guest machine directly. When a guest machine sends an IP packet to some remote machine, the VirtualBox NAT service will intercept the packet, extract the TCP/IP segments, change the IP address to the IP address of the host machine, then send it. The outside world only sees the IP address of the host machine. Replies are received by the host machine and sent on to the Guest Machine.

Network Address Translation (NAT)

Le NAT permet à la machine invitée d'avoir l'accès à l'Internet, mais via une adresse IP privée qui ne peut pas être vue à partir de l'hôte ni, par ailleurs, par le reste de votre réseau physique. Il vous permettra de surfer sur le Web, télécharger des fichiers et de visualiser des mails à l'intérieur de la machine virtuelle, mais le monde extérieur ne sera jamais en mesure de communiquer avec cette machine directement.

Quand un ordinateur invité envoie un paquet IP à une machine distante, le service NAT de VirtualBox va intercepter le paquet, extraire les segments TCP/IP, changer l'adresse IP en l'adresse IP de la machine hôte, puis l'envoyer. Le monde extérieur ne voit que l'adresse IP de la machine hôte. Les réponses sont reçues par la machine hôte et envoyées à la machine virtuelle.

For example, on your home network, your host and other physical machines will typically have addresses starting in the 192.168.x.x range. In VirtualBox, NAT adapters will be begin at 10.0.2.1, incrementing addresses up to 10.0.2.24 in what's called a sub-net. This is not usually routed onto the main network, so this sub-net will be inaccessible from your host. Your guest is able to see out onto the Internet for software updates and web-surfing, but is invisible to the rest of your network. The VirtualBox manual is a little more explicit: “In NAT mode, the guest network interface is assigned to the IPv4 range 10.0.x.0/24 by default, where x corresponds to the instance of the NAT interface +2. So x is 2 when there is only one NAT instance active. In that case, the guest is assigned to the address 10.0.2.15, the gateway is set to 10.0.2.2 and the name server can be found at 10.0.2.3.” (Oracle Corporation, 2012, Chapter 9) NAT is useful when you don't really care what IP addresses your guest machines use, so long as they are unique. You will need to do more configuration when you need to forward traffic or expose services like a web-server to the outside world. Additionally, you cannot enable file and folder sharing over the network.

Par exemple, sur votre réseau domestique, votre hôte et d'autres machines physiques ont généralement des adresses commençant par 192.168.x.x. Dans VirtualBox, l'adaptateur NAT commencera à 10.0.2.1, incrémentant les adresses jusqu'à 10.0.2.24 dans ce qu'on appelle un sous-réseau. Celui-ci n'est généralement pas routé sur le réseau principal, donc ce sous-réseau sera inaccessible à partir de votre hôte. Votre machine virtuelle est en mesure d'aller sur l'Internet pour les mises à jour logicielles et le surf sur web, mais il est invisible du reste de votre réseau.

Le manuel de VirtualBox est un peu plus explicite :

« En mode NAT, l'interface réseau de l'invité est affectée à la plage IPv4 10.0.x.0/24 par défaut, où x correspond à l'instance de l'interface NAT + 2. Donc x est égal à 2 quand il n'y a qu'une seule instance NAT active. Dans ce cas, on donne au client l'adresse 10.0.2.15, la passerelle est définie à 10.0.2.2 et le serveur de nom peut être trouvé à 10.0.2.3. » (Oracle Corporation, 2012, Chapter 9.) Le NAT est utile lorsque vous n'avez pas vraiment besoin de savoir quelles adresses IP vos machines virtuelles utilisent, tant qu'elles sont uniques. Vous devrez faire plus de configuration lorsque vous aurez besoin de transférer du trafic ou de présenter des services comme un serveur web au monde extérieur. De plus, vous ne pouvez pas activer le partage de fichiers et de répertoires sur le réseau.

Bridged Adapter Under the Bridged Adapter, your virtual machines behave as any other computer on the network where the hosting system resides; the bridged adapter bridges the virtual and physical networks. The outside world can directly communicate with the guest machine. The Bridged Adapter connects through the host to your default network device that allocates IP addresses for your physical network. VirtualBox connects to one of your installed network cards and exchanges network packets directly; it bridges the virtual and physical networks. In normal use, it will try to get a standard 192.168.x.x IP address from your router, so that your virtual machine can look like a perfectly respectable physical device alongside all the other ironmongery on your network.

Adaptateur Bridged (ponté)

Avec l'adaptateur ponté, vos machines virtuelles se comportent comme n'importe quel autre ordinateur sur le réseau du système hôte ; l'adaptateur ponté relie les réseaux virtuels et physiques. Le monde extérieur peut communiquer directement avec la machine virtuelle.

L'adaptateur ponté se connecte via l'hôte à votre appareil réseau par défaut qui alloue les adresses IP à votre réseau physique. VirtualBox se connecte à l'une de vos cartes réseaux installées et échange des paquets réseaux directement ; il établit un pont entre les réseaux virtuels et physiques. En utilisation normale, il va essayer d'obtenir une adresse IP standard 192.168.x.x de votre routeur, de sorte que votre machine virtuelle puisse ressembler à un dispositif physique tout à fait honorable aux côtés de toutes les autres machines physiques sur votre réseau.

You may have more than one active network device available to your host; for example, my laptop has a wired ethernet port (called eth0) and a wireless card (called wlan0). The Name options allows you to choose which one you want to bridge with VirtualBox. In my case, I use the Wireless adapter wlan0, because that is connected to the router, while eth0 doesn't even have a cable. So my host connects as 192.168.0.2, allocated by the router. My bridged virtual machine pops up and requests its own IP address which the router allocates as 192.168.2.6, neither knowing nor caring that VirtualBox is handling the pass-through of traffic via the host. My virtual machine becomes just another device on the local network. If I count my host and three VM's under Bridged, then I have four machines visible on my physical network.

Vous pouvez avoir plus d'un périphérique réseau actif disponible sur votre hôte ; par exemple, mon ordinateur portable dispose d'un port Ethernet filaire (appelé eth0) et une carte sans fil (appelé wlan0). Les options Name vous permettent de choisir celle que vous voulez ponter avec VirtualBox.

Dans mon cas, j'utilise l'adaptateur sans fil wlan0, parce qu'il est connecté au routeur, tandis que eth0 ne dispose même pas d'un câble. Ainsi, mon hôte se connecte en tant que 192.168.0.2, attribué par le routeur. Ma machine virtuelle pontée apparaît et demande sa propre adresse IP au routeur qui lui alloue 192.168.2.6, ni sachant ni se préoccupant que VirtualBox gère le transfert du trafic par l'intermédiaire de l'hôte. Ma machine virtuelle devient tout simplement une autre machine sur le réseau local. Si je compte mon hôte et trois VM pontées, alors j'ai quatre machines visibles sur mon réseau physique.

Come here, there's more… NAT is useful because it protects our guest systems from the Internet at large, but in order to access them, we need to set up port forwarding to access the guests from the host (I have servers on some of my guests). Bridged Networking allows access, but the guests are exposed. If your network access device (be it a router, switch, or hard configuration by your ISP) will not allocate more than one IP address, you probably can't use Bridged networking. Host-only Adapter Under the Host-only adapter, virtual machines can communicate between each other and with the hosting system but not outside. The Host-only adapter uses its own dedicated network device, called vboxnet0, to set up a sub-net and allocates IP addresses to guest machines. The guest machines cannot communicate with the outside world, since they are not connected via a physical interface. Host-only provides restricted services, useful for creating private networks under a VirtualBox host for its guests.

Venez voir par ici, il y a plus…

Le NAT est utile parce qu'il protège nos systèmes invités de l'Internet dans son ensemble, mais pour y accéder, nous avons besoin de faire une redirection de port pour accéder aux machines virtuelles à partir de l'hôte (j'ai des serveurs sur certaines de mes machines virtuelles). Le pontage réseau en permet l'accès, mais les invitées sont exposées. Si votre périphérique d'accès au réseau (qu'il s'agisse d'un routeur, d'un commutateur ou de la configuration en dur par votre FAI) n'alloue pas plus d'une seule adresse IP, vous ne pourrez probablement pas utiliser le pontage réseau.

L'adaptateur Host-only

Avec l'adaptateur Host-only (seulement l'hôte), les machines virtuelles peuvent communiquer entre elles et avec le système hôte mais pas en dehors. L'adaptateur Host-only utilise son propre dispositif de réseau dédié, appelé vboxnet0, pour mettre en place un sous-réseau et allouer une IP aux machines virtuelles. Les machines virtuelles ne peuvent pas communiquer avec le monde extérieur, car elles ne sont pas connectées par l'intermédiaire d'une interface physique. Host-only fournit des services limités, utiles pour la création de réseaux privés sur un hôte VirtualBox pour ses machines invitées.

Unlike other virtualization products, the VirtualBox NAT adapter doesn't bridge the default network device on your hosts, so there is no direct network access to NAT-ed machines and no access to applications and data on the host itself. Let's look at an example. Typically your host has its own network address, the one it uses to access the Internet - commonly 192.168.0.101. Under Host-only, the host machine also becomes the VirtualBox router, with the default IP address of 192.168.56.1. The Host creates an internal local area network serving all the guest machines set-up for Host-only, visible to the rest of your network. The vboxnet0 adapter starts issuing IP addresses from 192.168.56.101 onward, but you can change the default IP address allocation, if you want.

Contrairement à d'autres produits de virtualisation, l'adaptateur NAT de VirtualBox ne ponte pas le périphérique réseau par défaut sur vos hôtes, il n'y a donc pas d'accès direct via le réseau aux machines NATées et pas d'accès aux applications et aux données sur l'hôte lui-même. Voyons un exemple.

Généralement, votre hôte a sa propre adresse réseau, celle qu'il utilise pour accéder à Internet - souvent 192.168.0.101. Avec Host-only, la machine hôte devient également le routeur VirtualBox, avec l'adresse IP par défaut de 192.168.56.1. L'hôte crée un réseau local interne desservant toutes les machines virtuelles paramétrées en Host-only, visible du reste de votre réseau. L'adaptateur vboxnet0 commence à allouer des adresses IP à partir de 192.168.56.101, mais vous pouvez modifier l'attribution des adresses IP par défaut, si vous voulez.

Similar to the Bridged adapter, Host-only uses different address ranges. You can easily allow guest machines to obtain addresses using the DCHP (dynamic allocation, which will likely be a different address per session) that VirtualBox provides. Additionally, the Host-only network for the host and guest does not have a gateway out to the Internet. It's used to just connect the host and the guest, much like a network switch. Therefore Host-only adapter does not provide guest machines with Internet access; vboxnet0 has no default gateway, so while the addition of vboxnet0 greatly simplifies networking between the Host and guests using it, you don't get external access or port forwarding, so you may still need a second NAT or Bridged adapter attached to your guest to achieve full access.

Comme l'adaptateur ponté, Host-only utilise des plages d'adresses différentes. Vous pouvez facilement permettre aux machines invitées d'obtenir des adresses en utilisant le DHCP (allocation dynamique, qui sera probablement une adresse différente par session) que VirtualBox fournit.

De plus, le réseau Host-only pour l'hôte et la machine virtuelle n'a pas de passerelle vers Internet. Il est seulement utilisé pour connecter l'hôte et le système hébergé, un peu comme un commutateur réseau. Ainsi l'adaptateur Host-only ne fournit pas de machines ayant l'accès à Internet ; vboxnet0 n'a aucune passerelle par défaut et, bien que l'ajout de vboxnet0 simplifie grandement la mise en réseau entre l'hôte et les machines virtuelles qui l'utilisent, vous n'obtenez pas l'accès externe ou la redirection de port, de sorte que vous puissiez encore avoir besoin d'un second NAT ou d'un adaptateur ponté attaché à votre invitée pour réaliser un accès complet.

Internal network If you want several guests machines to communicate with each other on one host, but with nothing else, then we can use this Internal network mode. Although you can use Bridged Networking for this, Internal Network is more secure. In Bridged networking, all the packets are sent/received from the physical network adapter in the Host machine, and the traffic can be tapped (say, by attaching a packet sniffer to the Host). The Internal network option creates, according to the VirtualBox manual, “a software-based network which is visible to selected virtual machines, but not to applications running on the host or to the outside world.” This provides a network containing the host and a set of virtual machines, but none of it goes through the host's physical network interface - it is entirely virtual, with VirtualBox acting as a network switch. What you get is a private LAN for your guest machines only, without any access to the external world, which makes it very secure. Possible uses might be running a top-secret development server and clients, conducting penetration testing or otherwise creating a secure Intranet for a team or organisation. It's an ideal way to lock down an environment against unauthorised software installs, downloads, uploads and Facebook-ing during work time. This is where you begin to see the different types of network setups come into their own, being fit for different purposes. Which brings me back to my start-point; creating a virtual server for Wordpress development and testing.

Réseau interne

Si vous voulez faire communiquer plusieurs machines virtuelles les unes avec les autres sur un seul hôte, mais avec rien d'autre, alors nous pouvons utiliser le mode réseau interne. Bien que vous puissiez utiliser un réseau ponté pour cela, le réseau interne est plus sûr. En mise en réseau pontée, tous les paquets sont envoyés de/reçus par la carte réseau physique de la machine hôte et le trafic peut être piraté (par exemple, en attachant un renifleur de paquets à cet hôte).

L'option réseau interne crée, selon le manuel de VirtualBox, « un réseau logiciel qui peut être vu par des machines virtuelles choisies, mais pas par des applications s'exécutant sur l'hôte ou le monde extérieur.» Cela implémente un réseau contenant l'hôte et un ensemble de machines virtuelles, mais rien de tout cela ne passe par l'interface réseau physique de l'hôte - c'est entièrement virtuel, VirtualBox agissant comme un commutateur de réseau. Ce que vous obtenez est un réseau local privé uniquement pour vos machines virtuelles, sans aucun accès au monde extérieur, ce qui le rend très sûr. Les utilisations possibles pourraient être de faire tourner un serveur de développement et ses clients pour un projet top-secret, d'effectuer des tests de pénétration ou alors de créer un Intranet sécurisé pour une équipe ou une organisation. C'est un moyen idéal de verrouiller un environnement contre les installations de logiciels non autorisés, les téléchargements, les téléversements et la connection à Facebook pendant le temps de travail.

C'est ici que vous commencez à voir que les différents types de configurations réseau s'épanouissent, étant destinés à des fins différentes. Ce qui me ramène à mon point de départ : la création d'un serveur virtuel pour le développement et les tests de WordPress.

Guest Access to the Internet First, I need my guest machine to be able to access the internet for installing updates, downloading packages, and the like. I need to access it from my host machine, but I don’t want the server to be accessible from anywhere else on the network. Selecting my guest machine from the VirtualBox Manager window, I then select Settings > Network. I begin by keeping the default networking NAT adapter. This allows the guest machine to access the Internet through my host’s connection. The guest isn't visible to anyone else on my network; I cannot access any guest resources from my host machine either, nor can any guest machines access each other.

Accès des machines virtuelles à l'Internet

Tout d'abord, j'ai besoin que ma machine virtuelle soit capable d'accéder à Internet pour les mises à jour, le téléchargement de paquets et ainsi de suite. J'ai besoin d'y accéder de ma machine hôte, mais je ne veux pas que le serveur soit accessible à partir de n'importe où ailleurs.

En choisissant ma machine virtuelle dans la fenêtre VirtualBox Manager, je clique ensuite sur Settings > Network.

Je commence par garder la valeur par défaut de l'adaptateur NAT. Cela permet à la machine hébergée d'accéder à Internet via la connexion de mon hôte. La machine virtuelle n'est visible à personne d'autre sur mon réseau ; je ne peux accéder à aucune des ressources de la machine virtuelle à partir de mon ordinateur hôte non plus et les machines virtuelles ne peuvent pas accéder les unes aux autres.

Configure Host-only Adapter in VirtualBox Manager The easy method is to use the default Host-only adapter provided by VirtualBox, this is the one named vboxnet0, but you can add more if you want several separate Host-only networks. If you go to the VirtualBox Manager main window and select File > Preferences > Network, you can configure vboxnet0 or add new adapters. Click on the “Edit” button for your Host-only network, that's the screwdriver icon titled “Edit host only network,” and you'll find the default settings. The IP address 192.168.56.1 is the address at which the guests can access the host. I'll leave this as-is. By default, vboxnet0 has a DHCP server set up to dynamically allocate IP addresses on a per session basis. I want my Wordpress virtual server to keep static IP addresses, so on the DHCP tab, I uncheck the “Enable Server” box for DHCP.

Configurer l'adaptateur Host-only dans VirtualBox Manager

La méthode simple est d'utiliser l'adaptateur par défaut de Host-only fourni par VirtualBox, c'est celui nommé vboxnet0, mais vous pouvez en ajouter d'autres si vous voulez plusieurs réseaux Host-only distincts. Si vous allez dans la fenêtre principale de VirtualBox Manager et sélectionnez File > Preferences > Network, vous pouvez configurer vboxnet0 ou ajouter de nouveaux adaptateurs.

Cliquez sur le bouton « Éditer » de votre réseau Host-only, c'est l'icône de tournevis intitulée « Edit host only network » et vous trouverez les paramètres par défaut. L'adresse IP 192.168.56.1 est l'adresse de l'hôte pour les invitées. Je vais laisser cela comme çà.

Par défaut, vboxnet0 dispose d'un serveur DHCP configuré pour allouer dynamiquement les adresses IP pour chaque session. Je veux que mon serveur virtuel Wordpress conserve des adresses IP statiques, donc sur l'onglet DHCP, je décoche la case « Activer serveur » (Enable server) pour le DHCP.

Add Host-only Adapter to Guest I'll add another network adapter to my guest machine, a Host-Only Adapter, that enables a self-contained, private, virtual network consisting solely of my host and any guests using host-only. Any of the member machines can access each other, but nothing outside it can get in. So on my Adapter 2 tab for my guest, I set the Attached to option to Host-only, and the name is the default vboxnet0. Promiscuous mode doesn't matter, but I do need the Cable Connected checkbox enabled.

Ajouter l'adaptateur Host-only aux machines virtuelles

Je vais ajouter une autre carte réseau à ma machine virtuelle, un adaptateur Host-Only, qui active un réseau privé virtuel, autonome, composé uniquement de mon hôte et des machines hébergées qui utilisent Host-Only. Toute les machines membres peuvent s'accéder mutuellement, mais rien du dehors ne peut entrer.

Donc sur l'onglet de l'adaptateur 2 de ma machine virtuelle, j'ai réglé l'option « Attached to » à Host-only et le nom est le vboxnet0 par défaut. Le mode Promiscuous n'a pas d'importance, mais j'ai vraiment besoin de cocher la case Cable Connected. Configure the Guest I need my guest's virtual server to have a static IP address on the host-only network, otherwise the address changes for every session and I have to work out what it is before I can access it from the host. Logging into the guest, I open a terminal and issue the following command: ifconfig eth1 192.168.56.101 netmask 255.255.255.0 up This sets the IP address on my host-only adapter for this guest, and brings up the network interface. It uses the 192 network prefix for domestic networks, followed by .168 for the start of the host ID, .56 as the host-only sub-net range, and I could use use any final identifier above .1 (my host) on my host-only network. The NAT adapter is sitting on eth0, so logically the Host-only adapter is bound to eth1. I can now secure shell (SSH) or browse to the guest from the host using this IP address as a test. However, this is just temporary; if I reboot, this configuration will disappear. To make it permanent, I need to add it to the /etc/network/interfaces file (as root) in the form:

Configurer le serveur virtuel

J'ai besoin que mon serveur virtuel ait une adresse IP statique sur le réseau Host-only, sinon l'adresse va changer à chaque session et je dois ensuite trouver ce qu'elle est avant de pouvoir y accéder à partir de l'hôte. En se connectant au serveur virtuel, j'ouvre un terminal et saisis la commande suivante :

ifconfig eth1 192.168.56.101 netmask 255.255.255.0 up

Ceci définit l'adresse IP sur mon adaptateur Host-Only pour cette machine virtuelle et active l'interface réseau. Il utilise le préfixe réseau 192 pour les réseaux domestiques, suivi de .168 pour le début de l'ID d'hôte, .56 comme numéro de sous-réseau host-only et je pourrais utiliser n'importe quel identifiant final au-delà de .1 (mon hôte) sur mon réseau Host-only. L'adaptateur NAT est positionné sur eth0, donc logiquement l'adaptateur Host-only est lié à eth1. Je peux maintenant me connecter en Secure Shell (SSH) ou accéder au serveur virtuel à partir de l'hôte en utilisant cette adresse IP comme un test. Toutefois, ce n'est que temporaire ; si je redémarre, cette configuration disparaîtra. Pour la rendre permanente, je dois l'ajouter au fichier /etc/network/interfaces (en tant que root) sous la forme:

# The host-only network interface auto eth1 iface eth1 inet static address 192.168.56.101 netmask 255.255.255.0 network 192.168.56.0 broadcast 192.168.56.255 Once I reboot, this interface will be raised automatically. I can check that it's present using the ifconfig command in a terminal on the guest.

# L'interface réseau Host-only auto eth1 iface eth1 inet static address 192.168.56.101 netmask 255.255.255.0 network 192.168.56.0 broadcast 192.168.56.255

Une fois que j'aurai redémarré, cette interface sera activée automatiquement. Je peux vérifier qu'elle est présente à l'aide de la commande ifconfig dans un terminal sur la machine virtuelle.

Naming of parts Since I'm not so good with numbers and IP addresses, I'd rather use the guest machine name over the IP address. To do this I can add an alias to the /etc/hosts file on my Host machine, so that I can browse by name to my running guest. I edit the file (as root) adding the line: 192.168.56.101 ocelotsvr If I add more guests to the host-only network, I can do the same so that I can address any of them, from any of them, by name.

Désignation des partenaires

Comme je ne suis pas bon avec les chiffres et les adresses IP, je préfère utiliser le nom de la machine virtuelle plutôt que l'adresse IP. Pour ce faire je peux ajouter un alias au fichier /etc/hosts sur ma machine hôte, de sorte que je puisse atteindre par son nom ma machine virtuelle active.

Je modifie le fichier (en tant que root) en ajoutant la ligne :

192.168.56.101 ocelotsvr

Si j'ajoute d'autres machines virtuelles sur le réseau Host-only, je peux faire la même chose pour pouvoir atteindre chacune d'entre elle, à partir de n'importe laquelle, par son nom.

Any Port in a Storm? The networking experts out there will have spotted an alternate route to accessing my virtual server. Using my default NAT adapter, I could run some extra configuration there to let me access my virtual server from the host - without using Host-only networking. I can set up port forwarding in VirtualBox, using the guest's Network Adapter settings panel. Going to the NAT adapter, the big button at the bottom is for Port forwarding. This opens a further configuration dialog box so I can set the port forwarding rules for this network adapter for this guest only. I need two rules; one to access the Apache web-server on my guest, the other to handle all the other TCP traffic (http requests, mostly).

Un Port dans la tempête ?

Les experts en réseaux auront repéré une autre route pour accéder à mon serveur virtuel.

Grâce à mon adaptateur NAT par défaut, je pourrais y faire une configuration supplémentaire pour me permettre d'accéder à mon serveur virtuel à partir de l'hôte, sans utiliser le réseau Host-only.

Je peux mettre en place la redirection de port dans VirtualBox, dans le panneau de paramétrage de l'adaptateur réseau de la machine virtuelle. Allez à l'adaptateur NAT et vous verrez que le gros bouton en bas est pour la Redirection de port. Cela ouvre encore une boîte de dialogue de configuration pour fixer les règles de redirection de port pour cet adaptateur réseau uniquement pour cette machine virtuelle.

J'ai besoin de deux règles : l'une pour accéder au serveur web Apache de ma machine virtuelle, l'autre pour gérer tout le reste du trafic TCP (requêtes http, principalement).

Keeping it simple, I'll name them Apache and TCP; and both use the TCP protocol. If I stick to the common port numbers, 8888 on the host forwarding to port 80 on the guest for Apache; then 2222 on the host forwarding to port 22 on the guest; this gives me specific access on the guest for those service requests. Anything else will be rejected by VirtualBox as there's no viable route. This also means any other guests I wish to run can't access this virtual server, as no network route exists under NAT.

Pour garder les choses simples, je vais les nommer Apache et TCP et les deux utilisent le protocole TCP. Si je respecte les numéros de port habituels, 8888 sur l'hôte transmettant au port 80 sur la virtuelle pour Apache ; puis 2222 sur l'hôte transmettant au port 22 sur l'invitée ; ceci me donne un accès spécifique sur la virtuelle pour les demandes de service. Tout le reste sera rejeté par VirtualBox, car il n'y a pas de route valable.

Cela signifie également que quelque autre machine virtuelle que je lancerai ne pourra accéder à ce serveur virtuel, car aucune route réseau n'existe par le NAT.

numero61/tuto_vbox_p._15-20.txt · Dernière modification : 2012/08/11 18:53 de andre_domenech