J'ai installé le serveur Ubuntu dans une boîte virtuelle (11.04), puis j'ai configuré Apache.
À l'intérieur du réglage de la boîte virtuelle, j'ai effectué une redirection de port du port 80 (hôte) à 80 (invité), j'ouvre mon navigateur Web sur mon hôte et je vais à http: // localhost NE PAS FAIRE fonctionne, mais si je vais à http: // localhost: 108 , cela fonctionne, mais je n'ai pas fait de transfert de port de 1080 à 80, je n'ai pas de 1080 dans ma configuration, ce que je veux savoir c'est pourquoi il fait ça?
Je sais que le port 80 ne fonctionnera pas tant que je n'aurai pas lancé la virtualbox en tant que root, mais ce que je ne sais pas, c'est pourquoi cela transforme-t-il le port 80 à 1080 quand cela ne pourrait tout simplement pas fonctionner ... y a-t-il quelque chose dans la virtualbox qui voit quand ce n'est pas la racine et qui transforme l'adresse en dessous de 1024 en quelque chose d'autre?
Le le manuel de VirtualBox dit :
Transfert des ports hôtes <1024 impossible:
Sur les hôtes Unix (Linux, Solaris, Mac OS X, par exemple), il n’est pas possible de se connecter aux ports inférieurs à 1024 à partir d’applications non exécutées par root. Par conséquent, si vous essayez de configurer un tel transfert de port, le VM refusera de démarrer.
J'imagine que c'est la raison pour laquelle le port 80 a été correctement transféré lorsque l'hôte a été exécuté en tant qu'utilisateur root. Quoi qu'il en soit, je ne suis pas sûr de savoir pourquoi le port change automatiquement de 80 à 1080.
Il existe une section Nice expliquant la redirection de port avec NAT sur Virtualbox ici:
http://www.virtualbox.org/manual/ch06.html#natforward
Je ne suis pas sûr de savoir pourquoi vous voyez le comportement que vous êtes, pouvez-vous publier votre configuration?
L’autre solution (potentielle) consiste à utiliser un réseau ponté. Personnellement, je trouve que la mise en réseau pontée est plus facile à configurer. Si j’ai besoin d’un pare-feu, je le configure à partir de l’invité. Vous pouvez facilement limiter le port 80 à votre hôte ou votre réseau local avec ufw.
Sudo ufw enable
Sudo ufw default deny
# change "192.168.0.10" to your Host
Sudo ufw allow proto tcp from 192.168.0.10 to any port 22
# Or for you LAN
Sudo ufw allow proto tcp from 192.168.0.0/24 to any port 80
Vous pouvez remplacer "any" par votre adresse IP si vous le souhaitez.
Je suis capable de transférer les ports en exécutant VirtualBox en tant que root. Cette restriction n’est qu’un problème de système d’exploitation, pas vraiment quelque chose avec VirtualBox lui-même.
Ouvrez simplement VirtualBox avec Sudo
:
Sudo /path/to/VirtualBox
Ensuite, le système d’exploitation vous permettra d’utiliser des ports inférieurs à 1024, ce que vous devez bien entendu faire de manière responsable :)