Udev: 내 네트워크 인터페이스 이름 바꾸기

Udev: 내 네트워크 인터페이스 이름 바꾸기

방금 설치했어요RHEL 6.3Dell 1950 서버에서. 서버에는 2개의 GBit 포트(Gb0 및 Gb1)가 있습니다.

알 수 없는 이유로 udev이름이 선택되었습니다.기가비트 eth1그리고국가 표준 1 eth0. 이것은 확실히 나에게 좋은 발견이 아니며 단지 혼란을 야기할 뿐입니다.

그래서 구성을 수정했습니다 /etc/udev/rules.d/70-persistent-net.rules.

# PCI device 0x14e4:0x164c (bnx2)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", \
  ATTR{address}=="00:20:19:52:d3:c0",           \
  ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x14e4:0x164c (bnx2)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", \
  ATTR{address}=="00:20:19:52:d3:be",           \
  ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

방금 원하는 내용을 반영하기 위해 파일의 "NAME" 필드를 변경했습니다. 성공하지 못한 채 서버를 다시 시작했습니다.

dmesg로그 에서 다음을 읽을 수 있습니다.

udev: renamed network interface eth1 to rename5
udev: renamed network interface eth0 to eth1
udev: renamed network interface rename5 to eth0

여기서 무슨 일이 벌어지고 있는지 아시나요? 왜 udev이렇게 전환되나요? 이 문제가 없는 또 다른 유사한 서버가 있습니다.

답변1

제 경우에는 각 인터페이스의 MAC 주소가 세 개의 파일에 설정되어 있다는 사실에서 문제가 발생했습니다.

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

일관성을 유지하려면 ifcfg 파일과 net.rules의 mac 주소가 필요합니다.

답변2

많이 늦었지만 삭제하여 문제를 해결했습니다.

KERNEL="eth*",

파일에 있는 규칙의 일부입니다 /etc/udev/rules.d/70-persistent-net.rules. 이는 UDEV가 장치 이름을 "rename*"으로 바꾸면 이 부분이 규칙 일치를 중지하기 때문에 작동합니다. 따라서 이를 제거하면 UDEV가 동시에 무엇을 호출하는지에 관계없이 올바른 장치에 올바른 이름이 할당됩니다.

답변3

/etc/udev/rules.d/70-persistent-net.rules문제를 해결하기 위해 방금 삭제하고 다시 시작했습니다.

답변4

공백을 만들어 보셨나요 /etc/udev/rules.d/80-net-name-slot.rules?

Udev v197부터 udev는 예측 가능한 네트워크 인터페이스 이름을 구현했습니다. 해당 경로에 빈 파일을 만들고 재부팅하면 인터페이스 이름을 원래 이름으로 되돌려야 합니다.

나는 비슷한 질문에 다음과 같이 답변했습니다.Creating eth0 with consistent network device naming

관련 정보