Làm cách nào để truy cập máy chủ Ubuntu chạy trong VirtualBox từ bên ngoài


44

Tôi đã cài đặt Ubuntu Server 12.04 LTS trên máy tính xách tay của mình thông qua VirtualBox. Tôi đã cài đặt LAMP, OpenSSH, máy chủ Mail.

Khi tôi đăng nhập, tôi chạy ifconfig. Nó cho tôi địa chỉ inet là 192.168.0.3.

Vì vậy, đây sẽ là địa chỉ mà tôi có thể truy cập máy chủ phải không? Nhưng tôi không thể truy cập nó thông qua trình duyệt .. máy chủ luôn hoạt động trên VirtualBox - nhưng vẫn không hoạt động trên các trình duyệt khác hoặc điện thoại di động của tôi. Tôi phải làm gì để công chúng tiếp cận được?

Câu trả lời:


58

Theo mặc định, một máy khách trong VirtualBox được cấu hình để sử dụng cái gọi là mạng NAT - IP của bộ điều hợp mạng của khách nằm trong một mạng con "ảo" bao gồm ứng dụng khách và ứng dụng VirtualBox chính hoạt động như một cổng. Đối với khách, có vẻ như nó truy cập internet thông qua một cái gì đó giống như modem DSL thông thường, nhưng khách không thể truy cập từ bất cứ đâu, giống như bạn không thể truy cập các máy trong mạng cục bộ của mình từ Internet mà không cần cấu hình cụ thể modem của mình để cho phép như vậy truy cập.

Tài liệu VirtualBox có danh sách các chế độ mạng sau đây:

Mỗi trong số tám bộ điều hợp mạng có thể được cấu hình riêng biệt để hoạt động ở một trong các chế độ sau:

Không được đính kèm

Trong chế độ này, VirtualBox báo cáo với khách rằng có thẻ mạng, nhưng không có kết nối - như thể không có cáp Ethernet nào được cắm vào thẻ. Bằng cách này, có thể "kéo" cáp Ethernet ảo và ngắt kết nối, điều này có thể hữu ích để thông báo cho hệ điều hành khách rằng không có kết nối mạng nào khả dụng và thực hiện cấu hình lại.

Dịch địa chỉ mạng (NAT)

Nếu tất cả những gì bạn muốn là duyệt Web, tải xuống các tệp và xem e-mail bên trong khách, thì chế độ mặc định này sẽ đủ cho bạn và bạn có thể bỏ qua phần còn lại của phần này một cách an toàn. Xin lưu ý rằng có một số hạn chế nhất định khi sử dụng chia sẻ tệp Windows (xem phần được gọi là giới hạn NAT NAT để biết chi tiết).

Kết nối mạng

Điều này dành cho các nhu cầu mạng tiên tiến hơn như mô phỏng mạng và máy chủ đang chạy trong một khách. Khi được bật, VirtualBox kết nối với một trong các card mạng đã cài đặt của bạn và trao đổi trực tiếp các gói mạng, phá vỡ ngăn xếp mạng của hệ điều hành máy chủ của bạn.

Mạng nội bộ

Điều này có thể được sử dụng để tạo ra một loại mạng dựa trên phần mềm khác có thể nhìn thấy đối với các máy ảo được chọn, nhưng không phải cho các ứng dụng chạy trên máy chủ hoặc với thế giới bên ngoài.

Mạng chỉ lưu trữ

Điều này có thể được sử dụng để tạo một mạng chứa máy chủ và một bộ máy ảo mà không cần giao diện mạng vật lý của máy chủ. Thay vào đó, giao diện mạng ảo (tương tự giao diện loopback) được tạo trên máy chủ, cung cấp kết nối giữa các máy ảo và máy chủ.

Mạng chung

Các chế độ được sử dụng hiếm khi chia sẻ cùng một giao diện mạng chung, bằng cách cho phép người dùng chọn trình điều khiển có thể đi kèm với VirtualBox hoặc được phân phối trong gói mở rộng.

Nếu bạn cần truy cập khách của mình từ bên ngoài, bạn cần định cấu hình mạng cầu nối, mạng này sẽ cung cấp cho khách của bạn IP riêng trong mạng cục bộ của bạn. Cấu hình được thực hiện trong cài đặt VirtualBox, không phải trong hệ điều hành khách.

Để có thể truy cập máy chủ từ điện thoại di động của bạn (tức là từ bên ngoài mạng LAN của bạn), sau khi định cấu hình mạng, bạn cũng cần phải thiết lập chuyển tiếp cổng trên modem DSL của mình.


3
+1 để đề cập đến cấu hình NAT mặc định và đề xuất bắc cầu.
Đánh dấu Mikofski

+1 để dạy tôi điều gì đó mới mẻ, hữu ích và phù hợp với hoàn cảnh của tôi. Cảm ơn!
heypaleblue

Cảm ơn bạn đã trả lời, nhưng, tôi không cần phải cài đặt DNS trên máy chủ của mình theo thứ tự để làm cho nó có thể truy cập được qua internet?
Trò chuyện

@Chins: Không, bạn chắc chắn không cần cài đặt DNS trên máy chủ của mình. Mọi thứ chúng ta đã thảo luận cho đến nay không liên quan đến DNS.
Serge

1
@Sergey - Tôi đã cấu hình vm của mình với Bridged Adaptor. Địa chỉ IP được hiển thị khi thực hiện ifconfig là 10.210.xx nhưng tôi vẫn không thể đặt vm của mình từ máy chủ. Điều gì có thể sai?
Andy Dufresne

9

Để cung cấp thêm một chút thông tin, đây là các bước thực tế cần thiết để thiết lập mạng cầu nối:

Để bật kết nối mạng cầu nối, tất cả những gì bạn cần làm là mở hộp thoại Cài đặt của máy ảo, truy cập trang "Mạng" và chọn "Mạng cầu nối" trong danh sách thả xuống cho trường "Đã đính kèm". Cuối cùng, chọn giao diện máy chủ mong muốn từ danh sách ở cuối trang, chứa giao diện mạng vật lý của hệ thống của bạn. Ví dụ, trên MacBook thông thường, điều này sẽ cho phép bạn chọn giữa "en1: AirPort" (là giao diện không dây) và "en0: Ethernet", đại diện cho giao diện bằng cáp mạng.

Nguồn

Sau đó tôi khởi động lại máy ảo và có thể kết nối với bên ngoài.


Hãy ghi nhớ, trên Mac os 10.1.11 ít nhất, ví dụ, nó không được phép nối adapter wifi trực tiếp, nhưng đầu tiên phải tạo một 'bộ chuyển đổi cây cầu' trong các thiết lập mạng
twicejr

1
nhưng làm thế nào để những thứ như địa chỉ IP tĩnh hoạt động ở chế độ bắc cầu? Là tất cả mọi thứ trên cùng một kết nối sau đó? Một máy chủ web trên VM sẽ ở localhost thay vì một số địa chỉ IP? Các cổng được chuyển tiếp 1: 1? Vậy nếu Tomcat có trên VM tại localhost: 8080 thì máy chủ có chỉ cần gõ localhost: 8080 vào trình duyệt của nó để xem VM không?
anon58192932
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.