Bagaimana cara mengakses server web pada kotak virtual dari mesin host [ditutup]

29

Saya memiliki mesin windows Vista di mana VirtualBox menjalankan ubuntu.

Di ubuntu saya menjalankan server web di alamat http://127.0.0.1:3000/

Bagaimana cara mengakses alamat ini dari mesin host saya (kotak windows)?

Argh
sumber
Opsi paling sederhana adalah dengan menggunakan port Forwarding. Ini dapat dikonfigurasi di bawah Pengaturan-> Jaringan. Periksa tautan
sederhana
Jika Anda benar-benar mengkonfigurasi server web tamu Anda di 127.0.0.1 maka Anda tidak dapat mengaksesnya dari luar tamu. Localhost / 127.0.0.1 adalah adaptor loopback (dalam memori) dan bahkan tidak memerlukan kartu jaringan untuk diinstal agar berfungsi dengan baik. Jika Anda mengubah ip server web Anda menjadi sesuatu selain loopback, maka jawaban di bawah ini akan dapat membantu.
Mladen B.

Jawaban:

28

Anda dapat mengubah mode jaringan tamu dari NAT ke Bridged. Cukup tutup tamu Ubuntu Anda, pergi ke halaman Pengaturan di VirtualBox, pilih kategori Jaringan dan ubah kotak daftar Terlampir ke dari NAT ke Mode Bridged.

Edit:

Setelah mengikuti langkah-langkah di atas restart Ubuntu dan IP yang dialokasikan akan ditampilkan di layar pembuka setelah memuat. yaitu Dalam pesan selamat datang itu harus mengatakan sesuatu seperti:

Alamat IP untuk eth0: 192.168.1.3

Gunakan alamat ini di bilah browser dari mesin host diikuti oleh port yang Anda gunakan. Jika itu selain port 80. yaitu jika Anda mengaturnya untuk menggunakan port 666 maka alamatnya adalah 192.168.1.3:666

Cara lain untuk menemukan IP adalah menyambung ke server HTTP yang ada di router Anda dan mencari di pengaturan LAN. Setiap mesin di jaringan harus terdaftar dengan nama host dan IP. Di router saya, yang paling banyak saya miliki, Anda dapat melakukan ini dengan mengetik 192.168.1.1 di bilah alamat. jika itu gagal coba alamat yang sama di port 81. Jika itu gagal BACA MANUAL.

slm
sumber
Tetapi kemudian bagaimana Anda bisa mengetahui apa alamat IP itu? Thx
SSH
Itu akan bekerja tetapi pilihan host-only tidak memaparkan vm itu ke jaringan perusahaan
Carlos Garcia
2
Apakah saya satu-satunya di sini yang berpikir bahwa titik akhir tamu 127.0.0.1 hanya dapat dicapai dari dalam tamu (itu adalah titik localhost)? Seharusnya tidak ada cara untuk mengakses endpoint semacam itu dari apa pun di luar mesin tamu (karena ini adalah adaptor loopback, bahkan tidak memerlukan kartu jaringan yang terpasang).
Mladen B.
jika saya memasukkan 192.1681.3 ini sebagai IP untuk catatan A pada Godaddy itu tidak berfungsi, jelas itu mengharapkan alamat IP eksternal, jika saya katakan, masih tidak bekerja untuk beberapa alasan, saya ingin menguji nama domain secara lokal sebelum akan EC2
PirateApp
10

Tergantung bagaimana Anda mengatur jaringan pada OS tamu Ubuntu. Jika Anda mengaturnya untuk menggunakan NAT dan Anda memiliki server DHCP yang berjalan di jaringan Anda, maka jalankan saja ini:

ifconfig | grep inet

pada kotak Ubuntu - Anda akan melihat alamat IP yang ditetapkan untuk tamu Ubuntu.

Contoh:

#ifconfig | grep inet
  inet addr:10.0.0.2  Bcast:10.255.255.255  Mask:255.255.255.0
  inet addr:127.0.0.1  Mask:255.0.0.0

Kemudian tekan saja http://10.0.0.2:3000

fsckin
sumber
Nah dalam kasus saya alamat harus 10.0.2.15:3000/public dan secara default vista berjalan dalam mode DHCP .. (mesin ubuntu juga dikonfigurasi untuk menggunakan NAT) namun saya tidak mendapatkan respons :(
Argh
Hmmm baru menyadari bahwa saya tidak punya server DHCP - Saya menjalankan vista home ...
Argh
VirtualBox memiliki server DHCP sendiri yang menangani mesin virtual - jika tidak, mesin virtual tidak akan secara otomatis mendapatkan alamat IP tanpa mengaturnya secara statis. Saya pikir masalah Anda mungkin karena Anda tidak memiliki Apache mendengarkan pada semua antarmuka - hanya localhost (127.0.0.1). Pastikan bahwa di / etc / apache2 / sites-available / default the directive Listenive said
Cory Plastek
Ini mungkin penyebabnya.
fsckin
4

Kotak Windows Anda dan kotak Ubuntu (apakah itu fisik atau virtual tidak terlalu penting dalam hal ini) keduanya perlu memiliki alamat IP pada subnet yang sama sehingga mereka dapat berbicara satu sama lain melalui TCP / IP. Anda dapat menetapkan alamat tambahan untuk setiap OS menggunakan salah satu subnet IP pribadi (lihat RFC 1918 ). Setelah mereka berdua memiliki alamat pada subnet yang sama, konfigurasikan server web untuk mendengarkan yang Anda berikan pada Ubuntu, dan kemudian gunakan IP itu di browser dalam Windows untuk memuatnya.

IP yang telah Anda konfigurasikan sekarang, 127.0.0.1, adalah alamat loopback untuk antarmuka jaringan lokal. Anda tidak akan pernah menggunakan alamat itu untuk mengakses sesuatu pada sistem yang berbeda, hanya untuk merujuk kembali ke sistem yang sama dengan yang Anda gunakan. Saat menggunakan sistem virtual, perlakukan seperti halnya Anda menggunakan komputer terpisah dari sudut pandang jaringan.

Justin Scott
sumber
2

Untuk mengatasi masalah Anda, saya sarankan Anda menambahkan adapter jaringan baru dan mengkonfigurasinya sebagai adaptor Host-only .

Sekarang Anda menjalankan contoh kotak virtual dan kemudian apa fsckin menyarankan untuk melihat apa ip dari jaringan baru .

Dengan cara ini Anda memiliki subnet dengan komputer dan mesin virtual Anda.

fampinheiro
sumber
Jadi ... saya lakukan seperti yang Anda katakan meraih alamat IP saya. Saya kemudian mencoba mengakses server web (yang dapat saya akses di dalam tamu sebagai 127.0.0.1:3000 ) menggunakan IP yang dialokasikan: 3000 dan saya tidak mendapatkan respons. Namun saya bisa melakukan ping ip dari tuan rumah
Argh
Anda perlu membuka firewall pada port 3000.
fampinheiro
Hanya host saja tidak akan berfungsi di luar kotak: serverfault.com/questions/205477/...
givanse
0

Pertama-tama, Anda perlu melakukan apa yang Jawaban 1 katakan:

"Anda dapat mengubah mode jaringan tamu dari NAT ke Bridged. Tutup saja tamu Ubuntu Anda, buka halaman Pengaturan di VirtualBox, pilih kategori Jaringan dan ubah kotak daftar Terlampir ke dari NAT ke Mode Bridged."

Kemudian, untuk mendapatkan alamat ip Anda:

Di mesin virtual Anda, buka command prompt dan lakukan:

ip addr show

Anda mungkin akan melihat garis yang terlihat seperti ini:

inet 192.168.43.96/24 ....

Ada juga garis sebelum itu dengan

inet 127.0.0.1

Tetapi Anda tidak menginginkan yang itu! Anda ingin alamat 192. Itulah alamat mesin virtual Anda di jaringan lokal Anda. Ini harus dapat diakses oleh perangkat apa pun yang terhubung ke jaringan lokal yang sama.

Sekarang di mesin host Anda, edit file / etc / hosts (Tidak ~ / etc) Nama file tersebut adalah hosts (ini bukan nama folder)

tambahkan baris yang terlihat seperti ini:

192.168.43.96 myvm.nameofmywebsite.com

Sekarang buka browser mesin host Anda dan ketik myvm.nameofmywebsite.com

Semoga itu akan berhasil!

Namun, Anda mungkin memiliki router yang memiliki fitur keamanan yang akan menghalangi Anda melihat alamat lokal Anda. Yang dapat Anda coba lakukan adalah menggunakan hotspot ponsel Anda sebagai jaringan Anda. Itu bekerja untuk saya. Hanya ingat ketika Anda mengubah jaringan pada mesin host Anda bahwa Anda perlu me-restart kotak virtual Anda.

Andy Weinstein
sumber