본문 바로가기

OS & network/linux

오란클 엔터프라이즈 리눅스 7 의 NIC 인터페이스 명 변경하기

안녕하세요 테크넷 마스터 김재벌입니다.

제목은 제가 "오라클 엔터프라이즈 리눅스 7"으로 달았지만, RHEL 7 이나 CentOS 7 , Fedora 에도 모두 적용 됩니다.

당연하게 오라클 리눅스도 RHEL 7 기반이기 때문에..


OEL7 이나 RHEL7을 설치하고 나서 NIC을 확인해 보면 좀 당황하게 됩니다.

그도 그럴것이 NIC 이름이 기본 eth0 가 맞을 터인데 , 떡하니 eno16777736 녀석이 자리 잡고 있으니까요.


사실 OEL 7 이나 RHEL 7은 변화가 많은 녀석입니다.

당장 init 이 사라지고 , systemd 로 관리되고 , 네트워크 관리 방법이나 방화벽 구성 부분도 꽤 많이 변화가 있습니다.

물론, 가상화나 오픈스택 지원 부분이 강화된 부분은 별개로 하더라도...


암튼, 이 이름이 맘에 안드시는 분들이 많을 것 같네요.

무엇보다 오랜기간 사용해 보셨던 분들이라면...


해당 이름을 변경하는 방법을 정리해 보고자 합니다.


1. nic 을 확인하기 위해서 아래와 같이 수행해 봅니다.

[root@localhost /]# ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127.0.0.1/8 scope host lo

    inet6 ::1/128 scope host 

       valid_lft forever preferred_lft forever

2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:21:a6:95 brd ff:ff:ff:ff:ff:ff

3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN 

    link/ether 82:51:91:6a:74:61 brd ff:ff:ff:ff:ff:ff

    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0

이름이 마음에 안듭니다...ㅜㅜ

이 녀석을 변경해 보도록 하겠습니다.


2.아래와 같이 grub 설정 파일을 열어서 GRUB_CMDLINE_LINUX 항목에 붉은색 부분을 추가해 줍니다.

[root@localhost /]# 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="vconsole.font=latarcyrheb-sun16 vconsole.keymap=ko net.ifnames=0 biosdevname=0 rd.lvm.lv=ol/root crashkernel=auto  rd.lvm.lv=ol/swap rhgb quiet"

GRUB_DISABLE_RECOVERY="true"


3.grub2-mkconfig 명령을 이용하여 grub.cfg 파일을 생성해 줍니다.

[root@localhost network-scripts]# grub2-mkconfig -o /boot/grub2/grub.cfg

Generating grub configuration file ...

Found linux image: /boot/vmlinuz-3.10.0-123.el7.x86_64

Found initrd image: /boot/initramfs-3.10.0-123.el7.x86_64.img

Found linux image: /boot/vmlinuz-3.8.13-35.3.1.el7uek.x86_64

Found initrd image: /boot/initramfs-3.8.13-35.3.1.el7uek.x86_64.img

Warning: Please don't use old title `Oracle Linux Server, with Unbreakable Enterprise Kernel 3.8.13-35.3.1.el7uek.x86_64' for GRUB_DEFAULT, use `Advanced options for Oracle Linux Server>Oracle Linux Server, with Unbreakable Enterprise Kernel 3.8.13-35.3.1.el7uek.x86_64' (for versions before 2.00) or `gnulinux-advanced-3140bf3d-e788-463d-a2c6-75a535e6c7fa>gnulinux-3.8.13-35.3.1.el7uek.x86_64-advanced-3140bf3d-e788-463d-a2c6-75a535e6c7fa' (for 2.00 or later)

Found linux image: /boot/vmlinuz-0-rescue-145f9321533a4da2a3e43529a8f66a34

Found initrd image: /boot/initramfs-0-rescue-145f9321533a4da2a3e43529a8f66a34.img

done

정상적으로 반영되었는지 grub.cfg 파일을 확인해 보면 아래와 같이 반영되었음을 확인할 수 있습니다.


4.마지막으로 nic 설정 파일의 이름을 변경해 주면 됩니다 . 만약 존재하지 않으면 생성해 주면 됩니다.


[root@localhost /]# mv /etc/sysconfig/network-scripts/ifcfg-eno16777736 /etc/sysconfig/network-scripts/ifcfg-eth0 


5. 모든 작업이 완료 되었으면 시스템을 재부팅한 뒤에 ip addr 명령으로 확인해 봅니다.

[root@localhost grub2]# ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127.0.0.1/8 scope host lo

    inet6 ::1/128 scope host 

       valid_lft forever preferred_lft forever

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:21:a6:95 brd ff:ff:ff:ff:ff:ff

3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN 

    link/ether 92:b0:1e:8c:89:93 brd ff:ff:ff:ff:ff:ff

    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 


정상적으로 변경이 완료되었음을 확인할 수 있습니다.


p.s 

에고, 엔터프라이즈 리눅스 7 도 이제 점차 솔라리스 11 에서 도입된 방식을 대부분 따라 가고 있네요.

NIC 도 그렇고 , systemd 도 결국은 솔라리스의 smf 와 동일한 컨셉이고..

열공 해야 할 듯 합니다..^^