[unix] Udev : 네트워크 인터페이스 이름 바꾸기

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

모호한 이유로 Gb0Gb1을udev 선택했습니다 . 이것은 확실히 나에게 좋은 발견이 아니며 혼란을줍니다. eth1 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로그 I는 다음을 읽을 수 있습니다 :

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

여기서 무엇이 잘못되었는지에 대한 아이디어가 있습니까? 왜 이런 식으로 udev전환합니까? 이 문제가없는 다른 유사한 서버가 있습니다.



답변

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

KERNEL="eth*",

/etc/udev/rules.d/70-persistent-net.rules파일 에서 규칙의 일부 . 이는 UDEV가 장치 이름을 “이름 바꾸기 *”로 바꾸면이 부분이 규칙 일치를 중지하기 때문에 작동합니다. 따라서 이름을 제거하면 그 동안 UDEV가 호출 한 내용에 관계없이 올바른 이름을 올바른 장치에 할당 할 수 있습니다.


답변

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

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

mac 주소에 대해 ifcfg 파일과 net.rules간에 일관성이 필요합니다.


답변

간단히 삭제 /etc/udev/rules.d/70-persistent-net.rules하고 재부팅 하여이 문제를 해결할 수있었습니다 .


답변

공백을 만들려고 /etc/udev/rules.d/80-net-name-slot.rules했습니까?

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

나는 비슷한 질문에 대답했다 : Creating eth0 with consistent network device naming


답변

eth0, eth1, wlan0, wlan1 등이 표준 커널 이름이기 때문에 발생할 수 있습니다 (비 지속적 체계 이름 지정의 경우). udev 문서에서는 다음과 같이 말했습니다.

이름

네트워크 인터페이스에 사용할 이름입니다. 인터페이스 이름 설정을위한 상위 레벨 메커니즘은 systemd.link (5)를 참조하십시오. 장치 노드의 이름은 udev 로 변경할 수 없으며 추가 심볼릭 링크 만 만들 수 있습니다.

따라서 udev 규칙에 eth *, wlan * 등의 이름을 사용하지 마십시오.


답변