Sorun # 1 - VM ağ türleri
3 ağ modu vardır:
- NAT
- Yalnızca Ana Bilgisayar
- Köprülü
Kurulum hakkında ayrıntılar
Her biri ne zaman kullanılır?
- # 1 : Diğer sunucularda bulunan Facebook / web uygulamalarının geliştirilmesi için
- # 2 : Kendi uygulamanızı oluşturmak ve VirtualBox ana bilgisayarından test etmek istiyorsanız (yalnızca misafir VM değil)
- # 3 : Bir uygulama oluşturmak ve LAN'daki diğer sistemlerden test etmek istiyorsanız
Sorun # 2 - Güvenlik duvarı engelleme?
Hangi dağıtımı kullandığınıza bağlı olarak, güvenlik duvarı web tarayıcınızın Apache örneğinize erişmesini engelliyor olabilir. Sisteme ping atabildiğiniz göz önüne alındığında bu mantıklı olacaktır, ancak Apache'nin dinlediği bağlantı noktası olan 80 numaralı bağlantı noktasından erişemezsiniz.
geçici olarak devre dışı bırakma
CentOS'ta bu komutu devre dışı bırakmak için kullanırsınız.
$ /etc/init.d/iptables stop
Apache'nin dinlediğini kontrol et
Ayrıca bu bağlantı noktasını dinlediğini de doğrulayabilirsiniz.
$ netstat -antp | grep :80 | head -1 | column -t
tcp 0 0 :::80 :::* LISTEN 3790/httpd
güvenlik duvarının kapalı olduğunu onayla
Güvenlik duvarının tamamen açık olduğu doğrulanabilir.
$ 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
Bu sorununuzu çözerse, 80 numaralı TCP bağlantı noktası üzerinden trafiğe izin veren bir kural kalıcı olarak ekleyebilirsiniz.
TCP bağlantı noktası 80 için kural ekleme
$ /etc/init.d/iptables restart
$ iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ /etc/init.d/iptables save
NOT: Bu, kuralın yeniden başlatmalar arasında kalmasını sağlar.
güvenlik duvarı 80 numaralı TCP bağlantı noktasını kabul ediyor
Bağlantı noktası 80'in açık olduğu bir sistem şöyle görünür:
$ 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
Sayı # 3 - Apache dinliyor musunuz?
Yukarıdaki sayımızda Apache'nin dinlediğini gördük, ancak bazen yalnızca 1 IP adresini dinleyecek veya farklı bir ağ arayüzünde dinleyecek şekilde yanlış yapılandırılmış olduğunu gördük. Komut netstat
, bunu iki kez kontrol etmek ve Apache yapılandırma dosyalarını incelemek için kullanılabilir.
$ netstat -anpt | grep :80 | column -t
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1750/httpd
Bu, Apache'nin tüm arabirimleri dinlediğini gösterir (IP 0.0.0.0).
@ Lekensteyn'in bu konuyu daha ayrıntılı olarak ele alan cevabını tekrarlamayacağım .
Referanslar
:::80
, Apache yalnızca IPv6 bağlantılarını dinliyor.Listen
Direktiflerinizi kontrol etmeyi denediniz mi?