VirtualBox est une plate-forme de virtualisation largement utilisée pour créer et gérer les machines virtuelles. Bien qu'il s'agisse d'une plate-forme open source, certains composants de source fermée sont également inclus dans un pack d'extension différent. Il est gratuit pour une utilisation, mais vous pouvez acheter une licence d'entreprise Oracle VM VirtualBox Extension Pack si vous souhaitez l'utiliser à des fins commerciales et nécessiter un support officiel standard.
Lorsqu'une nouvelle machine virtuelle est créée dans VirtualBox, le mode de réseautage par défaut est défini sur NAT ou la traduction d'adresse réseau. Le mode NAT a ses propres avantages et limitations par rapport aux autres modes de réseautage. Essentiellement, NAT est plus sûr mais en même temps plus compliqué lorsqu'il s'agit de configurer la communication transversale avec d'autres machines virtuelles et le monde extérieur. Si vous souhaitez que la machine virtuelle obtienne à la fois la sécurité et l'accès à des services spécifiques en mode NAT, vous auriez besoin de l'aide de la transmission. De cette façon, la machine virtuelle restera isolée des autres mais accédera toujours aux services spécifiques.
Que couvrirons-nous?
Ce guide verra comment nous pouvons configurer le transfert de port dans VirtualBox en utilisant des méthodes graphiques et de ligne de commande. Nous utiliserons un Ubuntu 20.04 Machine virtuelle à cet effet. Pour vérifier si la configuration fonctionne, nous définirons le transfert de port sur notre machine virtuelle pour l'accès SSH du port 22 au port 9099 dans la méthode graphique et du port 22 au port 2222 dans la méthode de la ligne de commande. Passons à cette configuration sans plus tarder.
Prérequis
Présenter avec le transfert de port
Méthode 1. Transfert de port à l'aide d'une interface graphique VirtualBox
Étape 1. Dans le volet gauche de la fenêtre principale VirtualBox, sélectionnez la machine virtuelle dans la liste. Maintenant, cliquez avec le bouton droit sur le nom de la machine virtuelle et choisissez l'option «Paramètres» ou sélectionnez l'icône «Paramètres» dans le volet droit.
Étape 2. Dans la nouvelle fenêtre contextuelle, sélectionnez l'étiquette correspondant à 'réseau.'Maintenant, cliquez sur l'icône flèche jointe avec l'étiquette correspondant à l'option «avancée».
Étape 3. Cliquez sur le bouton «Transfert de port». Une nouvelle fenêtre contextuelle apparaîtra. Ici, utilisez l'icône '+' pour ajouter une nouvelle règle.
Étape 4. Dans les zones de texte correspondant à différentes étiquettes, remplissez les différents détails de la nouvelle règle. Nous avons utilisé le suivant:
Nom (nom du service): SSH
Protocole: TCP
IP d'hébergement: Adresse IP de la machine hôte
Port hôte: Port sur la machine hôte à laquelle la demande de l'invité sera transmise.
IP invité: Adresse IP de la machine invitée
Port invité: Port par défaut d'un service fonctionnant sur la machine invitée.
Dans ce guide, puisque nous utilisons le service «SSH» sur le protocole «TCP», le port invité aura 22 ans. Notre port hôte, comme déjà dit, est 9099. Nous quittons l'IP invité Blank pour obtenir automatiquement l'IP de VirtualBox. De la même manière, la colonne IP hôte est laissée vide car cela sera équivalent à 0.0.0.0; Cela signifie que toute machine qui a accès à votre hôte sur le port 9099 peut également accéder à SSH à votre VM invité.
Une fois que nous avons terminé les étapes ci-dessus, enregistrez ces paramètres en appuyant sur le bouton OK.
Tester la configuration
Avant d'essayer de SSH dans la machine virtuelle invitée, assurez-vous que le serveur OpenSSH est installé dessus. Si ce n'est pas le cas, vous pouvez l'installer en utilisant la commande:
$ sudo apt install openssh-server
Étape 1. Essayez de SSH la machine virtuelle invitée de l'hôte du port 9099. Pour cela, utilisez la commande:
$ sudo ssh -l 'nom d'utilisateur' 0.0.0.0 -p 9099
'nom d'utilisateur«est le nom de l'utilisateur sur la machine virtuelle invitée.
Méthode 2. Transfert de port à l'aide d'une interface de ligne de commande
Une autre façon de configurer le transfert de port consiste à utiliser Voxmanage de VirtualBox outil de ligne de commande. Ici, nous montrerons comment cela fonctionne:
Étape 1. Énumérez toutes les machines virtuelles de votre machine hôte avec la commande:
Vms VbboxManage VMS
D'après la figure ci-dessus, nous pouvons voir qu'il montre deux machines virtuelles: i) Fedora 34 ii) Ubuntu 20.04.
Étape 2. Utilisez maintenant le format ci-dessous pour effectuer un transfert de port Si la machine virtuelle est alimentée :
VBoxManage ControlVM «Nom VM» NATPF1 «Guestsh, TCP ,, 2222 ,, 22»
Si la machine virtuelle est arrêtée, utilisez:
VBoxManage ModifyVm «Nom VM» -NATPF1 «Guestsh, TCP ,, 2222 ,, 22»
Maintenant, essayez de vous connecter avec votre commande:
sudo ssh -l 'username'0.0.0.0 -p 2222
Ici, «Nom VM» est le nom de la machine virtuelle que nous avons obtenue à l'étape ci-dessus. `` Nom d'utilisateur '' est le nom de l'utilisateur sur la machine virtuelle invitée.
Conclusion
VirtualBox est un bon choix pour le développement et les tests car il peut vous aider à économiser du temps et de l'argent. La commande vboxmanage est pratique car nous pouvons contrôler (démarrer, arrêter, suspendre) les machines virtuelles de la ligne de commande. Ceci est particulièrement utile lorsque l'accès graphique au serveur VM n'est pas disponible au centre de données. Ce guide est testé sur Ubuntu 20.04, mais cela devrait fonctionner sur n'importe quelle machine qui prend en charge l'accès SSH.