Làm cách nào để tôi truy cập máy chủ web trên hộp ảo từ máy chủ [đã đóng]


29

Tôi có một máy tính Windows Vista mà VirtualBox đang chạy trên Ubuntu.

Trong Ubuntu, tôi đang chạy một máy chủ web tại địa chỉ http://127.0.0.1:3000/

Làm cách nào để truy cập địa chỉ này từ máy chủ của tôi (hộp windows)?


Tùy chọn đơn giản nhất là sử dụng cổng Chuyển tiếp. Nó có thể được cấu hình trong Cài đặt-> Mạng. Kiểm tra liên kết
spartan

Nếu bạn thực sự định cấu hình máy chủ web của khách tại 127.0.0.1 thì bạn không thể truy cập nó từ bên ngoài của khách. Localhost / 127.0.0.1 là bộ điều hợp loopback (trong bộ nhớ) và thậm chí không yêu cầu card mạng phải được cài đặt để hoạt động chính xác. Nếu bạn thay đổi ip của máy chủ web của bạn thành một cái gì đó không phải là loopback, thì câu trả lời dưới đây sẽ có thể giúp bạn.
Mladen B.

Câu trả lời:


28

Bạn có thể thay đổi chế độ mạng khách của mình từ NAT sang Bridged. Chỉ cần đóng ứng dụng khách Ubuntu của bạn, truy cập trang Cài đặt trong VirtualBox, chọn danh mục Mạng và thay đổi hộp đính kèm trong danh sách từ NAT sang Chế độ cầu nối.

Chỉnh sửa:

Sau khi làm theo các bước trên, khởi động lại Ubuntu và IP được phân bổ sẽ hiển thị trên màn hình chào mừng sau khi tải. tức là trong thông điệp chào mừng, nó sẽ nói một cái gì đó như:

Địa chỉ IP cho eth0: 192.168.1.3

Sử dụng địa chỉ này trong thanh trình duyệt của máy chủ theo sau là cổng bạn sử dụng. Nếu nó không phải là cổng 80. tức là nếu bạn thiết lập để sử dụng cổng 666 thì địa chỉ sẽ là 192.168.1.3:666

Một cách khác để tìm IP là kết nối với máy chủ HTTP được tích hợp trong bộ định tuyến của bạn và tìm trong cài đặt mạng LAN. Mỗi máy trên mạng phải được liệt kê theo tên máy chủ và IP. Trên bộ định tuyến của tôi, hầu hết những người khác tôi đã có, bạn có thể thực hiện việc này bằng cách nhập 192.168.1.1 vào thanh địa chỉ. nếu thất bại, hãy thử cùng một địa chỉ tại cổng 81. Nếu thất bại, ĐỌC HƯỚNG DẪN.


Nhưng làm thế nào bạn có thể tìm ra địa chỉ IP là gì? Thx
SSH

Điều đó sẽ hoạt động nhưng tùy chọn chỉ lưu trữ đã không đưa vm đó vào mạng công ty
Carlos Garcia

2
Tôi có phải là người duy nhất ở đây nghĩ rằng điểm cuối của khách 127.0.0.1 chỉ có thể được tiếp cận từ bên trong khách (đó là điểm của localhost)? Không nên có cách nào để truy cập loại điểm cuối đó từ bất kỳ thứ gì bên ngoài máy khách (vì đó là bộ điều hợp loopback, nó thậm chí không yêu cầu card mạng đã cài đặt).
Mladen B.

Nếu tôi nhập 192.1681.3 này làm IP cho bản ghi A trên Godaddy thì nó không hoạt động, rõ ràng nó mong đợi một địa chỉ IP bên ngoài, nếu tôi đặt nó, vẫn không hoạt động đối với một số reaosn, tôi muốn kiểm tra tên miền cục bộ trước đó diễn ra trên EC2
PirateApp

10

Phụ thuộc vào cách bạn thiết lập kết nối mạng trên hệ điều hành khách Ubuntu. Nếu bạn thiết lập nó để sử dụng NAT và bạn có một máy chủ DHCP đang chạy trên mạng của mình, thì bạn chỉ cần chạy nó:

ifconfig | grep inet

trên hộp Ubuntu - bạn sẽ thấy địa chỉ IP được gán cho khách Ubuntu.

Thí dụ:

#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

Sau đó, chỉ cần nhấn lên http://10.0.0.2:3000


Trong trường hợp của tôi, địa chỉ phải là 10.0.2.15:3000/public và theo mặc định vista chạy ở chế độ DHCP .. (máy ubfox cũng được cấu hình để sử dụng NAT) tuy nhiên tôi không nhận được phản hồi :(
Argh

Hmmm mới nhận ra rằng tôi không có máy chủ DHCP - Tôi đang chạy vista về nhà ...
Argh

VirtualBox có máy chủ DHCP riêng xử lý các máy ảo - nếu không, các máy ảo sẽ tự động nhận địa chỉ IP mà không đặt chúng tĩnh. Tôi nghĩ vấn đề của bạn có thể là bạn không có Apache lắng nghe trên tất cả các giao diện - chỉ là localhost (127.0.0.1). Đảm bảo rằng trong / etc / apache2 / site-Available / mặc định, lệnh Nghe nói 80, không phải 127.0.0.1:80 mỗi trợ giúp.ubfox.com
Cory Plastek

Đây có lẽ là nguyên nhân.
fsckin

4

Hộp Windows của bạn và hộp Ubuntu (dù là vật lý hay ảo không thực sự quan trọng trong trường hợp này) cả hai đều cần có một địa chỉ IP trên cùng một mạng con để chúng có thể nói chuyện với nhau thông qua TCP / IP. Bạn có thể chỉ định một địa chỉ bổ sung cho mỗi HĐH bằng một trong các mạng con IP riêng (xem RFC 1918 ). Khi cả hai đều có một địa chỉ trên cùng một mạng con, hãy định cấu hình máy chủ web để nghe địa chỉ bạn đã cung cấp cho Ubuntu, sau đó sử dụng IP đó trong trình duyệt trong Windows để tải nó lên.

IP bạn đã cấu hình bây giờ, 127.0.0.1, là địa chỉ loopback cho giao diện mạng cục bộ. Bạn sẽ không bao giờ sử dụng địa chỉ đó để truy cập một cái gì đó trên một hệ thống khác, chỉ để quay lại cùng một hệ thống mà bạn đang sử dụng. Khi sử dụng một hệ thống ảo, hãy đối xử với nó giống như bạn sẽ tách một máy tính khỏi quan điểm mạng.


2

Để giải quyết vấn đề của bạn, tôi khuyên bạn nên thêm một bộ điều hợp mạng mới và định cấu hình nó thành bộ điều hợp chỉ lưu trữ .

Bây giờ bạn chạy cá thể hộp ảo và sau đó fsckin sugested để xem ip của mạng mới là gì .

Bằng cách này, bạn có một mạng con với máy tính và máy ảo của bạn.


Vì vậy, ... tôi đã làm như bạn nói đã lấy địa chỉ IP của tôi. Sau đó, tôi đã cố gắng truy cập máy chủ web (mà tôi có thể truy cập trong máy khách là 127.0.0.1:3000 ) bằng cách sử dụngIPIP: 3000 và tôi không nhận được phản hồi. Tuy nhiên tôi có thể ping ip từ máy chủ
Argh

Bạn cần mở tường lửa trên cổng 3000.
fampinheiro

Chỉ lưu trữ sẽ không hoạt động ngoài hộp: serverfault.com/questions/205477/ cường
givanse

0

Trước hết, bạn cần làm những gì Câu trả lời 1 nói:

"Bạn có thể thay đổi chế độ mạng khách của mình từ NAT thành Cầu nối. Chỉ cần đóng máy khách Ubuntu của bạn, truy cập trang Cài đặt trong VirtualBox, chọn danh mục Mạng và thay đổi Hộp đính kèm từ danh sách từ Chế độ Cầu nối sang NAT."

Sau đó, để có được địa chỉ IP của bạn:

Trên máy ảo của bạn, mở một dấu nhắc lệnh và làm:

ip addr show

Bạn có thể sẽ thấy một dòng trông giống như thế này:

inet 192.168.43.96/24 ....

Cũng có một dòng trước đó với

inet 127.0.0.1

Nhưng bạn không muốn cái đó! Bạn muốn địa chỉ 192. Đó là địa chỉ của máy ảo của bạn trên mạng cục bộ. Nó có thể được truy cập bởi bất kỳ thiết bị nào được nối với cùng một mạng cục bộ.

Bây giờ trên máy chủ của bạn, hãy chỉnh sửa tệp / etc / hosts (Không phải ~ / etc) Tên của tệp là máy chủ (không phải là tên thư mục)

thêm một dòng trông như thế này:

192.168.43.96 myvm.nameofmywebsite.com

Bây giờ hãy truy cập trình duyệt máy chủ của bạn và nhập vào myvm.nameofmywebsite.com

Hy vọng rằng sẽ làm điều đó!

Tuy nhiên, bạn có thể có một bộ định tuyến có các tính năng bảo mật sẽ theo cách nhìn thấy địa chỉ địa phương của bạn. Những gì bạn có thể cố gắng làm là sử dụng điểm phát sóng của điện thoại di động làm mạng. Nó ổn với tôi. Chỉ cần nhớ khi bạn thay đổi mạng trên máy chủ của mình, bạn cần khởi động lại hộp ảo của mình.

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.