Tên giao diện mạng có thể dự đoán sẽ không được thay đổi khi phần cứng được thêm hoặc xóa. Không phải đó là toàn bộ quan điểm của kế hoạch đặt tên sao?
Câu chuyện dài, điều này không có gì mới; đó là dự kiến / dự định. Do đó, bạn không cần phải báo lỗi, trừ khi bạn muốn yêu cầu nhà sản xuất PC của mình hỗ trợ Linux tốt hơn (BIOS) hoặc nhà sản xuất phần cứng (trình điều khiển). Một số tùy chọn nếu bạn muốn cải thiện tình hình cho các thiết bị cắm nóng và / hoặc quay lại sơ đồ đặt tên cũ:
- Vô hiệu hóa sơ đồ đặt tên mới cho các thiết bị mạng với
net.ifnames=0
kernel cmdline
- Thêm
biosdevname=1
dòng lệnh kernel để kết hợp số chỉ mục do BIOS cung cấp vào tên
- Tạo hoặc chỉnh sửa
udev
quy tắc cho tên tùy chỉnh hoặc thay đổi cách đặt tên
- Bạn vô hiệu hóa việc gán tên cố định, để tên hạt nhân không thể đoán trước được sử dụng lại. Đối với điều này, chỉ cần che dấu tệp .link của udev cho chính sách mặc định:
ln -s /dev/null /etc/systemd/network/99-default.link
Nếu bạn đang sử dụng systemd
và / hoặc udev
, đối số "lược đồ đặt tên dự đoán" có thể khác so với trước đây. Tuy nhiên, dựa trên sơ đồ đặt tên của giao diện WiFi, tôi giả sử rằng bạn đang sử dụng một hệ thống systemd
.
Bạn có thể thử nối thêm tham số khởi động sau vào dòng lệnh kernel để sử dụng quy ước đặt tên "cũ" của các thiết bị mạng. Tuy nhiên, tôi không hoàn toàn chắc chắn những gì, nếu có, các hiệu ứng bổ sung này có thể có ngoài việc giữ lại sơ đồ đặt tên cho các thiết bị mạng.
net.ifnames=0
Thêm nó để /etc/default/grub
có thể tạo điều kiện cho sự kiên trì và tái sử dụng tham số này; một lần nữa, giả sử bạn đang sử dụng grub2
:
GRUB_CMDLINE_LINUX="net.ifnames=0"
Nếu udev
sử dụng phần sụn thiết bị, vị trí và các tùy chọn khác khi xác định tên thiết bị, thì có lẽ vị trí hoặc thứ khác có thể đã thay đổi bên trong, tùy thuộc vào cách các thiết bị có liên quan tương tác với nhau. Điều này có vẻ không liên quan ở đây, vì các thiết bị là bộ điều hợp WiFi và soundcard. Tuy nhiên, nó có thể liên quan đến cấu trúc xe buýt cơ bản; có vẻ như có liên quan, vì cả hai thiết bị đều được kết nối với khe cắm PCI.
Thông tin bổ sung từ FedoraDocs
8.1. Hệ thống phân cấp đặt tên
Theo mặc định, systemd sẽ đặt tên giao diện bằng chính sách sau để áp dụng các lược đồ đặt tên được hỗ trợ:
Sơ đồ 1: Tên kết hợp Firmware hoặc BIOS được cung cấp số chỉ mục cho các thiết bị trên bo mạch (ví dụ: eno1), được áp dụng nếu thông tin đó từ phần sụn hoặc BIOS có thể áp dụng và có sẵn, khác với sơ đồ 2.
Sơ đồ 2: Các tên kết hợp Firmware hoặc BIOS được cung cấp số chỉ mục khe cắm cắm nóng PCI Express (ví dụ: ske1) được áp dụng nếu thông tin từ phần sụn hoặc BIOS có thể áp dụng và có sẵn, khác với sơ đồ 3.
Sơ đồ 3: Tên kết hợp vị trí vật lý của đầu nối của phần cứng (ví dụ: enp2s0), được áp dụng nếu có thể, nếu không thì rơi trực tiếp vào sơ đồ 5 trong tất cả các trường hợp khác.
Sơ đồ 4: Tên kết hợp địa chỉ MAC của giao diện (ví dụ: enx78e7d1ea46da), không được sử dụng theo mặc định, nhưng có sẵn nếu người dùng chọn.
Sơ đồ 5: Sơ đồ đặt tên kernel truyền thống không thể đoán trước, được sử dụng nếu tất cả các phương thức khác không thành công (ví dụ: eth0).
Chính sách này, thủ tục được nêu ở trên, là mặc định. Nếu hệ thống đã bật tên miền sinh học, nó sẽ được sử dụng. Lưu ý rằng việc bật tên miền sinh học yêu cầu chuyển biosdevname=1
dưới dạng tham số dòng lệnh ngoại trừ trong trường hợp hệ thống Dell, trong đó tên miền sinh học sẽ được sử dụng theo mặc định miễn là nó được cài đặt. Nếu người dùng đã thêm udev
các quy tắc thay đổi tên của thiết bị kernel, các quy tắc đó sẽ được ưu tiên.
Tài nguyên bổ sung