Problem nr 1 - Typy sieci maszyn wirtualnych
Istnieją 3 tryby sieci:
- NAT
- Tylko host
- Bridged
Szczegółowe informacje na temat ich konfigurowania
Kiedy używać każdego z nich?
- # 1 : Do tworzenia aplikacji Facebook / web, które znajdują się na innych serwerach
- # 2 : Jeśli chcesz zbudować własną aplikację i przetestować ją z hosta VirtualBox (nie tylko maszyny wirtualnej gościa)
- # 3 : Jeśli chcesz zbudować aplikację i przetestować ją z innych systemów w sieci LAN
Problem nr 2 - blokowanie zapory ogniowej?
W zależności od używanej dystrybucji zapora może blokować dostęp do przeglądarki Apache przez przeglądarkę internetową. Ma to sens, biorąc pod uwagę, że możesz pingować system, ale nie możesz uzyskać do niego dostępu przez port 80, który jest portem, na którym nasłuchuje Apache.
tymczasowo je wyłącza
W CentOS używasz tego polecenia, aby je wyłączyć.
$ /etc/init.d/iptables stop
sprawdź, czy Apache nasłuchuje
Możesz także potwierdzić, że nasłuchuje na tym porcie.
$ netstat -antp | grep :80 | head -1 | column -t
tcp 0 0 :::80 :::* LISTEN 3790/httpd
potwierdź, że zapora jest wyłączona
Zaporę ogniową można potwierdzić, że jest szeroko otwarta.
$ 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
Jeśli to rozwiąże problem, możesz na stałe dodać regułę zezwalającą na ruch przez port TCP 80.
dodanie reguły dla portu TCP 80
$ /etc/init.d/iptables restart
$ iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ /etc/init.d/iptables save
UWAGA: Dzięki temu reguła będzie się utrzymywać między restartami.
zapora akceptuje port TCP 80
System z otwartym portem 80 wyglądałby mniej więcej tak:
$ 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 - Słuchanie Apache?
W powyższym numerze widzieliśmy, że Apache nasłuchuje, ale czasami jest źle skonfigurowany, tak że nasłuchuje tylko na jednym adresie IP lub że nasłuchuje na innym interfejsie sieciowym. Polecenia netstat
można użyć do podwójnego sprawdzenia tego, a także do przeglądania plików konfiguracyjnych Apache.
$ netstat -anpt | grep :80 | column -t
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1750/httpd
To pokazuje, że Apache nasłuchuje na wszystkich interfejsach (IP 0.0.0.0).
Nie będę powtarzał odpowiedzi @ Lekensteyn , która omawia ten konkretny problem bardziej szczegółowo tutaj.
Bibliografia
:::80
, Apache nasłuchuje tylko połączeń IPv6. Próbowałeś już sprawdzić swojeListen
dyrektywy?