Communication réseau Hôte -> Invité
Connectez-vous à l'Invité et trouvez l'adresse IP :
ifconfig
exemple de résultat (l'adresse IP est 10.0.2.15) :
eth0 Link encap:Ethernet HWaddr 08:00:27:AE:36:99
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
Allez à la fenêtre de l'instance Vbox -> Menu -> Adaptateurs réseau :
- l'adaptateur doit être NAT
- cliquez sur "redirection de port"
- insérez un nouvel enregistrement (+ icône)
- pour l'adresse IP hôte, saisissez 127.0.0.1, et pour l'adresse IP de l'invité que vous avez obtenu à l'étape précédente (dans mon cas c'est 10.0.2.15)
- dans votre cas, le port est 8000 - mettez-le sur les deux, mais vous pouvez modifier le port hôte si vous le préférez
Allez sur le système hôte et essayez-le dans le navigateur :
http://127.0.0.1:8000
ou votre adresse IP réseau (trouvez-la sur la machine hôte en exécutant : ipconfig).
Communication réseau Invité -> Hôte
Dans ce cas, la redirection de port n'est pas nécessaire, la communication se fait via le réseau local jusqu'à l'hôte.
Sur la machine hôte - trouvez votre adresse IP réseau :
ipconfig
exemple de résultat :
Adresse IP. . . . . . . . . . . . : 192.168.5.1
Sur la machine invité, vous pouvez communiquer directement avec l'hôte, par exemple vérifiez-le avec un ping :
# ping 192.168.5.1
PING 192.168.5.1 (192.168.5.1) 56(84) octets de données.
64 octets de 192.168.5.1: icmp_seq=1 ttl=128 temps=2.30 ms
...
Problèmes de pare-feu ?
@Stranger a suggéré que dans certains cas, il serait nécessaire d'ouvrir le port utilisé (8000 ou tout autre) dans le pare-feu comme ceci (exemple pour le pare-feu ufw, je n'ai pas testé) :
sudo ufw allow 8000
1 votes
J'avais le même problème. Il s'est avéré que le système d'exploitation invité avait un pare-feu actif qui bloquait le port 80.
164 votes
En tant que développeur web qui utilise VirtualBox dans le cadre de mon flux de travail quotidien, je ne suis pas d'accord avec le fait que cela soit marqué comme hors sujet. Veuillez envisager de le rouvrir.
1 votes
1. Aller à la VM 2. ifconfig (obtenir l'IP locale - devrait être 10.0.2.X) 3. ssh 10.0.2.2 pour accéder à la machine hôte
0 votes
@deeperDATA Il se peut que cela fasse partie du travail d'un développeur web, mais stack overflow n'est pas censé englober tous les aspects du travail. C'est un témoignage de la complexité de notre profession que ses exigences couvrent plusieurs sites d'échange de stack.
1 votes
Il m'a fallu beaucoup de temps pour le faire fonctionner. Notre problème était la liaison IP de l'application dans le système invité, elle était liée au nom de la machine, signifiant 127.0.1.1 dans Ubuntu. Nous avons changé la liaison en 0.0.0.0. Paramètres de redirection de port : IP de l'hôte = IP de l'hôte DNS ; Port de l'hôte = 8080 ; IP de l'invité = IP de l'eth0 ; Port de l'invité = 8080.