Tôi đang cố gắng viết một quy tắc udev "chung" để gán tên giao diện cho thẻ NIC của mình.
Đối với một ứng dụng cụ thể, tôi yêu cầu khả năng khởi động một máy chủ không đầu, nơi có thể thay đổi NIC tại bất kỳ thời điểm nào. Tuy nhiên, Make và model của NIC sẽ giữ nguyên.
Vì vậy, tôi đã tấn công vấn đề bằng cách viết một quy tắc udev chung sẽ gán tên được yêu cầu (để sau này được khớp với các cài đặt mạng tĩnh cụ thể) cho bất kỳ NIC nào khớp với Vednor và ID Model. sản phẩm udevadm của tôi:
micromass@ComExATE:/sbin> sudo ./udevadm info --attribute-walk --query=all --pat h=/sys/class/net/eth4
P: /devices/pci0000:00/0000:00:1c.5/0000:05:00.0/net/eth4
E: UDEV_LOG=3
E: DEVPATH=/devices/pci0000:00/0000:00:1c.5/0000:05:00.0/net/eth4
E: INTERFACE=eth4
E: IFINDEX=2
E: SUBSYSTEM=net
E: ID_VENDOR_FROM_DATABASE=Broadcom Corporation
E: ID_MODEL_FROM_DATABASE=NetXtreme BCM5761 Gigabit Ethernet PCIe
E: ID_BUS=pci
E: ID_VENDOR_ID=0x14e4
E: ID_MODEL_ID=0x1681
vì vậy quy tắc của tôi trông như thế này:
SUBSYSTEM=="net", ACTION=="add", ATTR{IDVENDOR_ID}=="0x14e4", ATTR{ID_MODEL_ID}=="0x1681", NAME="my-device"
Tuy nhiên không có may mắn. Vì vậy, tôi đã thử một cái gì đó đơn giản hơn một chút và quyết định khớp 3 bộ địa chỉ MAC đầu tiên (được gán cho nhà cung cấp)
SUBSYSTEM=="net", ACTION=="add", ADDRESS=="00:30:64??:??:??", NAME="my-device"
Vẫn không có may mắn. Tôi dường như không bao giờ thay đổi các quy tắc này để thêm liên kết tượng trưng thay vì đổi tên.
Không chắc chắn nơi để đi từ đây để bất kỳ trợ giúp sẽ là tuyệt vời.