Saya memiliki pengaturan server web VM dan saya telah menginstal dan memulai Apache. VM memiliki antarmuka jaringan yang dijembatani dan dapat di-ping dari host menggunakan 192.168.0.2.
Namun, jika saya mengetikkan alamat IP yang sama ke dalam browser di mesin host, saya berharap untuk melihat halaman default apache yang dihasilkan pada VM, tetapi sebaliknya, saya mendapatkan can't connect to 192.168.0.2
di browser mesin host.
Saya jelas telah melewatkan sesuatu. Adakah yang tahu apa yang saya lewatkan atau lakukan salah?
Output dari VM netstat -tnlp
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 950/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1026/master
tcp 0 0 :::22 :::* LISTEN 904/sshd
tcp 0 0 ::1:25 :::* LISTEN 980/master
Gambaran kasar tentang apa yang saya pikirkan akan terlihat seperti aktivitas / konektivitas jaringan.
virtualbox
oshirowanen
sumber
sumber
:::80
, maka Apache hanya mendengarkan koneksi IPv6. Sudahkah Anda mencoba memeriksaListen
arahan Anda ?-p
bendera untuknetstat
memverifikasi bahwa Anda benar-benar mendengarkan Apache pada port 80, dan bukan layanan lain. Bisakah kamu laricurl localhost
dari tamu? Apa yanggrep -C3 -rni Listen /etc/httpd/
ditunjukkan?Jawaban:
Masalah # 1 - tipe jaringan VM
Ada 3 mode jaringan:
Detail tentang pengaturannya
Kapan harus menggunakan masing-masing?
Masalah # 2 - pemblokiran firewall?
Bergantung pada distro mana yang Anda gunakan, firewall mungkin memblokir browser web Anda dari mengakses instance Apache Anda. Ini masuk akal mengingat Anda dapat melakukan ping sistem, tetapi tidak mengaksesnya melalui port 80, yang merupakan port tempat Apache mendengarkan.
untuk sementara menonaktifkannya
Pada CentOS Anda menggunakan perintah ini untuk menonaktifkannya.
periksa apakah Apache mendengarkan
Anda juga dapat mengonfirmasi bahwa ia mendengarkan di port ini.
konfirmasi firewall tidak aktif
Firewall dapat dipastikan terbuka lebar.
Jika ini menyelesaikan masalah Anda, maka Anda dapat secara permanen menambahkan aturan yang memungkinkan lalu lintas masuk melalui port TCP 80.
menambahkan aturan untuk port TCP 80
CATATAN: Ini akan membuat aturan tetap ada di antara reboot.
firewall menerima port TCP 80
Sistem yang memiliki port 80 terbuka akan terlihat seperti ini:
Masalah # 3 - Apache mendengarkan?
Dalam masalah di atas kita melihat bahwa Apache mendengarkan, tetapi kadang-kadang Apache tidak dikonfigurasi sehingga hanya mendengarkan pada 1 alamat IP, atau mendengarkan pada antarmuka jaringan yang berbeda. Perintah
netstat
ini dapat digunakan untuk memeriksa ulang ini serta meninjau file konfigurasi Apache.Ini menunjukkan bahwa Apache mendengarkan pada semua antarmuka (IP 0.0.0.0).
Saya tidak akan mengulangi apa jawaban @ Lekensteyn yang mencakup masalah khusus ini lebih detail di sini.
Referensi
sumber
it worked!
halaman apache./etc/init.d/httpd status
,, harus menampilkan running./sbin/service iptables save
,.Instalasi Apache Anda kemungkinan dikonfigurasi untuk mendengarkan di localhost saja. Anda dapat memverifikasi itu dengan menjalankan di tamu Anda:
Jika dikatakan
0.0.0.0:80
, ia mendengarkan semua antarmuka. Dalam kasus Anda, saya harapkan127.0.0.1:80
sebagai gantinya. Untuk mengatasi ini, edit konfigurasi Apache Anda (di suatu tempat di/etc/httpd/conf/
) dan ubah:untuk:
Anda juga dapat menggunakan
nmap
untuk memverifikasi layanan yang tersedia di mesin Anda. Seharusnya terlihat seperti:sumber
Pada CentOS 7, firewalld telah menggantikan iptables sebagai firewall default.
Saya harus menggunakan
untuk menjeda firewall untuk menguji koneksi dari host ke CentOS VM.
Lihat lebih lanjut di sini: /programming/24756240/how-can-i-use-iptables-on-centos-7
sumber