Hệ điều hành khách VirtualBox truy cập máy chủ cục bộ trên hệ điều hành máy chủ


107

Trên máy chủ Ubuntu của tôi, tôi có máy chủ web cục bộ của mình. Tôi đã cài đặt VirtualBox và Debian với tư cách là khách.

Tôi muốn khách Debian có thể truy cập máy chủ web của tôi đang chạy trên máy chủ Ubuntu của tôi (ví dụ: tôi chỉ cần nhập http://localhost:8080/vào trình duyệt trong Debian).

Điều này có thể giải quyết như thế nào?

Câu trả lời:


176

Kích hoạt MỘT bộ điều hợp mạng. Đặt nó thành NAT và khởi động máy của bạn. Không cần cấu hình bất cứ điều gì.

Trên trình duyệt của máy khách, hãy nhập http://10.0.2.2 , phần này sẽ hiển thị cho bạn cùng một nội dung với "localhost" trong hệ điều hành máy chủ.

10.0.2.2 là "cổng mặc định" cho các kết nối NAT và IP của hệ điều hành khách của bạn là 10.0.2.15

Tất nhiên, bạn có thể đặt "CHỈ HOST" hoặc "Mạng nội bộ" sẽ cho phép bạn định cấu hình nâng cao khác. Tôi khuyên bạn nên ở lại với NAT.

Thưởng thức

M ..


1
"Kích hoạt MỘT bộ điều hợp mạng". Điều này được thực hiện ở đâu?
jshen

1
Lưu ý: Nếu bạn có các máy chủ ảo dựa trên tên được định cấu hình trong apache trên máy chủ của mình, thì bạn có thể truy cập chúng bằng cách tạo ánh xạ trong tệp máy chủ của máy khách cho10.0.2.2 yourvirtualhostname.local (or whatever)
Người dùng

@ Người dùng có chắc chắn rằng bình luận cuối cùng của bạn sẽ hoạt động? Tôi có một máy chủ ảo trên máy chủ VB của mình được đặt http://example.devvà ánh xạ 10.0.2.2tới bất cứ thứ gì trên máy khách VB của tôi không giúp truy cập nó.
Ứng dụng này vào

1
@ Tôi không làm việc. Ví dụ, xem: askubfox.com/questions/36183/ , tuy nhiên, có lẽ bạn nên mở một câu hỏi riêng để giải quyết vấn đề này.
Người dùng

1
"Bật MỘT bộ điều hợp mạng" có nghĩa là trong cài đặt mạng của máy ảo của bạn (trong VirtualBox) chỉ cho phép một trong các bộ điều hợp. Làm tôi hơi bối rối khi lần đầu tiên đọc nó.
Marquez

5

Ngoài ra, một điểm cần thực hiện khi sử dụng địa chỉ IP của 10.0.2.2 là nếu bạn đang sử dụng MAMP chẳng hạn, hãy thêm số cổng: 8888 để địa chỉ đầy đủ đọc http://10.0.2.2:8888


3

Cách dễ nhất để cho phép truy cập không bị gián đoạn vào máy VirtualBox Guest của bạn là đặt thiết bị mạng làm 'cầu nối' với eth0 của bạn vào mạng LAN.

Máy khách sẽ lấy IP LAN qua DHCP từ bộ định tuyến của bạn.


Để làm rõ: Đây là một cài đặt trong ứng dụng khách. Nó hoạt động với tôi, tôi chỉ mất một lúc để nhận ra điều đó, vì IE quá ngu ngốc khi cho rằng tôi muốn có kết nối HTTP khi tôi nhập địa chỉ IP và cổng vào thanh địa chỉ.
Michael Scheper

2

Những gì tôi tìm thấy đã khắc phục sự cố cho tôi là đảm bảo rằng bộ điều hợp Windows Virtualhost-Only được đặt thành địa chỉ .1 cho phạm vi ip để bộ điều hợp máy chủ hộp ảo của tôi là 192.168.58.20 nhưng ip cho bộ điều hợp Windows là 192.168. 58,1


2

Nếu giải pháp của @Melvyn không hoạt động, như một giải pháp thay thế, bạn có thể đặt bộ điều hợp mạng thành cầu nối.
Chuyển đến Settings-> Network-> sau đó thay đổi Attached tothành Cầu nối.

nhập mô tả hình ảnh ở đây

Bạn sẽ có thể gọi cha mẹ bằng tên máy chủ hoặc địa chỉ IP bên ngoài mà bạn có thể nhận được bằng cách vào Dấu nhắc lệnh và nhập ipconfig /all nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

Cập nhật Nếu bạn đang gỡ lỗi với Visual Studio và sử dụng IIS Express.

đi đến C:\Users\[uesername]\Documents\IISExpress\config\applicationhost.config

tìm trang web của bạn trong <configuration>/<system.applicationHost>/<sites>/<site> (tên có thể bị lừa thử kiểm tra vị trí trên đĩa trong physicalPaththuộc tính)

sau đó thêm vào <bindings>phần ràng buộc mới

<bindings>
    <binding protocol="http" bindingInformation="*:50766:localhost" />
    <binding protocol="http" bindingInformation="*:50766:48qzr12" />
</bindings>

nơi ràng buộc Thông tin là *:[port]:[machineName]

Hy vọng điều này sẽ giúp bạn tiết kiệm thời gian.


-1

Chà, bạn có thể khiến Debian tấn công máy chủ web của mình, nhưng không sử dụng localhost. Bạn sẽ phải sử dụng địa chỉ IP của máy chủ Ubuntu.

Giả sử hệ điều hành khách được kết nối với mạng, để lấy IP mở ra một thiết bị đầu cuối và gõ ifconfig. Nên nhìn như thế nào 192.168.0.2.


Chào! Xin lỗi vì trả lời quá muộn. ifconfig trên máy chủ của tôi hiển thị 192.168.0.102 cho eth0. Khi tôi nhập ip này vào firefox trong máy khách, nó đang cố gắng kết nối một lúc và sau đó kết nối bị chấm dứt: "Máy chủ tại 192.168.0.102 mất quá nhiều thời gian để phản hồi" ... Vậy tôi nên thử gì tiếp theo? Cảm ơn trước.
Tối đa
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.