Problème n ° 1 - Types de réseaux VM
Il existe 3 modes de mise en réseau:
- NAT
- Hôte uniquement
- Ponté
Détails sur leur configuration
Quand utiliser chacun?
- # 1 : Pour le développement d'applications Facebook / Web qui se trouvent sur d'autres serveurs
- # 2 : Si vous souhaitez créer votre propre application et la tester à partir de l'hôte VirtualBox (et pas seulement de la machine virtuelle invitée)
- # 3 : Si vous souhaitez créer une application et la tester à partir d'autres systèmes sur LAN
Problème n ° 2 - blocage du pare-feu?
Selon la distribution que vous utilisez, le pare-feu peut empêcher votre navigateur Web d'accéder à votre instance Apache. Cela aurait du sens étant donné que vous pouvez envoyer une requête ping au système, mais pas y accéder via le port 80, qui est le port sur lequel Apache écoute.
le désactiver temporairement
Sur CentOS, vous utilisez cette commande pour la désactiver.
$ /etc/init.d/iptables stop
vérifier que l'écoute d'Apache
Vous pouvez également confirmer qu'il écoute sur ce port.
$ netstat -antp | grep :80 | head -1 | column -t
tcp 0 0 :::80 :::* LISTEN 3790/httpd
confirmer que le pare-feu est désactivé
Le pare-feu peut être confirmé qu'il est grand ouvert.
$ iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Si cela résout votre problème, vous pouvez ajouter de manière permanente une règle qui autorise le trafic via le port TCP 80.
ajout d'une règle pour le port TCP 80
$ /etc/init.d/iptables restart
$ iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ /etc/init.d/iptables save
REMARQUE: cela rendra la règle persistante entre les redémarrages.
le pare-feu accepte le port TCP 80
Un système qui a le port 80 ouvert ressemblerait à ceci:
$ iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:http
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:https
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:8834
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Issue # 3 - Apache écoute?
Dans le problème ci-dessus, nous avons vu qu'Apache écoutait, mais parfois il est mal configuré de sorte qu'il n'écoute que sur 1 adresse IP, ou qu'il écoute sur une interface réseau différente. La commande netstat
peut être utilisée pour revérifier cela ainsi que pour examiner les fichiers de configuration Apache.
$ netstat -anpt | grep :80 | column -t
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1750/httpd
Cela montre qu'Apache écoute sur toutes les interfaces (IP 0.0.0.0).
Je ne répéterai pas la réponse de @ Lekensteyn qui couvre cette question particulière plus en détail ici.
Les références
:::80
, alors Apache écoute uniquement les connexions IPv6. Avez-vous essayé de vérifier vosListen
directives?