Linux 시스템의 이더넷 및 Wi-Fi 인터페이스에 대한 표준 명명 규칙

Linux 시스템의 이더넷 및 Wi-Fi 인터페이스에 대한 표준 명명 규칙

무엇인가요이더넷 및 Wi-Fi 인터페이스의 표준 명명 규칙Linux 머신에서?

우리는 오직 표시만 하는 도구를 개발 중입니다.Linux 시스템의 이더넷 및 Wi-Fi 인터페이스와 현재 상태.

예를 들어, 다음은 내 Linux(Ubuntu) 시스템의 네트워크 인터페이스(물리적 및 가상) 목록입니다.

docker0, enp0s25, lo,wlp3s0

도구를 실행하면 다음과 같은 결과가 나타납니다.

enp0s25,wlp3s0

우리 코드의 논리는 모든 이더넷 인터페이스가 항상 문자로 시작 e하고 Wi-Fi 인터페이스가 항상 문자로 시작한다는 것 입니다 w.

논리가 맞나요? 그렇지 않다면 이 문제를 어떻게 해결합니까?

답변1

네트워크 인터페이스의 이름은 임의로 지정할 수 있으므로 무엇을 하든 다음 상황에 직면하게 됩니다. (1) 패턴과 일치하지 않는 이름을 가진 "물리적" 네트워크 인터페이스가 있거나 (2) " 패턴 패턴 일치와 일치하지 않는 물리적" 네트워크 인터페이스입니다.

요점은 제가 귀하의 도구를 사용하는 경우 "가상" 네트워크 인터페이스가 있기 때문에 귀하의 도구를 사용하여 제가 원하는 작업을 수행할 수 없다는 것입니다. 하지만 실용적인 목적을 위해서는 설정에서 "물리학"으로 간주해야 하며 나는 당신의 앱을 크고 강력하게 저주하고 다시는 사용하지 않을 것입니다.

물리적 네트워크 인터페이스와 가상 네트워크 인터페이스 모두 공통 API를 공유하므로 Linux가 매우 유연해집니다. 사용자를 돌보거나 빼앗으려고 하지 마십시오. 사용자는 감사할 것입니다.

답변2

시스템의 경우예측 가능한 인터페이스 이름, 접두사는 다음과 같을 수 있습니다.udev-builtin-net_id.c. 인터페이스 유형에 따른 두 문자 접두사입니다.

전통적인 네이밍과 새로운 시스템 네이밍의 의미를 위해 ethX첫 글자는이자형자동으로 생성된 인터페이스 이름은 이더넷 인터페이스여야 합니다. 모든 Wi-Fi 인터페이스는 다음과 같아야 합니다.두 시나리오 모두에서 모든 인터페이스가 다음으로 끝나는 것은 아니지만Wi-Fi가 됩니다.

이 도구가 임의의 환경(귀하가 제어하는 ​​내부 환경뿐만 아니라)에서 작동해야 하는 경우 사용자는 임의의 이름으로 Linux 시스템에서 인터페이스 이름을 바꿀 수 있습니다(예: 이니셜 wan0에 관한 규칙을 어기게 됨) .lan0lan1dmz0

답변3

명명 규칙은 LAN 인터페이스의 이름을 eth0, eth1, ...로 지정하고 WLAN 인터페이스의 이름을 wlan0, wlan1, ... 로 지정하는 것입니다.

당신이 보고 있는 것은 systemd에 의해 도입된 소위 "예측 가능한 이름"입니다. 실제로는 예측할 수 없으며 하드웨어가 변경되는 경우에도 변경될 수 있습니다. 이는 정확히 피해야 할 문제입니다.

추측컨데, 시작 글자로 충분할 것입니다. 일부 인터페이스, 특히 WLAN에는 다음과 같은 프롬프트가 있습니다 /sys/class/net/*/uevent.

DEVTYPE=wlan

DEVTYPE불행하게도 LAN 인터페이스에는 그러한 인터페이스가 없습니다.

답변4

결합되거나 구성된 인터페이스를 명시적으로 제외했습니까? 여기서 기본값은 bond0또는 team0서버의 기본 인터페이스로 사용하는 것입니다.

논리를 다시 생각해 볼 필요가 있다고 생각합니다. 어쩌면 주어진 시스템에 정의된 모든 네트워크 인터페이스를 반복하여 이더넷, Wi-Fi, 인피니트, 직렬 등으로 나누어 마법을 부려보세요.

관련 정보