Làm cách nào để kết nối mạng giữa các máy ảo trong VirtualBox?


92

Tôi có hai máy ảo trong VirtualBox. Tôi muốn làm mạng giữa họ. Hiện tại tôi có cấu hình mặc định trên cả hai, nhưng dường như chúng có cùng địa chỉ IP 10.0.2.15. Tôi cũng muốn có thể sử dụng Internet với cả hai và điều đó là có thể ngay bây giờ.

Theo mặc định, cài đặt mạng là NAT, nhưng có vẻ như chúng không thể kết nối mạng bên trong vì chúng có cùng IP. Nhưng nếu tôi đổi thành internal networkingtôi đoán rằng tôi không thể truy cập Internet bằng máy ảo.

Làm cách nào tôi có thể thiết lập kết nối mạng giữa khách ảo VÀ có quyền truy cập Internet trên họ?

Câu trả lời:


57

Bạn đã thử Hướng dẫn mạng ảo này chưa?

Máy ảo nhận địa chỉ và cấu hình mạng của nó trên mạng riêng từ máy chủ DHCP được tích hợp vào VirtualBox. Do đó, địa chỉ IP được gán cho máy ảo thường nằm trên một mạng hoàn toàn khác với máy chủ. Vì có thể thiết lập nhiều thẻ của một máy ảo để sử dụng NAT, thẻ đầu tiên được kết nối với mạng riêng 10.0.2.0, thẻ thứ hai vào mạng 10.0.3.0, v.v.

Tôi nghĩ những gì bạn đang tìm kiếm là " Mạng nội bộ ", kết nối các máy ảo nội bộ với nhau.

Bạn có thể sử dụng hộp thoại "Cài đặt" của VM trong giao diện người dùng đồ họa VirtualBox. Trong danh mục "Mạng" của hộp thoại cài đặt, chọn "Mạng nội bộ" từ danh sách thả xuống của các chế độ mạng. Bây giờ chọn tên của một mạng nội bộ hiện có từ trình đơn thả xuống bên dưới hoặc nhập tên mới vào trường nhập.


1
Cảm ơn, điều đó đúng. Mạng nội bộ đang hoạt động nhưng không đi kèm với DHCP nên tôi đã thử giải pháp Bridged và nó hoạt động tốt. Cảm ơn.
Jonas


3
@Joe Internet liên kết của bạn là OK, nhưng tôi chỉ hiểu nó sau khi đọc blog.techprognosis.com/2011/02/11/ . Điều đó nói rằng, tôi đã chạy mạng nội bộ. Tôi không thể chọn chế độ chỉ dành cho máy chủ hoặc cầu nối vì thiếu bộ điều hợp phù hợp.
bernd_k

1
Liên kết trong nhận xét trước đó không hoạt động với tôi, điều này dường như là chính xác: blog.techprognosis.com/how-to-enable-dhcp-in-virtualbox-4
Nicola Musatti

Điều này không làm việc cho tôi cho đến khi tôi đặt IP tĩnh.
VaTo

31

Tôi tìm thấy giải pháp sau đây cho môi trường của mình:

  • bộ điều hợp đầu tiên với mạng bên trong để truy cập VM-
  • bộ chuyển đổi thứ hai với NAT để truy cập internet.

Các cài đặt đó có thể được thực hiện bởi GUI Oracle VM VirtualBox Manager. Ban đầu tôi gặp vấn đề tương tự như Jonas, tôi đã bỏ lỡ DHCP. Cuối cùng tôi đã tìm thấy bài viết này (bản sao lưu trữ, liên kết ban đầu đã chết) và tôi đã sử dụng:

VBoxManage dhcpserver add --netname intnet --ip 10.13.13.100 --netmask 255.255.255.0 --lowerip 10.13.13.101 --upperip 10.13.13.254 --enable

từ dòng lệnh. Sau đó nó hoạt động tốt.

Tôi dám nói rằng hướng dẫn sử dụng là một tài nguyên kém, vì hầu hết cấu hình của VirtualBox trên máy chủ Windows có thể được thực hiện bởi GUI và thật bất tiện khi người ta không thể định cấu hình DHCP với GUI.

Môi trường của tôi: Tôi đang chạy VirtualBox 4.1.2r73507 di động trên Windows 7 64 bit. Hiện tại chế độ chỉ lưu trữ và cầu nối không hoạt động, vì thiếu bộ điều hợp chỉ lưu trữ. Tôi có một vấn đề tương tự như được mô tả trong một câu hỏi tiếng Đức trên diễn đàn Virtual Box , tôi không có máy chủ chỉ có bộ điều hợp.


Tôi đã có một dhcpserver intnet theo cách nào đó được mặc định khi tôi cài đặt hộp ảo 4.3.x, nhưng nó không kết nối với internet khi tôi sử dụng nat với điều đó.
pwned

11

Đây là cách tôi chỉ kết nối khách vbox ở chế độ NAT (được thử nghiệm trên VirtualBox 4.2.4).

Chỉ cần sử dụng IP gateway để đi từ một khách đến máy chủ. Sau đó sử dụng chuyển tiếp cổng để "ủy quyền" lưu lượng máy chủ vào khách khác.

Chẳng hạn, nếu khách A muốn tiếp cận dịch vụ khách B nghe trên cổng 1000, A phải sử dụng IP cổng (đối với giao diện NAT đầu tiên, đó là 10.0.2.2). Sau đó, bạn cần định cấu hình chuyển tiếp cổng trên khách B để tất cả lưu lượng truy cập mà máy chủ nhận được trên cổng 1000 chuyển đến khách B trên cổng 1000.

Điều này có thể không hoạt động cho mọi dịch vụ nhưng có vẻ như chỉ hoạt động tốt cho ssh, muối, ...

Tóm lại, bạn không cần chế độ chỉ dành cho máy chủ để kết nối nhiều khách nhưng tôi không có ý nói rằng chế độ chỉ dành cho máy chủ không phải là lựa chọn tốt nhất cho trường hợp sử dụng của bạn.


1
Điều này hoạt động hoàn hảo cho trường hợp sử dụng của tôi (thử nghiệm eg8 trên máy khách xp kết nối với máy chủ trong máy khách linux).
Ted

+1 để đơn giản và rất đơn giản!
Emre Sevinç

9

Bạn cần loại mạng LAN kết nối máy chủ (tương tự như trong phiên bản tiếng Anh) trên máy khách và kết nối cầu nối trên máy chủ của bạn.


3

(trả lời câu hỏi của bernd_k)

Để chia sẻ tệp giữa máy chủ và khách, người ta thực sự chia sẻ thư mục chứ không phải tệp.

Nếu chế độ mạng được bắc cầu hoặc NAT, thì máy chủ và khách là mỗi đối tác mạng bằng nhau. Mặc dù toàn bộ thiết lập được chứa trong một máy chủ, nhưng tất cả chúng đều bình đẳng trên mạng, như thể chúng là các máy vật lý. (NAT đôi khi có vấn đề khi sử dụng hơn cầu nối.)

Bằng cách này, mọi thư mục dùng chung trong mọi máy tính, ảo hoặc vật lý, đều có sẵn cho tất cả mọi người. Bởi vì không phải tất cả các máy ảo đều có thể được bật mọi lúc, nên việc thiết lập một thư mục của máy chủ là thư mục dùng chung là điều hợp lý. Sau đó, máy chủ lưu trữ chia sẻ thư mục và các máy ảo sử dụng nó nguyên trạng hoặc như một ổ đĩa được ánh xạ.

Bài viết sau đây giải thích rất chi tiết về cách chia sẻ thư mục trong Windows:
Làm cách nào để chia sẻ thư mục trong Windows 7 với Trình hướng dẫn chia sẻ thư mục?


2
Gợi ý của bạn có giá trị ở giai đoạn sau, nhưng trước khi chia sẻ tệp hoặc thư mục, bạn phải có thể ping máy khác.
bernd_k

2

Tôi có hai card mạng trên máy tính Oracle VM XP của mình

1st Được kết nối với một địa chỉ IP nhanh khi tôi sử dụng nó như một máy khách có cấu hình mạng máy chủ. Đã thay đổi cổng mặc định thành giống như card mạng hai (Nat 2nd)

2nd Nat Với ​​địa chỉ IP từ Oracle VM

hoạt động tốt


2

Tôi đã thực hiện các bước sau và cuối cùng nó cũng hoạt động tốt (trên CentOS VB):

  • Sử dụng NAT cho bộ điều hợp mạng chính (Cài đặt -> Mạng -> Bộ điều hợp1 "được đính kèm với NAT").
  • Thêm bộ điều hợp khác (Cài đặt -> Mạng -> bật Bộ điều hợp2 "được gắn vào Bộ điều hợp chỉ lưu trữ") -> đặt "Chế độ lăng nhăng" thành "Cho phép tất cả".
  • Bắt đầu VB.
  • Thêm giao diện mạng khác (cp / etc / sysconfig / network-scripts / ifcfg-eth0 / etc / sysconfig / network-scripts / ifcfg-eth1).
  • Thay đổi địa chỉ MAC cho eth1 theo địa chỉ xuất hiện trong Adaptor2 ((Cài đặt -> Mạng ->).
  • Khởi động lại mạng "khởi động lại mạng dịch vụ"

Sau đó, VB này sẽ truy cập Internet và có thể truy cập được từ những người khác (VB và máy cục bộ).

Ghi chú:

Bộ điều hợp NAT sẽ được sử dụng để truy cập Internet trong khi bộ điều hợp Chỉ lưu trữ sẽ được sử dụng để truy cập mạng giữa bất kỳ VB nào khác và máy cục bộ.


0

Tôi không biết nó có hoạt động không, nhưng ý tưởng của tôi là:

  1. Thay đổi IP thành số khác chỉ trong một máy ảo (ở chế độ NAT).

  2. Thay đổi máy ảo khác thành Bridged.

  3. Đặt cài đặt trên cả hai hệ thống để máy tìm thấy nhau. Khởi động lại mọi thứ.

Nếu 1 + 3 hoặc 1 + 2 + 3 không hoạt động, hãy thử điều này: Tạo Thư mục dùng chung trên máy chủ và chia sẻ thư mục với 2 máy ảo trong cài đặt hộp ảo. Khởi động lại và voilá?

Tôi biết tùy chọn thứ hai là một cách giải quyết.


0

Thay đổi mạng được gắn với Bộ điều hợp Cầu nối trong Mạng trong Cài đặt.

Đó là nó; Nó có thể kết nối hai PC ảo.

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.