이더넷 인터페이스가 eth0 대신 enp0s10이라고 불리는 이유는 무엇입니까?


65

을 실행할 때 클래식 eth0이 아닌 loenp0s10 인터페이스 ifconfig -a만 얻습니다.

무엇 않습니다 enp0s10는 말인가요? eth0 이없는 이유는 무엇 입니까?


5
ifconfig더 이상 사용되지 않습니다. 이동에 대해 생각 ip에서 iproute2곧.
solsTiCe

1
대답에서 알 수 있듯이 그것은 체계적인 변화입니다. 등을 얻으려면 eth0커널 옵션을 사용 net.ifnames=0 biosdevname=0하십시오 (이 스레드 참조 ). ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rule아래 답변을 사용하면 데비안 10 (버스터)에서 작동하지 않았습니다
MrCalvin

답변:


56

이제 udevd가 이더넷 장치에 이름을 할당하는 방식이 변경되었습니다. 이제 장치는 다음을 기반으로 하고 소스를 인용하는 "예측 가능한 인터페이스 이름"을 사용합니다 .

  1. 온보드 장치에 대해 제공된 펌웨어 / BIOS 통합 이름 색인 번호 (예 : eno1)
  2. 펌웨어 / BIOS를 통합 한 이름으로 PCI Express 핫 플러그 ​​슬롯 인덱스 번호 제공 (예 : ens1)
  3. 하드웨어 커넥터의 물리적 / 지리적 위치를 포함하는 이름 (예 : enp2s0)
  4. 인터페이스의 MAC 주소를 통합 한 이름 (예 : enx78e7d1ea46da)
  5. 예측할 수없는 고전적인 커널 네이티브 ethX 이름 지정 (예 : eth0)

변경된 이유는 systemd freedesktop.org 페이지 와이를 비활성화하는 방법에 설명되어 있습니다.

ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules

또는 이전 버전을 사용하는 경우 :

ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules

7
freedesktop, org 링크에 이어 주요 요점은 다음과 같습니다.The classic naming scheme for network interfaces applied by the kernel is to simply assign names beginning with "eth" to all interfaces as they are probed by the drivers. As the driver probing is generally not predictable for modern technology this means that as soon as multiple network interfaces are available the assignment of the names is generally not fixed anymore and it might very well happen that "eth0" on one boot ends up being "eth1" on the next. This can have serious security implications...
lepe

86

"enp0s10은 무엇을 의미합니까?"에 대한 답변 질문:

enp0s10:
| | |
v | |
en| |   --> ethernet
  v |
  p0|   --> bus number (0)
    v
    s10 --> slot number (10)

출처 : GitHub의 udev-builtin-net_id.c


6
이것을 찾고있었습니다.
ffledgling

5
...fNNIC 이름의 끝에 부분 이 없기 때문에 함수 번호가 0이라고 추론 할 수 있습니다. 숫자를 16 진수 (16 진수 "10"로 16 진수)로 변환 한 후 enp0s10PCI 장치 ID 를 의미 00:0a.0합니다.
telcoM
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.