Problem Nr. 1 - VM-Netzwerktypen
Es gibt 3 Arten der Vernetzung:
- NAT
- Nur Host
- Überbrückt
Details zum Einrichten
Wann soll jeder verwendet werden?
- # 1 : Für die Entwicklung von Facebook / Web Apps, die sich auf anderen Servern befinden
- # 2 : Wenn Sie Ihre eigene App erstellen und vom VirtualBox-Host (nicht nur von der Gast-VM) aus testen möchten
- # 3 : Wenn Sie eine App erstellen und von anderen Systemen im LAN aus testen möchten
Problem Nr. 2 - Firewall-Blockierung?
Abhängig davon, welche Distribution Sie verwenden, blockiert die Firewall möglicherweise Ihren Webbrowser für den Zugriff auf Ihre Apache-Instanz. Dies ist sinnvoll, wenn Sie das System anpingen können, aber nicht über Port 80, den Apache abhört, darauf zugreifen können.
vorübergehend deaktivieren
Unter CentOS können Sie diesen Befehl zum Deaktivieren verwenden.
$ /etc/init.d/iptables stop
Überprüfen Sie, ob Apache zuhört
Sie können auch bestätigen, dass dieser Port abgehört wird.
$ netstat -antp | grep :80 | head -1 | column -t
tcp 0 0 :::80 :::* LISTEN 3790/httpd
Bestätigen Sie, dass die Firewall deaktiviert ist
Die Firewall kann als weit geöffnet bestätigt werden.
$ 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
Wenn dies Ihr Problem löst, können Sie dauerhaft eine Regel hinzufügen, die Datenverkehr über TCP-Port 80 zulässt.
Hinzufügen einer Regel für TCP-Port 80
$ /etc/init.d/iptables restart
$ iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ /etc/init.d/iptables save
ANMERKUNG: Dadurch bleibt die Regel zwischen Neustarts bestehen.
Firewall akzeptiert TCP-Port 80
Ein System mit offenem Port 80 würde ungefähr so aussehen:
$ 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
Problem Nr. 3 - Apache hört zu?
In der obigen Ausgabe haben wir gesehen, dass Apache empfangsbereit war, aber manchmal ist es falsch konfiguriert, sodass es nur auf 1 IP-Adresse empfangsbereit ist oder auf einer anderen Netzwerkschnittstelle empfangsbereit ist. Mit dem Befehl netstat
können Sie dies überprüfen und die Apache-Konfigurationsdateien überprüfen.
$ netstat -anpt | grep :80 | column -t
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1750/httpd
Dies zeigt, dass Apache alle Schnittstellen überwacht (IP 0.0.0.0).
Ich werde die Antwort von @ Lekensteyn , die dieses spezielle Problem behandelt, hier nicht wiederholen .
Verweise
:::80
, wartet Apache nur auf IPv6-Verbindungen. Haben Sie versucht, IhreListen
Anweisungen zu überprüfen ?