RHEL: 네트워크 인터페이스의 안정적인 이름 만들기

RHEL: 네트워크 인터페이스의 안정적인 이름 만들기

8개의 인터페이스를 갖춘 RHEL 5.5 상자가 있습니다. 그리고 eth인터페이스 이름도 매우 임의적입니다. 때로는 eth0일곱 번째 물리적 포트에 나타나기도 하고, 때로는 다른 물리적 포트에 나타나기도 합니다.

우리는 PCI 버스 순서대로 이름을 지정하기를 원합니다. 나는 조사를 했고 알아냈다.

cat /sys/devices/pci0000\:00/0000\:00\:1e.0/0000\:07\:07.0/net\:eth0/address\

이 위치에는 장치의 MAC 주소가 있습니다 eth. 따라서 해당 PCI 버스 위치의 순서대로 "주소"를 가져와 PCI 버스 위치 순서대로 배치하면 이름 ifconfig-eth0지정이 안정적이 됩니다.ifconfig-eth7eth

나는 시도했다:

find /sys/devices/ -name "address"

그러나 그것은 아무 일도 일어나지 않을 것입니다. 왜인지는 모르겠지만…

도움이 필요하세요?

답변1

다양한 이더넷 장치에 대해 다른 ifcfg-ethX 파일에 MAC 주소를 포함시켜 보셨습니까? 또한 udev 파일을 통해 어떤 장치가 어떤 ethX 핸들을 가져오는지 제어할 수 있습니다 60-net.rules.

예를 들어

# /etc/sysconfig/network-scripts/ifcfg-eth0

# Intel Corporation 82573E Gigabit Ethernet Controller (Copper)
DEVICE=eth0
BOOTPROTO=static
DHCPCLASS=
HWADDR=00:30:48:56:A6:2E
IPADDR=10.10.10.15
NETMASK=255.255.255.192
ONBOOT=yes

그런 다음 파일에서 /etc/udev/rules.d/60-net.rules:

KERNEL=="eth*", SYSFS{address}=="00:30:48:56:A6:2E", NAME="eth0"

나는 이 정보가 부팅할 때마다 장치의 구성을 일관되게 유지하는 데 사용된다고 생각합니다.

여러 ethX 장치 구성

/etc/sysconfig/network-scripts/ifcfg-ethX더 많은 장치를 처리하려면 각 장치에 해당하는 파일을 설정 하고 60-net.rules파일에 다른 줄을 추가하면 됩니다.

KERNEL=="eth*", SYSFS{address}=="00:30:48:56:A6:2E", NAME="eth0"
KERNEL=="eth*", SYSFS{address}=="00:30:48:56:A6:2F", NAME="eth1"

위는 CentOS 5.X에서 동작시키는 방법입니다. CentOS 6.x에서는 파일이 로 변경되고 70-persistent-net.rules형식도 약간 다릅니다.

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:ff:ff:dd", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

인용하다

답변2

내가 아는 한 비교적 새로운 버전이 필요합니다. 레드햇 6~인 것 같다이것을 지원하십시오 (네트워크 장치의 일관된 이름 지정) 실제로 필요하지만특별히 활성화됨대부분의 시스템에서.페도라 15+또한 이 작업을 수행하며 Fedora 17에서는 기본 모드인 것 같습니다.

이 변경 사항이 언제 완전히 채택되었는지는 알 수 없으며, 더 중요한 것은 이 변경 사항을 RHEL 5 시리즈로 백포트할 수 있는 방법이 있는지 여부입니다. 적어도 이것은 시작입니다.

답변3

다음을 통해 하드웨어 주소를 얻어야 합니다.

ifconfig -a | grep HWaddr

아마도:

tail -v /sys/devices/*/*/net/eth*/address
# or
tail -v /sys/devices/*/*/*/net/eth*/address

find이미 일치해야 합니다.

또한 확인하십시오:

cat /etc/udev/rules.d/70-persistent-net.rules

아래 댓글.

관련 정보