Làm cách nào để kết nối từ Windows 7 với localhost trên Ubuntu VirtualBox?


10

Hệ điều hành máy chủ của tôi là Windows 7

Tôi đang chạy một máy chủ (phát triển Django) trên Ubuntu 10.04 trong VirtualBox.

Tôi muốn kết nối với máy chủ đó (thông qua trình duyệt của mình) trên máy chủ Windows của mình. Làm thế nào tôi có thể làm điều đó?

Câu trả lời:


12

Cũng có thể đặt chế độ bộ điều hợp mạng thành 'cầu nối', sau đó VM sẽ được xem như một máy thông thường có địa chỉ IP tự.


Tôi đặt nó thành "Bộ chuyển đổi cầu nối". http://localhost:8000/hoạt động trên Ubuntu / Guest / VirtualBox nhưng không phải từ máy Windows / Host của tôi; cho biết "Firefox không thể thiết lập kết nối với máy chủ tại localhost: 8000."
mở

Hừ! Hiểu rồi. Phải chuyển một cách rõ ràng địa chỉ IP của riêng tôi khi chạy máy chủ : ./manage.py runserver <MY_IP>:8000. Sau đó, nó hoạt động trên cả hai máy.
mở

3
Hãy thử 0.0.0.0:8000 để không vượt qua một IP chính xác.
eigenein

@eigenein: Tôi thích điều đó. Sau đó, tôi có thể sử dụng localhosttrên Ubuntu, nhưng tôi vẫn phải sử dụng IP của mình từ windows.
mở

@Mark Điều đó hợp lý vì Ubuntu ảo của bạn là một HĐH khác trên một máy khác, vì vậy Ubuntu không localhostdành cho Windows.
eigenein

6

Điều này đã làm công việc cho tôi:

Từ bộ nhớ, nếu bạn đã thiết lập VirtualBox với mạng NAT, tôi nghĩ bạn có thể truy cập các dịch vụ chạy trên máy chủ từ hệ điều hành khách. Từ khách (WinXP), máy chủ xuất hiện là 10.0.2.2. Vì vậy, nếu bạn trỏ trình duyệt web WinXP của mình đến địa chỉ đó, nó sẽ kết nối với máy chủ Ubuntu Apache của bạn. (Đối với máy chủ, điều này dường như là một kết nối từ localhost, tôi tin thế.)

http://ubuntuforums.org/showthread.php?t=682519


Giải pháp này cũng hoạt động với tôi trên Windows 7. Tôi phải sử dụng 10.0.2.2tệp lưu trữ.
Eric Majerus

3

Cho rằng bạn phải chuyển tiếp cổng trên Máy ảo của bạn.

Đi đến dấu nhắc lệnh và chuyển sang thư mục hộp ảo của bạn, ở đó bạn có thể đưa ra các lệnh sau:

VBoxManage.exe setextradata "name of vm" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/HostPort" 8888
VBoxManage.exe setextradata "name of vm" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/GuestPort" 80
VBoxManage.exe setextradata "name of vm" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/Protocol" TCP

Chuyển "tên của vm" bằng tên của máy ảo của bạn, cũng như GuestPort với cổng mà máy chủ web của bạn đang sử dụng, vì nó có thể sử dụng cổng 8080 hoặc một cái gì đó khác. Sau đó, bạn sẽ có thể truy cập máy chủ qua http: // localhost: 8888 / nếu tôi không nhầm.

Chỉnh sửa: PS: theo như tôi nhớ, bạn cần đặt bộ điều hợp mạng của mình thành "NAT" cho điều đó

Chỉnh sửa 2: Hướng dẫn VirtualBox có thể tìm thấy ở đây bao gồm một phần về chuyển tiếp cổng, được thực hiện hơi khác so với cách mô tả ở đây. Đọc nó trong chương 6.3.1. (Đối với phiên bản 3.2.6)


Sau khi chạy các lệnh đó, tôi không thể khởi động Ubuntu nữa.
mở

Lệnh VBoxManage modifyvm "VM name" --natpf1 "djangoserver,tcp,,8000,,8000"này dường như cũng không hoạt động ... khi tôi thử truy cập nó từ cả localhost: 8000 trên máy khách của tôi và địa chỉ IP được cung cấp bởi ifconfig.
mở

Rất tiếc ... vẫn có nó trên Bridged. Chuyển trở lại NAT và bây giờ nó đã hết thời gian ... tự hỏi điều đó có nghĩa là gì?
mở

Tìm thấy ghi chú này trong tài liệu Django "Lưu ý rằng địa chỉ IP mặc định, 127.0.0.1, không thể truy cập được từ các máy khác trong mạng của bạn. Để máy chủ phát triển của bạn có thể xem được với các máy khác trên mạng, hãy sử dụng địa chỉ IP của chính nó hoặc 0,0. 0,0. " - cũng đã thử điều này, vẫn "mất quá nhiều thời gian để trả lời"
mpen

2
Chuyển tiếp cổng trong trường hợp này sẽ hoạt động theo cách truy cập "localhost: 8888" hoặc "127.0.0.1:8888" trên hệ thống máy chủ chuyển sang truy cập "localhost: 80" hoặc "127.0.0.1:80" trên máy khách, theo hiểu biết của tôi. Có lẽ bạn có thể thử chuyển tiếp SSH hoặc một cái gì đó tương tự đã chạy để xem chuyển tiếp cổng có hoạt động chính xác không. Ngoài ra, đã đảm bảo rằng máy chủ hoạt động trên máy khách của bạn (bằng cách sử dụng máy khách firefox và mở trang?) PS có vẻ như bạn đã nhận được câu trả lời của mình rồi :)
private_meta

1

Hệ điều hành máy chủ và máy khách của tôi là Windows 7 và cách duy nhất để kết nối chúng là định cấu hình bộ điều hợp mạng ở chế độ "NAT" và sau đó sử dụng IP 10.0.2.2 như @tm_lv đã viết https://superuser.com/a/287323/314495

Tôi đã cố gắng đặt bộ điều hợp mạng thành chế độ "Brigde". Tôi đã vô hiệu hóa cả tường lửa và sử dụng đúng IP nhưng không hoạt động. Tôi không biết tại sao.

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.