Debian Stretch에서 영구 네트워크 이름을 활성화하고 싶은데 가장 안정적인 방법은 ID_NET_NAME_PATH 속성을 사용하는 것 같습니다.
그러나 내 .link 파일은 무시되고 udev는 인터페이스 이름 지정에 자체 규칙을 사용하는 것 같습니다.
/lib/systemd/network/99-default.link의 복사본을 만들어 /etc/systemd/network에 넣고 NamePolicy를 NamePolicy=path로 변경했습니다.
예제 인터페이스는 경로가 아닌 "슬롯" 전략으로 이름이 지정된 것으로 보이는 ens2입니다. udevadm info /sys/class/net/ens2를 실행하면 다음이 제공됩니다.
P: /devices/pci0000:80/0000:80:02.0/0000:83:00.0/net/ens2
E: DEVPATH=/devices/pci0000:80/0000:80:02.0/0000:83:00.0/net/ens2
E: ID_BUS=pci
E: ID_MODEL_FROM_DATABASE=MT27500 Family [ConnectX-3]
E: ID_MODEL_ID=0x1003
E: ID_NET_DRIVER=mlx4_en
E: ID_NET_LINK_FILE=/etc/systemd/network/99-default.link
E: ID_NET_NAME_PATH=enp131s0
E: ID_NET_NAME_SLOT=ens2
E: ID_PATH=pci-0000:83:00.0
E: ID_PATH_TAG=pci-0000_83_00_0
E: ID_PCI_CLASS_FROM_DATABASE=Network controller
E: ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
E: ID_VENDOR_FROM_DATABASE=Mellanox Technologies
E: ID_VENDOR_ID=0x15b3
E: IFINDEX=8
E: INTERFACE=ens2
E: SUBSYSTEM=net
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/ens2
E: TAGS=:systemd:
E: USEC_INITIALIZED=15903053
내 질문은 인터페이스 이름이 enp131s0이 아닌 ens2인 이유는 무엇입니까?
답변1
update-initramfs -u
이러한 변경 사항이 적용되도록 허용 해야 합니다 . 그러면 /etc/systemd/network/99-default.link
udev에 필요할 때 초기 시스템 시작 시 사용할 수 있도록 생성한 파일이 initramfs에 복사됩니다.