Bagaimana saya bisa mengakses Apache (pada tamu VirtualBox) dari host?

142

Saya menginstal Apache pada VM Ubuntu. Ketika saya masuk ke tamu dan memuat Firefox saya bisa melihat bahwa Apache berfungsi dengan baik ketika saya browsing ke localhost.

Saya ingin mengakses halaman yang sama melalui host. Saya sudah mencoba menggunakan alamat IP tamu tetapi tidak ada yang muncul.

Idealnya saya ingin mengatur Windows 7 (host) saya untuk meminta http://guestserver.comserver Apache pada tamu. Bagaimana saya bisa melakukan ini?

urok93
sumber
Saya menemukan situs yang membantu saya menyelesaikannya. Jawaban di bawah ini benar tetapi tidak menunjukkan apa pun tentang membuat adaptor virtual di VM. Situs yang saya maksudkan adalah: christophermaier.name/2010/09/01/...
Sudhir Dhumal

Jawaban:

156

Jika Anda membutuhkan mesin lain di jaringan fisik Anda untuk dapat mencapai VM Anda (atau jika VM membutuhkan akses Internet), gunakan jaringan yang dijembatani. Jika tidak, tetap gunakan jaringan host-only.

  1. Hentikan VM Anda dan buka pengaturannya di VirtualBox (OSE) Manager
  2. Buka tab Jaringan
  3. Pilih mode jaringan sesuai pilihan Anda (bridged networking atau host-only) (dalam contoh di bawah ini, saya menggunakan host-only)

    Jika Anda ingin menggunakan jaringan yang dijembatani, Anda harus memilih adaptor jaringan yang tepat di Name . Untuk koneksi kabel, Anda akan memilih sesuatu yang bernama seperti eth0. Koneksi nirkabel biasanya dinamai wlan0(jumlahnya mungkin bervariasi)

  4. Simpan pengaturan
  5. Mulai VM Ubuntu
  6. Ketika naik, Anda dapat mengumpulkan alamat IP dengan menjalankan:

    ifconfig | grep addr
    

    Dalam output di bawah ini, 192.168.56.101adalah alamat IP yang dapat digunakan di sistem host Win7 Anda untuk mengakses VM Anda:

    eth0  Link encap:Ethernet  HWaddr 08:00:27:70:27:fe  
          inet addr:192.168.56.101  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe7b:25fe/64 Scope:Link
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
    
  7. Di sistem host windows Anda, edit C:\Windows\System32\drivers\etc\hostssebagai administrator dan tambahkan baris:

    192.168.56.101   guestserver.com
    

    Jika Anda memiliki sistem host Ubuntu, edit /etc/hostsmenggunakansudo nano /etc/hosts

  8. Keuntungan!
Lekensteyn
sumber
2
Ini berfungsi sempurna untuk jaringan khusus host dan sekarang saya dapat mengakses tamu dari browser host. Namun dengan koneksi yang dijembatani, yang saya inginkan, saya tidak memiliki akses ke internet dari tamu.
urok93
5
ipconfig bukan perintah di Linux, itu ifconfig. Apakah maksud Anda itu?
Maks
7
Pada windows 7/8 file host ada di sini: C: \ Windows \ System32 \ drivers \ etc \ hosts
Dalen
2
@begueradj Langkah-langkah di atas berlaku untuk jaringan yang dijembatani tetapi beberapa jaringan tidak mengizinkan / memberikan Anda beberapa alamat. Di uni saya, saya tidak bisa menggunakan jaringan yang dijembatani karena itu, dalam situasi itu saya akan menggunakan NAT dengan port forwarding saja.
Lekensteyn
1
Mengaktifkan dua adapter jaringan, satu NAT dan bridged, memungkinkan saya untuk melihat dan terlihat.
stenci
13

Dalam kasus saya, saya memiliki router yang menetapkan IP statis ke PC Host saya.

  1. Atur adaptor jaringan sebagai Jembatan:

    Pengaturan> Jaringan> Adaptor 1 ( Aktifkan Adaptor Jaringan )> Terlampir ke: ( Adaptor Jembatan )> OK

  2. Mulai Mesin Virtual> masuk

  3. Ubah IP VirtualMachine dari dinamis ke statis

    sudo nano / etc / network / interfaces

  4. Di bawah Antarmuka jaringan utama ubah kata dhcp menjadi statis dan masukkan IP statis baru Anda atau komentari baris dan tambahkan yang baru

:

#iface eth0 inet dhcp
iface eth0 inet static
        address 192.168.10.110
        netmask 255.255.255.0
        gateway 192.168.10.1
        network 192.168.10.0
        broadcast 192.168.10.255

Perhatikan router saya berfungsi di xxx.xxx. 10 .x dan milik Anda bisa di xxx.xxx. 0 .x atau xxx.xxx. 1 .x atau yang lain.

Setelah Anda melakukannya, Anda dapat memiliki koneksi internet di mesin host dan guest, dan ketik IP statis di browser web Anda untuk memeriksa server apache Anda.

Nuc134rB0t
sumber
Saya lupa mengatakan Anda harus memastikan / etc / hostname Anda telah dikonfigurasi dengan benar dengan cara ini: nameserver [your_isp_primary_dns] dan nameserver [your_isp_secondary_dns]
Nuc134rB0t
8

Alih-alih mencoba mengatur adaptor ke Bridged atau Host Only Network Adapter, Anda dapat mencoba Port forwarding di bawah Firewall / port lain, dengan port Anda tidak diatur ke koneksi tcp dan udp.

sp123
sumber
6

Jawaban yang diterima tidak berfungsi untuk saya (saya menginstal virutalbox di dalam ubuntu 12.04 LTS dan di dalam virtualbox saya menginstal server ubuntu 14.04 LTS). Saya baru saja menukar pengaturan jaringan untuk Adapter1 dan Adapter2 yaitu mengatur Adapter1 untuk "bridged networing" dan Adapter2 untuk "NAT" dan mulai bekerja.

Gaurav Pandey
sumber
Ini berguna, tetapi alihkan urutan adaptor sehingga tamu menggunakan NAT secara default dan dapat terhubung ke internet.
MadeOfAir
Ini sebenarnya bekerja untuk saya. Saya mencoba mengakses VM Windows dari dalam Host Mac.
benjaminz
1
Setelah berjam-jam membaca dan mencoba setiap solusi lain yang bisa saya temukan secara online, ide Anda ini bekerja seperti pesona. Terima kasih banyak telah menulisnya! Menggunakan Ubuntu 18.04 sebagai tuan rumah dan tamu.
John
5

Jika Anda hanya memerlukan port tertentu (Katakan jika Anda menjalankan aplikasi web seperti Jetty atau Tomcat) lakukan saja:

Pengaturan -> Jaringan -> Tetapkan salah satu adaptor sebagai NAT -> Tekan 'Port forwarding' -> Tetapkan port host dan guest yang relevan.

Setelah Anda menyimpan, Anda bisa saja pergi dari mesin lokal Anda ke localhost: hostport dan itu akan diarahkan ke port virtual box yang relevan dan Anda selesai.

StationaryTraveller
sumber
4

Jika Anda tidak dapat terhubung melalui ip, kemungkinan besar Anda tidak akan berhasil dengan nama dns pada instalasi apache default.

periksa pengaturan jaringan virtual host, saya selalu menempatkannya untuk dijembatani agar dapat diakses di seluruh jaringan.

PvdL
sumber
Saya mengaturnya untuk dijembatani, tetapi sekarang tamu tidak terhubung ke internet.
urok93
apakah Anda mendapatkan IP di OS pencarian? Saya biasanya mengatur beberapa NIC untuk mencocokkan semua NIC fisik saya. Bisakah Anda membuang ifconfig Anda dari pencarian dan host
PvdL
Ketika saya bekerja dengan nirkabel itu berfungsi tetapi dengan kabel tidak, berikut adalah beberapa screenshot menunjukkan konfigurasi saya: imageshack.us/photo/my-images/832/guestr.png imageshack.us/photo/my-images/846/virtualbox .png imageshack.us/photo/my-images/9/hostwin7.png
urok93
tolong bantu ini?
urok93
sepertinya komputer Anda terhubung langsung ke internet dan itu mungkin menjadi alasan mengapa klien Anda tidak mendapatkan IP (v4)
PvdL
3

Dalam mode bridged, jika host Anda menggunakan alamat IP statis, Anda harus secara manual mengkonfigurasi IP tamu Anda dalam kisaran yang sama dengan IP host. Jika tidak, tamu tidak akan dialokasikan secara otomatis dengan alamat IP yang valid. HTH.

platinor
sumber
2

Jawaban Lekensteyn benar. Tetapi jika Anda berada di lingkungan perusahaan, Anda mungkin harus menonaktifkan server proxy untuk alamat IP tamu Anda. Misalnya, jika Anda menggunakan Mozilla Firefox di mesin Host Anda dan Anda mencoba mengakses 192.168.56.101/ pada tamu, Anda perlu pergi ke Alat Firefox-> Opsi-> Tingkat Lanjut-> Jaringan-> Pengaturan dan gunakan "Tidak Proxy "atau" No Proxy For -> 192.168.56.101 ".

SpaceRook
sumber
2

Jika Anda perlu mengakses tamu yang mendapat IP berbeda karena menggunakan DHCP, saya sarankan mengakses melalui nama hostnya. Namun mengakses melalui nama host ketika host adalah Windows mungkin memerlukan alat tambahan.

Teks berikut disalin dari jawaban saya sendiri di superuser.com. :

Saya sarankan Anda menggunakan Multicast DNS untuk memperbaikinya.

Ubuntu menggunakan ini secara default melalui Avahi .

Tuan rumah Windows membutuhkan klien Avahi untuk dapat menemukan layanan Avahi lainnya. Jika host Anda sudah menggunakan beberapa perangkat lunak Apple, ini mungkin sudah ada melalui layanan yang disebut Bonjour. Namun, jika ini belum diinstal maka versi kecil Bonjour tersedia untuk diunduh di sini: Layanan Cetak Bonjour . Setelah instalasi Anda harus dapat mengakses tamu Anda melalui .local.

Catatan: Sistem mDNS tampaknya menggunakan postfix lokal. Secara default. Jadi, jika nama host Anda adalah "dev.myapp.com", maka nama host yang sebenarnya adalah "dev.myapp.com.local".

Spiralis
sumber