Làm thế nào để bạn thiết lập lại /etc/networking/interfaces
khi sử dụng "tên giao diện mạng dự đoán"?
Các phiên bản Ubuntu cũ hơn 15.10 sử dụng tên bộ điều hợp mạng như:
eth0
eth1
eth2
Việc thay thế card mạng hoặc chuyển vm sang một trình ảo hóa mới sẽ khiến Linux tăng số giao diện. Xóa /etc/udev/rules.d/70-peristent-net.rules
sẽ làm cho Linux sử dụng lại eth0
.
Ubuntu 15.10 và mới hơn sử dụng ' Tên giao diện mạng có thể dự đoán '. Tên bộ điều hợp mạng được lấy từ địa chỉ mac.
ens3
ens32
ens192
Khi di chuyển một vm, mạng sẽ không bắt đầu vì /etc/network/interfaces
vẫn tham chiếu bộ điều hợp mạng không tồn tại cũ.
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto ens32
iface ens32 inet dhcp
pre-up sleep 2
Cách tốt nhất để thiết lập lại tập tin / etc / mạng / giao diện là gì?
Tôi cần thực hiện hành động này trước khi tắt vm và chuyển sang một trình ảo hóa mới vì tôi đang sử dụng trình đóng gói để tạo hình ảnh vàng tự động, dựa trên hình ảnh vàng của đầu bếp / bento .
Tôi đã tìm thấy xóa / etc / mạng / giao diện không hoạt động do tệp không được tự động phục hồi trong lần khởi động tiếp theo sau khi di chuyển.
Tôi đã thử chỉnh sửa tệp grub của mình để trở lại quy ước đặt tên 'eth0'. Mặc dù / etc / network / interface không đề cập đến tên cũ (eth0), vm sẽ không nhận được ip và bất kỳ lần khởi động lại nào cũng sẽ khiến vm sử dụng quy ước đặt tên mới. Ngoài ra, tôi đã tìm thấy systemd sẽ luôn được ưu tiên trừ khi tôi có thể đảm bảo duy biosdevname=0
trì vĩnh viễn trong cấu hình grub . Không chắc chắn làm thế nào để áp dụng vĩnh viễn này
GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0 bios.devname=0"
Nếu có thể, tôi không nên sử dụng init init trên đám mây hoặc sử dụng bất kỳ tập lệnh khởi động bài đăng nào vì tôi muốn giữ hình ảnh vàng càng sạch càng tốt.
Chắc chắn đây là vấn đề mà các nhà cung cấp đám mây (Azure, AWS, RackSpace, Openstack) đã giải quyết khi họ nhập vms. Tôi có thể không phải là người đầu tiên thử và di chuyển một vm bằng tên giao diện mạng có thể dự đoán được.
Tôi đã thử chạy các lệnh này trước khi tắt và di chuyển vm
apt-get remove biosdevname -y;
ln -s /dev/null /etc/systemd/network/99-default.link;
Tôi tìm thấy khi tôi di chuyển vm, điều đó /etc/network/interfaces
và ip address
vẫn đề cập đếnens32