리눅스(Linux) CentOS 7 네트워크 인터페이스(NIC) 확인시 디바이스 이름 규칙에 대해서
CentOS 7 버전에서 ifconfig 명령어를 통해 인터페이스 정보를 확인하는 경우 다음과 같은 디바이스명을 보신적이 있으실겁니다.



저의 경우에는 ens33이라고 되어있는데, 이는 CentOS 7에서 특정한 규칙에 의해 만들어진 디바이스명입니다. 과거의 CentOS 에서는 유선 LAN의 경우 eth0 과 같은 규칙으로 명명하였는데, CentOS 7 부터는 예측 가능한 네트워크 디바이스명이라는 규칙에 의해 이름이 결정됩니다.

과거에는 디바이스의 종류가 많지 않고 네트워크 카드를 여러개 사용하는 일이 별로 없었기에 디바이스명을 세분화 하지 않아도 됐었습니다. 그러나 현재로 오면서 무선, 유선, 블루투스 등 통신 방법도 다양해지고, USB, PCI 등의 슬롯 종류도 여러개가 됨과 동시에 여러개의 네트워크 인터페이스를 하나의 서버 장비에 장착하여 사용하기에 규칙이 필요해졌던 것입니다.


디바이스명 명명 규칙
이런 디바이스명 규칙은 systemd에 의해 결정 되는데, ens33의 경우 아래와 같은 형식으로 결정된 이름입니다.


1. 앞의 두자리 'en'의 경우 인터페이스 타입을 뜻합니다.
  • en - 이더넷
  • wl - 무선 LAN
  • ww - 무선 WAN


2. 슬롯별 설정
앞의 en은 이더넷이기에 붙여졌다면 s33은 BIOS에서 PCI express 핫 플러그 슬롯 인덱스 번호(여기서는 33)를 제공할때 사용됩니다.


그밖의 경우
  • 온보드 디바이스인 경우 - o<index>
    • ex) eno22 
  • MAC 주소 방식 - x<MAC>
    • ex) enxb23fd2asff..
  • PCI 위치, USB - p<bus>s<slot>
    • ex) enp3s32


만약 systemd가 위의 규칙으로 디바이스명을 결정하지 못했다면 과거의 방식대로 eth22와 같은 형식으로 이름을 결정합니다.

블로그 이미지

도로락

IT, 프로그래밍, 컴퓨터 활용 정보 등을 위한 블로그

댓글을 달아 주세요! 질문 환영합니다!