Ubuntu 16.04 에서는 설치된 하드웨어 NIC 의 기본이름이 아래와 같이 eth0 가 아닙니다. 제 장비는 "ens33" 으로 출력이 됩니다.
문제는 일부 상용프로그램이나 리눅스용 데몬에서는 장비식별을 위해 eth0 이름을 가진 network hw 에 대한 정보를 수집하는데, eth0 가 아닌 ens33 과 같이 이름이 달라 eth0 에 대한 정보를 찾지 못할 경우 정상적으로 장비를 식별하지 못해 여러 문제를 발생시키곤 합니다.
그래서 오늘은 원래 사용되던 eth0 으로 이름을 설정하는 법을 알아보도록 하겠습니다.
우선은 ifconfig 명령어로 nic 정보를 확인합니다.
>> ifconfig -a
ifconfig 가 설치되어 있지 않은 경우에는 아래 명령어로 확인이 가능합니다.
>> ip link
또는
>> ip a
우선 dmesg 명령어를 통해 eth 에 관련한 kernel message 를 확인해 보면
위와 같이 부팅시에 eth0 이름을 ens 으로 rename 하는 것을 확인할 수 있습니다.
그럼 부팅을 담당하는 GRUB (GRand Unified Bootloader) 설정을 조정해야 겠네요
eth0 으로 되돌리기 위해, grub file 을 편집합니다.
$ sudo vi /etc/default/grub
파일을 열어서 아래 라인을
GRUB_CMDLINE_LINUX=""
아래와 같이 바꾸어 줍니다.
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
이미 GRUB_CMDLINE_LINUX 에 특정 값이 설정되어 있는 경우에는 아래와 같이 끝 부분에 추가해 주도록 합니다.
GRUB_CMDLINE_LINUX="find_preseed=/preseed.cfg auto noprompt priority=critical locale=en_US net.ifnames=0 biosdevname=0"
수정내용을 저장하고 vi 를 종료합니다.
그런 후 아래와 같이 grub 설정파일을 다시 생성해 주도록 합니다.
$ sudo grub-mkconfig -o /boot/grub/grub.cfg Generating grub configuration file ... Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported. Found linux image: /boot/vmlinuz-4.4.0-15-generic Found initrd image: /boot/initrd.img-4.4.0-15-generic Found memtest86+ image: /memtest86+.elf Found memtest86+ image: /memtest86+.bin done
설정을 마치고 재부팅하기 전에 추가적으로 해야 할 작업이 있는데, DHCP 를 쓰는 경우와 고정 IP 를 쓰는 경우로 나누어서 설명 드립니다.
1. DHCP 환경의 경우.
대부분의 리눅스 장비의 경우에는 서버의 용도이기 때문에 DHCP 로 구성되어 있는 경우는 극히 드물긴 하지만, DHCP 환경인 경우에는 아래와 같이 작업 합니다.
$ sudo vi /etc/network/interfaces
아래 원본내용을:
auto ens33 iface ens33 inet dhcp
이렇게 변경해 줍니다. (혹시 ens33 과 같이 nic 이름이 있지 않고 'lo' loopback 만 지정되어 있는 경우에는 설정을 변경하지 않아도 됩니다.)
auto eth0 iface eth0 inet dhcp
2. 고정 IP 환경의 경우.
$ sudo vi /etc/network/interfaces
아래 원본내용을:
auto ens33 iface ens33 inet static address 192.168.12.12 netmask 255.255.255.0 dns-nameservers 192.168.12.2 gateway 192.168.12.2
이렇게 변경해 줍니다.
auto eth0 iface eth0 inet static address 192.168.12.12 netmask 255.255.255.0 dns-nameservers 192.168.12.2 gateway 192.168.12.2
모든 설정을 완료 한 후 재부팅하면 eth0 으로 변경된 정보를 확인 할 수 있습니다.
>> reboot
이번 포스트는 여기까지 입니다. 끝까지 읽어 주셔서 감사합니다.
'Development Tools > Linux' 카테고리의 다른 글
시스템 엔지니어링 기본부터 해보자 - 리눅스 시스템 정보 확인하는 법 (0) | 2019.01.11 |
---|