Hai máy ảo VirtualBox chạy song song cùng một IP


9

Tôi đã có một VM trong VirtualBox của mình và muốn sử dụng nó làm mẫu / hình ảnh nên đã nhân bản nó. Sau đó, tôi đã khởi chạy đồng thời cả bản gốc và bản sao (để mô phỏng cụm máy chủ cho thứ gì đó tôi đang làm việc), tuy nhiên, cả hai trường hợp đều được gán cùng một địa chỉ IP. Đây có lẽ là một lỗi trong DHCP của chúng tôi, mà tôi nghĩ VirtualBox sử dụng để lấy địa chỉ IP? Hoặc có lẽ một cái gì đó trong cách tôi thiết lập máy ảo của mình? Dù sao, cuối cùng tôi cũng quan tâm đến việc giải quyết vấn đề này để tôi có thể đồng thời hai máy ảo có cùng hình ảnh.


Trên VMWare, nếu bạn đã khởi động một VM được sử dụng trước đó từ một đường dẫn khác, nó hỏi bạn đã sao chép nó hoặc di chuyển VM để có thể tránh các tình huống như vậy ... Bạn đã sao chép VM như thế nào?
ppeterka

Tôi e rằng đây không phải là tình huống ở đây ...
lưỡng cư

1
Có thể bạn đã sao chép máy có địa chỉ MAC (Ethernet). Đó là một trong những khác biệt giữa sao chép và di chuyển trong VMware như được đề cập bởi ppeterka. Bạn có thể vui lòng kiểm tra địa chỉ? Bạn cũng có thể vui lòng mô tả chính xác bạn đã sao chép máy như thế nào?
pabouk

vâng, khi tôi chạy ifconfig -a, nó hiển thị cùng một địa chỉ MAC cho cả hai (được hiển thị dưới dạng HWaddr)
amphibient

nhưng cách tôi nhân bản nó là trong UI, chỉ cần nhấp chuột phải vào VM và nhấnClone
amphibient

Câu trả lời:


12

Điều này được gọi là xung đột IP và có thể gây ra đau đầu lớn trên mạng.

Bạn có thể khởi tạo lại địa chỉ MAC của máy ảo nhân bản; điều đó chỉ có nghĩa là tạo ra một ngẫu nhiên mới. Trên máy ảo nhân bản của bạn, nhấp vào Cài đặt >> Mạng >> Nâng cao, sau đó nhấp vào hai mũi tên tròn để tạo MAC mới. VM của bạn sẽ cần phải tắt. Khi nó khởi động máy chủ DHCP của bạn sẽ gán cho VM một địa chỉ IP khác.

Ngoài ra FYI, khi bạn nhân bản máy ảo của mình, bạn sẽ thấy một hộp kiểm có dòng chữ "reinitialize MAC", nó sẽ nhân bản VM và tạo ra MAC mới thay vì nhân bản nó.

Nếu bạn tò mò, nhân bản VM thường được sử dụng để tạo bản sao lưu đầy đủ cho VM, trong trường hợp này bạn sẽ muốn MAC và IP giống nhau trong trường hợp bạn phải sử dụng bản sao lưu. Đối với trường hợp nhân bản VM của bạn để xây dựng một cụm, bạn sẽ muốn khởi tạo lại MAC trên mỗi bản sao.nhập mô tả hình ảnh ở đây

Cập nhật 1 Đáp lại ý kiến ​​của bạn từ ngày 10/8/2013.

Đảm bảo địa chỉ IP không được đặt tĩnh. Bạn đã đề cập trong câu hỏi của mình rằng VM sẽ nhận được IP từ DHCP. Nếu đó là trường hợp cấu hình sẽ trông giống như sau. Đối với các hệ thống dựa trên debian, nó sẽ được tìm thấy tại / etc / mạng / giao diện

auto eth0
iface eth0 inet dhcp

Đối với các hệ thống dựa trên redhat, cấu hình mạng là / etc / sysconfig / network-scripts / ifcfg-eth0

Nhận xét thứ hai của bạn đề cập rằng eth0 bị thiếu. Bạn có eth1 không? Vì máy tính của bạn đã thay đổi địa chỉ mac, HĐH giữ mac gốc là eth0 và thường gán eth1 cho mac mới. Để đặt lại các thiết bị eth * để bạn có eth0 chứ không phải eth1, bạn sẽ cần xóa các quy tắc mạng udev.

Lộn xộn với mạng có thể có lông. Một tùy chọn sẽ là xóa VM nhân bản của bạn và sao chép lại bản gốc và kiểm tra "reinitialize mac". Tôi không chắc chắn nó sẽ khắc phục vấn đề của bạn nhưng nó có thể.


4
Tôi đã làm điều đó và khởi động lại cả hai máy ảo nhưng chúng vẫn được gán cùng một IP :(
lưỡng cư

bản sao không có eth0khi tôi chạyifconfig
lưỡng cư

Tôi đã cập nhật câu trả lời của mình để giải quyết các vấn đề bạn đã viết trong các bình luận.
tbenz9

@amphibient, tôi đã tạo lại vấn đề của bạn và có thể giải quyết vấn đề dễ dàng bằng cách xóa mọi thứ khỏi tệp /etc/udev/rules.d/70-persistent-net.rules và khởi động lại. Chúc may mắn!
tbenz9

1

Tôi đã nhận được cùng một 10.0.2.15máy ảo IP khi tôi nhân bản Ubuntu trên máy Mac.
Để giải quyết vấn đề trước tiên tôi tắt máy ảo.
Sau đó, với mỗi VM
tôi chọn cài đặt, sau đó nhấp vào tab Mạng, sau đó thay đổi đính kèm: Bridged Adapter
sau đó tôi nhấp nâng cao, chọn cho phép tất cả cho chế độ lăng nhăng,
cuối cùng làm mới địa chỉ MAC để thay đổi địa chỉ MAC. Nhấn Ok.
Bây giờ Bắt đầu VM và bạn sẽ nhận được các địa chỉ IP khác nhau.
Tôi đã nhận 192.168.0.14đầu tiên và 192.168.0.15thứ hai. Chúng cũng có thể ping từ máy chủ Mac.

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


0

Vui lòng đọc về các bộ điều hợp có sẵn trong VirtualBox ( https://www.virtualbox.org/manual/ch06.html#networkingmodes ). Nếu bạn muốn kết nối chỉ giữa các VM thì đối với các thử nghiệm của bạn sẽ là bộ điều hợp Mạng nội bộ phù hợp hơn. Tuy nhiên từ bạn nhận xét tôi nhận được rằng bạn đang sử dụng NAT.

Tôi đã kiểm tra kịch bản bên dưới trên VirtualBox 5.0.2 trên máy chủ Mint 17.2 và khách Fedora 21:

Tạo VM chính với bộ điều hợp NAT mặc định. Tạo bản sao được liên kết ( https://www.virtualbox.org/manual/ch01.html#clone ) với tái khởi động lại MAC. Bản sao và VM gốc có cùng giá trị trong tệp:

/etc/sysconfig/network-scripts/ifcfg-enp0s3

Tuy nhiên

ip a

hiển thị các địa chỉ MAC khác nhau trên mỗi một.

Khi tôi cập nhật HWADDR trong tệp đó theo giá trị liên kết / ether từ lệnh ip và thay đổi UUID bằng tệp mới bằng cách sử dụng

uuidgen

sau đó mặc dù có cùng IP trên các giao diện (enp0s3) này trên các máy ảo gốc và nhân bản, mạng bên ngoài (Internet) vẫn hoạt động tốt.


0

Tôi đã gặp tình huống tương tự ngày hôm nay. Tôi đang sử dụng bộ điều hợp NAT và Bộ điều hợp Ethernet chỉ lưu trữ cho máy ảo Solaris của tôi. IP của bản sao đã thay đổi khi tôi làm mới địa chỉ mac của bộ điều hợp Chỉ lưu trữ.


-1

Tôi hiểu nỗi đau của bạn. Tôi nhân bản vm của tôi. Đã tạo Mac mới trên hộp ảo oracle, Đã khởi động nhân bản, thay đổi tên máy chủ và cập nhật tệp tập lệnh mạng với mac mới.

Khi được khởi động lại, nó vẫn sử dụng cùng một ip từ dhcp. Giao diện là trên cài đặt Nat.

:

Dave


1
Tốt bụng và thân thiện nhưng không phải là một câu trả lời cho câu hỏi.
Alexx Roche
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.