Bagaimana cara mengakses server Ubuntu yang berjalan di VirtualBox dari luar

44

Saya telah menginstal Ubuntu Server 12.04 LTS di laptop saya melalui VirtualBox. Saya telah menginstal LAMP, OpenSSH, Server mail.

Ketika saya login, saya berlari ifconfig. Itu memberi saya alamat inet sebagai 192.168.0.3.

Jadi, ini harus menjadi alamat di mana saya harus dapat mengakses server, bukan? Tetapi saya tidak dapat mengaksesnya melalui browser .. server selalu menyala di VirtualBox - tetapi tetap saja, ini tidak berfungsi pada browser lain, atau ponsel saya. Apa yang harus saya lakukan agar dapat diakses oleh publik?

Dagu
sumber

Jawaban:

58

Secara default mesin tamu di VirtualBox dikonfigurasi untuk menggunakan apa yang disebut jaringan NAT - IP adapter jaringan tamu berada dalam subnet "virtual" yang mencakup tamu dan aplikasi orangtua VirtualBox yang bertindak sebagai gateway. Untuk tamu sepertinya mengakses internet melalui sesuatu seperti modem DSL biasa, tetapi tamu tidak dapat diakses dari mana saja, sama seperti Anda tidak dapat mengakses mesin di jaringan lokal Anda dari internet tanpa secara khusus mengkonfigurasi modem Anda untuk memungkinkan mengakses.

Dokumentasi VirtualBox memiliki daftar mode jaringan berikut:

Masing-masing dari delapan adapter jaringan dapat dikonfigurasikan secara terpisah untuk beroperasi dalam salah satu mode berikut:

Tidak terpasang

Dalam mode ini, VirtualBox melaporkan kepada tamu bahwa ada kartu jaringan, tetapi tidak ada koneksi - seolah-olah tidak ada kabel Ethernet yang dicolokkan ke kartu. Dengan cara ini dimungkinkan untuk "menarik" kabel Ethernet virtual dan mengganggu koneksi, yang dapat berguna untuk menginformasikan sistem operasi tamu bahwa tidak ada koneksi jaringan yang tersedia dan menegakkan konfigurasi ulang.

Terjemahan Alamat Jaringan (NAT)

Jika yang Anda inginkan adalah menjelajahi Web, mengunduh file, dan melihat email di dalam tamu, maka mode default ini sudah cukup bagi Anda, dan Anda dapat melewati bagian ini dengan aman. Harap dicatat bahwa ada batasan tertentu saat menggunakan berbagi file Windows (lihat bagian yang disebut "pembatasan NAT" untuk detail).

Jaringan yang dijembatani

Ini untuk kebutuhan jaringan yang lebih maju seperti simulasi jaringan dan menjalankan server di tamu. Saat diaktifkan, VirtualBox menyambungkan ke salah satu kartu jaringan Anda yang terinstal dan bertukar paket jaringan secara langsung, menghindari tumpukan jaringan sistem operasi host Anda.

Jaringan internal

Ini dapat digunakan untuk membuat berbagai jenis jaringan berbasis perangkat lunak yang dapat dilihat oleh mesin virtual terpilih, tetapi tidak untuk aplikasi yang berjalan di host atau ke dunia luar.

Jaringan khusus host

Ini dapat digunakan untuk membuat jaringan yang berisi host dan satu set mesin virtual, tanpa perlu antarmuka jaringan fisik host. Sebagai gantinya, antarmuka jaringan virtual (mirip dengan antarmuka loopback) dibuat pada host, menyediakan konektivitas antara mesin virtual dan host.

Jaringan generik

Mode yang jarang digunakan berbagi antarmuka jaringan generik yang sama, dengan memungkinkan pengguna untuk memilih driver yang dapat disertakan dengan VirtualBox atau didistribusikan dalam paket ekstensi.

Jika Anda perlu mengakses tamu Anda dari luar, Anda perlu mengkonfigurasi jaringan yang dijembatani, yang akan memberi tamu Anda IP sendiri di jaringan lokal Anda. Konfigurasi dilakukan dalam pengaturan VirtualBox, bukan di OS tamu.

Untuk dapat mengakses server dari ponsel Anda (yaitu dari luar LAN Anda), setelah mengkonfigurasi jaringan Anda juga perlu mengatur port forwarding pada modem DSL Anda.

Sergey
sumber
3
+1 untuk menyebutkan konfigurasi NAT default dan menyarankan dijembatani.
Mark Mikofski
+1 untuk mengajari saya sesuatu yang baru, bermanfaat, dan relevan dengan situasi saya. Terima kasih!
heypaleblue
Terima kasih atas jawabannya, tetapi, bukankah saya harus menginstal DNS di server saya agar dapat diakses oleh orang lain melalui internet?
Chins
@ Chins: Tidak, Anda tidak perlu menginstal DNS di server Anda. Semua yang kami diskusikan sejauh ini tidak melibatkan DNS sama sekali.
Sergey
1
@Sergey - Saya mengkonfigurasi vm saya dengan Bridged Adapter. Alamat ip yang ditampilkan pada mengeksekusi ifconfig adalah 10.210.xx tetapi saya masih tidak dapat memasukkan vm dari mesin host. Apa yang salah?
Andy Dufresne
9

Untuk memberikan sedikit informasi lebih lanjut, ini adalah langkah aktual yang harus diambil untuk menyiapkan jaringan yang dijembatani:

Untuk mengaktifkan jejaring penghubung, yang perlu Anda lakukan adalah membuka dialog Pengaturan mesin virtual, buka halaman "Jaringan" dan pilih "Jaringan penghubung" di daftar turun bawah untuk bidang "Terlampir ke". Terakhir, pilih antarmuka host yang diinginkan dari daftar di bagian bawah halaman, yang berisi antarmuka jaringan fisik sistem Anda. Pada MacBook biasa, misalnya, ini memungkinkan Anda untuk memilih antara "en1: AirPort" (yang merupakan antarmuka nirkabel) dan "en0: Ethernet", yang mewakili antarmuka dengan kabel jaringan.

Sumber

Saya kemudian me-restart mesin virtual dan dapat terhubung secara eksternal.

mnd
sumber
Ingat, pada Mac os 10.1.11 setidaknya, misalnya, tidak diperbolehkan menjembatani adaptor wifi secara langsung, tetapi pertama-tama seseorang harus membuat 'jembatan adaptor' dalam pengaturan jaringan
dua kali
1
tetapi bagaimana hal-hal seperti alamat IP statis berfungsi dalam mode bridged? Apakah semuanya pada koneksi yang sama? Apakah server web pada VM berada di localhost alih-alih beberapa alamat IP? Apakah port diteruskan 1: 1? Jadi jika Tomcat ada di VM di localhost: 8080 apakah mesin host cukup ketik localhost: 8080 di browser-nya untuk melihat VM?
anon58192932