네트워크 인터페이스 이름 바꾸기가 예상대로 작동하지 않습니다. 어디서 볼 수 있나요?

네트워크 인터페이스 이름 바꾸기가 예상대로 작동하지 않습니다. 어디서 볼 수 있나요?

시스템은 우분투 16.10입니다. 여러 번 업데이트되었으므로 이전 버전의 일부 남은 콘텐츠가 있을 수 있습니다(적어도 14.04로 돌아가거나 더 길어질 수 있음).

문제는 다음과 같습니다. 내 시스템(마더보드)에 두 개의 네트워크 인터페이스가 있습니다. 그 중 하나의 이름은 항상 eth0입니다. 두 번째는 사용되지 않습니다. 이제 네트워크에 새로운 상황이 생겼고 두 번째 인터페이스를 사용하고 싶습니다.

인터페이스 이름 바꾸기와 새로운 이름 바꾸기 규칙에 대해 많은 것을 배웠습니다. 그래서 두 번째 인터페이스는 enp5s0 같은 이름을 선택했는데 정확히 기억이 나지 않아서 이름을 바꿔야 했습니다. 그러나 이것이 내 문제가 시작되는 곳입니다.

/etc/udev/rules.d/70-persistent-net.rules내가 아는 한 eth0을 처리하는 방식은 더 이상 사용되지 않습니다. "eth1"(eth0 대신 mac을 사용)에 대한 두 번째 규칙을 추가하려고 시도했지만 작동하지 않았습니다.

그래서 읽은 후에 이전 파일을 삭제했습니다. 뭔가 오해했을 수도 있지만 오늘은 eth* 이름을 사용하는 것이 권장되지 않는다고 생각하여 lan0 및 lan1이라고 부르기로 결정했습니다(이것은 해당 파일의 목적을 설명합니다). 그런 다음 다음 위치에 새 파일을 추가했습니다 /etc/systemd/network.

10-eth-lan0.link
10-eth-lan1.link

이 내용으로:

[성냥]
MAC 주소=00:23:54:96:74:07/06

[협회]
이름=lan0/1

다른 MAC 주소와 다른 이름의 경우. eth0의 경우 이는 작동하는 것처럼 보이지만 eth1(또는 이유가 무엇이든)에서는 작동하지 않습니다. 왜 작동하지 않는지 혼란스러워요. 맥을 꼼꼼히 살펴봤습니다.

dmesg | grep eth는 다음을 보여줍니다.

[6.233684]sky2 0000:08:00.0 eth0:주소 00:23:54:96:74:07
[6.233975]sky2 0000:05:00.0 eth1:주소 00:23:54:96:74:06
[6.661954] sky2 0000:08:00.0 lan0: eth0에서 이름이 변경됨
[8.513836] sky2 0000:05:00.0 rename3: eth1에서 이름 바꾸기

지금 왜 "rename3"을 선택하는지 전혀 모르겠습니다... systemd 링크 파일이 작동하지 않는 것을 확인한 후 IP 링크 세트 이름을 사용하여 몇 가지 작업을 시도했습니다.

가장 혼란스러운 점은 eth0 -> lan0에서는 작동하지만 eth1 -> lan1에서는 작동하지 않는다는 것입니다. 이름 바꾸기가 작동하지 않는 이유를 알아보려면 무엇을 조사해야 합니까? 누가 여기에 물건을 캐시하나요? "ip linkset name"에는 몇 가지 지속적인 효과가 있습니다(예: enp5s0에서 변경하거나 "rename3"과 유사).

[편집] 이제 한 가지 더 깨달았습니다. 루프백 인터페이스의 이름이 lan1로 변경되었습니다. 왜 그런지 모르겠어. 하지만 이제는 부팅할 때마다 이런 일이 발생합니다. 또한 위에서 설명한 *.link 파일을 삭제했는데 이름 변경이 여전히 동일하게 발생합니다. ???/etc에서 lan0은 이제 한 번만 언급되고 /etc/network/interfaces lan1에서는 언급되지 않습니다. 누군가 이것을 어딘가에 저장해 두었는데, 누구인지, 어디에 있는지 모르겠습니다.

답변1

(이것이 RHEL 문서라는 것을 알고 있지만 실제로는 대략 udev)

장치 이름 변경 프로세스 이해

  1. /usr/lib/udev/rules.d/60-net.rules의 규칙은 udev 도우미 유틸리티 /lib/udev/rename_device가 모든 /etc/sysconfig/network-scripts/ifcfg-suffix 파일을 보도록 지시합니다. ifcfg 파일에서 인터페이스의 MAC 주소와 일치하는 HWADDR 항목을 찾으면 DEVICE 지시어에 의해 ifcfg 파일에 지정된 이름으로 인터페이스 이름이 변경됩니다.

그러니 네가 원한다면가장 단순한장치 이름을 바꾸려면 /etc/sysconfig/network-scripts/ifcfg-${INTERFACE_NAME}최소한 다음 내용을 포함하는 파일을 생성하십시오.

DEVICE=${INTERFACE_NAME}
HWADDR=${MAC_ADDRESS}

따라서 인터페이스에 MAC이 있고 00:11:22:33:44:55이를 호출하려는 경우penguin-interface

/etc/sysconfig/network-scripts/ifcfg-penguin-interface

DEVICE=penguin-interface
HWADDR=00:11:22:33:44:55

여기에서 모든 일반 설정을 사용할 수도 있습니다.


enp5s0이 이름들이 어떻게 생겨났는지 궁금하시다면 (이자형거기N기다리다성인5 에스많은0)https://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c#n20

관련 정보