1. 개요
- 부팅 시 네트워크 인터페이스의 이름이 자동으로 생성되며, 전통적인
eth0
,eth1
대신enp5s0f0
,ens3
등의 이름이 사용됩니다. - predictable naming 정책에 따른 것으로, 네트워크 장치가 예측 가능한 이름을 가지게 하여 충돌을 방지하는 장점이 있지만, 자동화 또는 레거시 시스템과의 호환성을 고려할 때는 오히려 불편할 수 있습니다.
- udev 규칙을 이용해 네트워크 장치명을
eth0
과 같은 전통적인 이름으로 고정하는 방법을 소개합니다.
2. 버전
- Rocky Linux 9.5
3. 설명
3-1. Predictable Network Interface Naming이란?
- RHEL 계열 배포판에서는 예전에는 네트워크 장치가
eth0
,eth1
,wlan0
처럼 이름이 붙었지만, 장치가 추가되거나 PCI 순서가 변경되면 이름이 바뀌는 문제가 있었습니다. - 이 문제를 해결하기 위해 systemd 및 udev는 Predictable Naming이라는 방식을 도입했습니다.
인터페이스 이름 | 의미 |
---|---|
enp5s0f0 | e thernet, n umbered p CI bus 5, slot 0, function 0 |
3-2. udev 란?
- udev (user-space device manager)는 Linux에서 하드웨어 장치의 동작을 감시하고, 해당 장치에 대해 규칙을 적용하여 이름, 권한, 링크 등을 자동으로 설정해주는 역할을 합니다.
- 규칙 파일은
/etc/udev/rules.d/
에 저장하여 시스템 부팅 시 자동 적용됩니다.
4. 인터페이스 정보 확인
4-1. 현재 장치 이름과 MAC 주소 확인
# ip link show enp5s0f0
출력 예시:
2: enp5s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 00:25:90:e0:b6:0e brd ff:ff:ff:ff:ff:ff
4-2. 장치 타입 확인
# cat /sys/class/net/enp5s0f0/type
출력 예시:
1
값 | 의미 |
---|---|
1 | Ethernet 장치 |
512 | InfiniBand 등 특수 장치 |
5. udev 규칙 설정
5-1. udev 규칙 파일 생성
# vi /etc/udev/rules.d/70-persistent-net.rules
설정 예시:
SUBSYSTEM=="net",ACTION=="add",ATTR{address}=="00:25:90:e0:b6:0e",ATTR{type}=="1",NAME="eth0"
5-2. initramfs 재생성
initramfs
는 부팅 시 로딩되는 루트 파일시스템이며, udev 규칙이 반영되도록 갱신해야 합니다.
# dracut -f
5-3. NetworkManager 설정
5-3-1. 기존 프로파일 확인
# nmcli -f device,name connection show
출력 예시:
DEVICE NAME
enp5s0f0 Wired connection 1
lo lo
-- enp5s0f1
5-3-2. 명시된 인터페이스 연결 제거
# nmcli connection modify "Wired connection 1" connection.interface-name ""
5-3-3. 새로운 이름과 이전 이름 모두를 허용하여 매칭 가능하게 설정
# nmcli connection modify "Wired connection 1" match.interface-name "eth0 enp5s0f0"
5-3-4. 기존 연결 삭제
# nmcli connection delete "Wired connection 1"
5-4. 시스템 재부팅
# reboot
6. 설정 확인
# ip link show eth0
출력 예시:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 00:25:90:e0:b6:0e brd ff:ff:ff:ff:ff:ff
altname enp5s0f0