Làm cách nào để sửa lỗi mạng bị hỏng trong các máy ảo nhân bản?


27

Tôi đã thiết lập một máy ảo được cấu hình với mạng cầu nối . Sau khi tạo tám bản sao của nó, các máy mới không thể kết nối với mạng.

Tôi đã hướng dẫn VirtualBox tạo lại địa chỉ mac của máy.

Câu trả lời:


26

udevcác quy tắc ngăn giao diện mới được đưa lên.

Trong máy chủ, chỉ cần xóa chúng trước khi sao chép các máy mới:

sudo rm -f /etc/udev/rules.d/70-persistent-net.rules

( nguồn )


Các net.rules 70 liên tục xuất hiện trong lần khởi động tiếp theo của máy chủ và nhân bản vms. Bạn đã đối mặt với vấn đề đó?
Manish

Xóa một tập tin làm cho -fcờ lực lượng không cần thiết.
k0pernikus

Các -flá cờ làm cho rmlệnh thành công với một tình trạng 0 ngay cả khi tập tin không tồn tại. Thói quen của lực lượng. :)
Stefano Palazzo

6

Làm mới địa chỉ MAC của bạn bằng cài đặt máy Virtual Box và xóa tệp quy tắc giao diện mạng của kernel để có thể được tạo lại:

sudo rm -f /etc/udev/rules.d/70-persistent-net.rules
sudo reboot

Nó sẽ hoạt động cho máy ảo nhân bản của bạn.


1
Cá nhân, tôi sẽ sao chép tệp quy tắc ở đâu đó thay vì chỉ xóa nó hoàn toàn, chỉ trong trường hợp bạn cần khôi phục nó.
David Edwards

Điều này làm việc cho tôi!
david.libremone

@DavidEdwards Nếu không có, tệp được tạo bởi HĐH trong khi khởi động. Nếu bạn thực sự cần bản sao cũ (bản có địa chỉ MAC sai), bạn luôn có thể truy xuất nó từ VM gốc.
MrWonderful

4

Tôi đã đối phó với cùng một vấn đề trong nhiều tháng và hôm nay tôi quyết định sẽ tìm cách khắc phục tốt hơn. Đây là những gì tôi đã làm trên máy tôi đang sử dụng làm Mẫu.

Đối với thực hành quản trị tốt sao lưu cả hai tập tin trước khi chỉnh sửa.

Bạn có hai tệp vi phạm / mục tiêu:

  1. /etc/sysconfig/network-scripts/ifcfg-eth0
  2. /etc/udev/rules.d/70-persistent-net.rules

Điều này sẽ làm việc cho một statichoặc dhcpđịa chỉ:

Mở /etc/sysconfig/network-scripts/ifcfg-eth0

Xóa dòng Địa chỉ MAC: HWADDR=XX:11:22:XX:33:XX
Lưu tệp.

Xóa tệp /etc/udev/rules.d/70-persistent-net.rules"nó sẽ được tạo lại sau khi bạn khởi động lại VM"

sudo rm -f /etc/udev/rules.d/70-persistent-net.rules

Bây giờ bạn có thể sao chép hộp của mình và mọi bản sao sẽ triển khai và hiển thị chính xác eth0.

Nếu bạn không sử dụng một mẫu, bạn có thể hoàn tất các quy trình này trên máy ảo thực tế, chỉ cần nhớ khởi tạo lại NIC của bạn trong phần mềm VM trước khi bạn khởi động lại máy.


Điều này có vẻ như một câu trả lời đầy đủ hơn. Bạn có thể cung cấp chi tiết cụ thể hơn về phần "khởi tạo lại NIC" trong đoạn cuối không? Ngoài ra phiên bản VirtualBox nào bạn đang sử dụng?
RichVel

Cũng như một ghi chú, tôi không thể tìm thấy thư mục / etc / sysconfig trong Ubuntu 16.04.
MakisH

1
Giao diện mạng @MakisH trong Debian / Ubuntu không được xác định bởi các tệp trong / etc / sysconfig / network-scripts (như bạn đã nhận thấy, thậm chí không có thư mục / etc / sysconfig), mà bằng / etc / network / giao diện.
Devin Norgarb

1

Tôi đã gặp vấn đề tương tự trên một phiên bản VirtualBox trước đó và tôi đã đọc ở đâu đó rằng có một lỗi khiến hộp đánh dấu "tạo địa chỉ MAC mới" trở nên vô dụng.

Tôi hiện đang sử dụng Ubuntu 12.04 với VirtualBox 4.2.10. Bây giờ tôi nhận thấy rằng khi tôi tạo bản sao, không có hộp đánh dấu để "tạo địa chỉ MAC mới".

Điều này mang lại cho tôi một số vấn đề ngay cả khi tôi đã xóa 70-kiên trì net.rules vì ​​hệ thống sẽ tự động tạo tệp khi khởi động với cùng địa chỉ MAC như bản gốc, khiến nó không thể kết nối.

Nhưng tôi phát hiện ra rằng trong VirtualBox Manager, bạn có thể chọn bản sao, đi tới Cài đặt> Mạng> Nâng cao và tạo địa chỉ MAC mới bằng cách đánh dấu vào ô.

Vì vậy, những gì tôi đã làm là xóa 70-kiên trì net.rules trước tiên, tắt, tạo địa chỉ MAC mới và bắt đầu lại, và bây giờ nó hoạt động.

Ngoài ra, bạn có thể xóa tệp trước khi sao chép. Sau đó tạo địa chỉ MAC, sau đó bắt đầu nhân bản. Điều đó nên làm việc là tốt.


0

Tôi đang xây dựng môi trường điện toán song song cần kết nối giữa máy ảo thông qua mạng ip.

Tôi nghĩ rằng có một cái gì đó liên quan đến việc tạo lại địa chỉ mac của máy. Tôi đã phải đối mặt với vấn đề tương tự trước đây.

Các máy ảo ban đầu có eth0eth1. Nhưng do quá trình tái sinh, trong trường hợp của tôi, máy nhân bản mới đã eth2eth3. bạn có thể kiểm tra nó bằng lệnh sau:

ifconfig -a | grep eth

Bạn có thể kiểm tra bằng ifconfiglệnh rằng trong máy nhân bản mới chỉ được lođăng ký. Nói chung, bạn nên có lo, eth0eth1khi bạn gõ ifconfiglệnh.

Đó là do tái tạo MAC mà trong máy nhân bản, có eth2eth3giao diện Ethernet thay vì eth0eth1trong máy ban đầu. Bạn cũng có thể kiểm tra /etc/network/interfacestrong máy gốc mà trong trường hợp của tôi sẽ xuất hiện như sau:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static

address 192.168.xxx.xxx
netmask 255.xxx.xxx.0
network 192.168.xxx.0
broadcast 192.168.xxx.255
gateway 10.0.x.xx

Có thể bạn có thể sửa đổi của bạn /etc/network/interfacestập tin và thay đổi eth0eth1với eth2eth3, trong đó nhiều hay ít như thế này:

auto lo
iface lo inet loopback

auto eth2
iface eth2 inet dhcp

auto eth3
iface eth3 inet static

address 192.168.xxx.xxx
netmask 255.xxx.xxx.0
network 192.168.xxx.0
broadcast 192.168.xxx.255
gateway 10.0.x.xx

Vì vậy, chúc các bạn may mắn!


0

Tôi đã xóa tệp 70-Persitent-net.rules nhưng nó không được tạo lại sau khi khởi động lại. Sau đó, cài đặt lại mô-đun bổ sung khách và khởi động lại VM làm việc cho tôi.


0

Tôi gặp vấn đề với cùng một địa chỉ IP sau khi sao chép 3 VM với Virtual BOX (4.3). VÌ tôi tắt nguồn máy và tạo lại địa chỉ mac mới và khởi động lại nó hoạt động với tôi.

bước => tắt VM nhân bản và sau đó cài đặt => mạng => nâng cao => nhấp vào làm mới địa chỉ MAC => clik OK. sau đó khởi động VM.

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.