본문 바로가기

Engineering/Redhat Linux

[Redhat Linux] 네트워크 인터페이스 명 바꾸기

 

RHEL 7버전 이상부터 네트워크 인터페이스 명이 eth에서 ens, en0 등으로 바뀌었다.

현재 회사의 어플리케이션에서는 네트워크 인터페이스 명을 바라보고 동작하는 프로세스 들이 많기 때문에..

해당 부분에 개발 리소스를 투자하는 것 보다는 OS 설치 시네트워크 인터페이스 명을 바꾸는 쪽을 택했다.


[01] grub 파일 커맨드 라인 변경

 

  • vi /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto net.ifnames=0 biosdevnames=0"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true

 

 

GRUB_CMDLINE_LINUX: 부팅 시 grub이 커널에 전달할 파라미터를 지정하는 라인 -> 해당 라인에 net.ifnames=0추가한다. Dell h/w의 경우 biosdevnames=0추가한다.

 

  • 참고.
The biosdevname is enabled by default on systems running RedHat based on Dell hardware.
The net.ifnames=0 is a kernel parameter that disables the Predictable Network Interface renaming behavior.

[02] grub.cfg 파일 re-building 

 

  • grub2-mkconfig -o /boot/efi/EFI/Redhat/grub.cfg

위에서 수정한 /etc/default/grub 파일을 참조하여, grub2-mkconfig 를 통해 /boot/efi/EFI/Redhat/grub.cfg 파일을 리빌딩한다. 복잡하기도하다.

 

부트 모드가 legacy 모드라면, /boot/grub2/grub.cfg를 리빌딩해주면 된다.

참고로 해당 파일을 직접 수정해선 안된다. 파일의 첫 줄부터   # DO NOT EDIT THIS FILE   라며 단단히 경고를 하고있다.


[03] ifcfg 파일 수정

  • mv /etc/sysconfig/network-scripts/ifcfg-ens192 /etc/sysconfig/network-scripts/ifcfg-eth0

ifcfg파일 명을 ens, eno 등에서 eth로 변경해준다.

 

  • vi /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=eth0		#NAME과
DEVICE=eth0		#DEVICE 명도 바꿔준다
ONBOOT=yes
IPADDR=172.16.22.131
NETMASK=255.255.0.0
GATEWAY=172.16.0.1

 

 

 

위의 과정들을 모두 마쳤으면 시스템을 재부팅한다.