Làm cách nào tôi có thể truy cập Apache (trên máy khách VirtualBox) từ máy chủ?


142

Tôi đã cài đặt Apache trên máy ảo Ubuntu. Khi tôi vào máy khách và tải lên Firefox tôi có thể thấy rằng Apache đang hoạt động tốt khi tôi duyệt đến localhost.

Tôi muốn truy cập cùng trang này thông qua máy chủ lưu trữ. Tôi đã thử sử dụng địa chỉ IP của khách nhưng không có gì xuất hiện.

Lý tưởng nhất là tôi rất thích thiết lập Windows 7 (máy chủ) của mình theo yêu cầu http://guestserver.comcủa máy chủ Apache trên máy khách. Tôi có thể làm cái này như thế nào?


Tôi tìm thấy trang web đã giúp tôi giải quyết nó. Dưới đây câu trả lời là đúng nhưng không hiển thị bất cứ điều gì về việc tạo bộ điều hợp ảo trong VM. Trang web tôi giới thiệu là: christophermaier.name/2010/09/01/ Cách
Sudhir Dhumal

Câu trả lời:


156

Nếu bạn cần các máy khác trong mạng vật lý của mình để có thể truy cập VM (hoặc nếu VM cần truy cập Internet), hãy sử dụng kết nối mạng. Nếu không, dính vào mạng chỉ lưu trữ.

  1. Dừng VM của bạn và mở cài đặt của nó trong Trình quản lý VirtualBox (OSE)
  2. Chuyển đến tab Mạng
  3. Chọn chế độ mạng theo lựa chọn của bạn (kết nối mạng hoặc chỉ dành cho máy chủ) (trong ví dụ bên dưới, tôi đang sử dụng chỉ máy chủ)

    Nếu bạn muốn sử dụng kết nối mạng, bạn phải chọn bộ điều hợp mạng phù hợp tại Tên . Đối với các kết nối có dây, bạn sẽ chọn một cái gì đó có tên như eth0. Kết nối không dây thường được đặt tên wlan0(số lượng có thể thay đổi)

  4. Lưu các cài đặt
  5. Khởi động máy ảo Ubuntu
  6. Khi lên, bạn có thể thu thập địa chỉ IP bằng cách chạy:

    ifconfig | grep addr
    

    Trong đầu ra bên dưới, 192.168.56.101là địa chỉ IP có thể được sử dụng trong hệ thống máy chủ Win7 của bạn để truy cập VM:

    eth0  Link encap:Ethernet  HWaddr 08:00:27:70:27:fe  
          inet addr:192.168.56.101  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe7b:25fe/64 Scope:Link
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
    
  7. Trong hệ thống máy chủ windows của bạn, hãy chỉnh sửa C:\Windows\System32\drivers\etc\hostsvới tư cách quản trị viên và thêm một dòng:

    192.168.56.101   guestserver.com
    

    Nếu bạn đã có hệ thống máy chủ Ubuntu, hãy chỉnh sửa /etc/hostsbằngsudo nano /etc/hosts

  8. Lợi nhuận!

2
Điều này hoạt động hoàn hảo cho mạng chỉ lưu trữ và bây giờ tôi có thể truy cập khách từ trình duyệt của máy chủ. Tuy nhiên, với một kết nối bắc cầu, mà tôi muốn, tôi không có quyền truy cập internet từ khách.
urok93

5
ipconfig không phải là một lệnh trên Linux, đó là ifconfig. Ý bạn là sao?
Tối đa

7
Trên tệp máy chủ windows 7/8 có tại đây: C: \ Windows \ System32 \ driver \ etc \ hosts
Dalen

2
@begueradj Những bước trên áp dụng cho kết nối mạng nhưng một số mạng không cho phép / cung cấp cho bạn nhiều địa chỉ. Trên uni của tôi, tôi không thể sử dụng mạng cầu nối vì điều đó, trong những tình huống đó tôi sẽ sử dụng NAT với chuyển tiếp cổng thay thế.
Lekensteyn

1
Kích hoạt hai bộ điều hợp mạng, một NAT và bắc cầu, cho phép tôi nhìn và thấy ong.
stenci

13

Trong trường hợp của tôi, tôi có một bộ định tuyến gán IP tĩnh cho Máy chủ của tôi.

  1. Đặt bộ điều hợp mạng làm Cầu nối:

    Cài đặt> Mạng> Bộ điều hợp 1 ( Bật Bộ điều hợp mạng )> Đã đính kèm: ( Bộ điều hợp cầu )> OK

  2. Khởi động Máy ảo> đăng nhập

  3. Thay đổi IP của VirtualMachine từ động sang tĩnh

    sudo nano / etc / mạng / giao diện

  4. Trong Giao diện mạng chính thay đổi từ dhcp thành tĩnh và nhập IP tĩnh mới của bạn hoặc nhận xét dòng và thêm một từ mới

:

#iface eth0 inet dhcp
iface eth0 inet static
        address 192.168.10.110
        netmask 255.255.255.0
        gateway 192.168.10.1
        network 192.168.10.0
        broadcast 192.168.10.255

Lưu ý rằng bộ định tuyến của tôi đang làm việc tại xxx.xxx. 10 .x và của bạn có thể ở xxx.xxx. 0 .x hoặc xxx.xxx. 1 .x hoặc một số khác.

Sau khi bạn làm điều đó, bạn có thể kết nối internet trong cả máy chủ và máy khách và nhập IP tĩnh đó trong trình duyệt web của bạn để kiểm tra máy chủ apache của bạn.


Tôi quên nói rằng bạn phải đảm bảo / etc / tên máy chủ của bạn được cấu hình đúng theo cách này: nameserver [your_isp_primary_dns] nameserver [your_isp_secondary_dns]
Nuc134rB0t

8

Thay vì cố gắng đặt bộ điều hợp thành Bộ điều hợp mạng Cầu nối hoặc Chỉ lưu trữ, bạn có thể thử Chuyển tiếp cổng dưới Tường lửa / Cổng khác, với cổng của bạn không được đặt thành kết nối tcp và udp.


6

Câu trả lời được chấp nhận không hoạt động đối với tôi (Tôi đã cài đặt virutalbox bên trong ubfox 12.04 LTS và bên trong hộp ảo Tôi đã cài đặt ubfox 14.04 LTS Server). Tôi vừa hoán đổi cài đặt mạng cho Adaptor1 và Adaptor2, tức là thiết lập Adaptor1 cho "nối mạng cầu nối" và Adaptor2 cho "NAT" và nó bắt đầu hoạt động.


Điều này rất hữu ích, nhưng chuyển đổi thứ tự bộ điều hợp để khách sử dụng NAT theo mặc định và có thể kết nối với internet.
MadeOfAir 30/03/2015

Điều này thực sự làm việc cho tôi. Tôi đang cố gắng truy cập Windows VM từ trong Mac Host.
benjaminz

1
Sau nhiều giờ đọc và thử mọi giải pháp khác mà tôi có thể tìm thấy trên mạng, ý tưởng này của bạn đã hoạt động như một cơ duyên. Cảm ơn bạn rất nhiều vì đã viết cái này! Sử dụng Ubuntu 18.04 làm máy chủ và khách.
Giăng

5

Nếu bạn chỉ cần một cổng cụ thể (Nói nếu bạn đang chạy một ứng dụng web như Jetty hoặc Tomcat) chỉ cần làm:

Cài đặt -> Mạng -> Đặt một trong các bộ điều hợp là NAT -> Bấm 'Chuyển tiếp cổng' -> Đặt máy chủ và cổng khách liên quan.

Khi bạn lưu, bạn chỉ có thể đi từ máy cục bộ của mình sang localhost: hostport và nó sẽ được chuyển hướng đến cổng ảo có liên quan và bạn đã hoàn thành.


4

Nếu bạn không thể kết nối qua ip, bạn không có khả năng thành công với tên dns trên cài đặt apache mặc định.

kiểm tra cài đặt mạng của máy chủ ảo, tôi luôn đặt nó để bắc cầu cho nó có thể được truy cập trên toàn bộ mạng.


Tôi đặt nó thành cầu nối nhưng bây giờ khách không kết nối được với internet.
urok93

Bạn có nhận được IP trong hệ điều hành nhiệm vụ không? Tôi thường thiết lập nhiều NIC để phù hợp với tất cả các NIC vật lý của tôi. Có lẽ bạn có thể đổ ifconfig của mình khỏi nhiệm vụ và máy chủ lưu trữ
PvdL

Khi tôi đang làm việc với không dây nó hoạt động nhưng với cáp không, đây là một số ảnh chụp màn hình cho thấy cấu hình của tôi: imageshack.us/photo/my-images/832/guestr.png imageshack.us/photo/my-images/846/virtualbox .png imageshack.us/photo/my-images/9/hostwin7.png
urok93

Bất kỳ trợ giúp về điều này xin vui lòng?
urok93

có vẻ như máy tính của bạn được kết nối trực tiếp với internet và đó có thể là lý do khiến khách hàng của bạn không nhận được IP (v4)
PvdL

3

Trong chế độ bắc cầu, nếu máy chủ của bạn sử dụng địa chỉ IP tĩnh, bạn nên tự cấu hình IP khách của mình trong cùng phạm vi với IP máy chủ. Nếu không, khách sẽ không được phân bổ tự động với địa chỉ IP hợp lệ. HTH.


2

Câu trả lời của Lekensteyn là đúng. Nhưng nếu bạn ở trong môi trường doanh nghiệp, bạn có thể phải vô hiệu hóa máy chủ proxy cho địa chỉ IP của khách. Ví dụ: nếu bạn đang sử dụng Mozilla Firefox trên máy chủ của mình và bạn đang cố truy cập 192.168.56.101/ trên máy khách, bạn cần truy cập Công cụ của Firefox-> Tùy chọn-> Nâng cao-> Mạng-> Cài đặt và sử dụng "Không Proxy "hoặc" Không có Proxy cho -> 192.168.56.101 ".


2

Nếu bạn cần truy cập một khách có IP khác do sử dụng DHCP, tôi khuyên bạn nên truy cập thông qua tên máy chủ. Tuy nhiên, việc truy cập thông qua tên máy chủ khi máy chủ lưu trữ là Windows có thể cần một công cụ bổ sung.

Văn bản sau đây được sao chép từ câu trả lời của riêng tôi tại superuser.com. :

Tôi khuyên bạn nên sử dụng Multicast DNS để khắc phục điều này.

Ubuntu đang sử dụng điều này theo mặc định thông qua Avahi .

Máy chủ Windows cần một máy khách Avahi để nó khám phá các dịch vụ Avahi khác. Nếu máy chủ của bạn đã sử dụng một số phần mềm của Apple thì có lẽ đã có sẵn thông qua dịch vụ có tên Bonjour. Tuy nhiên, nếu điều này chưa được cài đặt thì một phiên bản nhỏ của Bonjour có sẵn để tải xuống tại đây: Bonjour Print Services . Sau khi cài đặt, bạn sẽ có thể truy cập khách của mình thông qua .local.

Lưu ý: Hệ thống mDNS dường như sử dụng hậu tố .local theo mặc định. Vì vậy, nếu tên máy chủ của bạn là "dev.myapp.com", thì tên máy chủ thực tế sẽ là "dev.myapp.com.local".

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.