HOME > linux > tips

Ubuntu18.04의 네트워크 이더넷 이름 변경하는 방법(enp??를 eth0으로 변경)

JSFollow16 Apr 2019

우분투 16.04 LTS 일부 버전까진 이더넷의 이름이 eth0이었습니다. 하지만 네트워크 이름이 고정되어 있으면 심각한 보안문제가 발생할 수 있기 때문에 하드웨어 장치에 따라 유동적으로 이름이 변경되도록 바뀐 것 같습니다. (Predictable Network Interface Names 참고)

아래 명령어를 입력하면 자신의 이더넷 이름을 볼 수 있습니다.

$ ifconfig
enp0s25: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.8  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::ce69:c1da:bfd5:f899  prefixlen 64  scopeid 0x20<link>
        ether d0:50:99:72:73:10  txqueuelen 1000  (Ethernet)
        RX packets 34954  bytes 32641284 (32.6 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 24282  bytes 3283094 (3.2 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 20  memory 0xf3100000-f3120000  

만약 몇몇 프로그램에서 네트워크 이름을 eth0으로 하드코딩하여 구현하였다면 enp?? 등의 이더넷에서는 동작하지 않을 수 있습니다. 이런 경우 eth0로 변경하면 프로그램이 동작할 수 있습니다. 이 글에서는 이더넷 이름을 eth0으로 변경하는 방법에 대해서 알아보겠습니다.

eth0로 변경하는 방법(Ubuntu18.04)

아래 경로에 새로운 rule 파일을 만듭니다.

$ sudo vim /etc/udev/rules.d/70-persistent-net.rules

아래 내용을 파일에 입력합니다. 여기서 address는 위의 ifconfig로 찾은 자신의 MAC주소를 넣어주고 NAME은 변경하고 싶은 이름을 넣어줍니다. 저의 경우 MAC주소는 ether d0:50:99:72:73:10이고, 변경하고 싶은 이름은 eth0입니다

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:yy:xx:yy:xx:yy", NAME="eth0"

이제 grub 설정 파일을 수정해야 합니다.

$ sudo vim /etc/default/grub

아래 옵션은 아무것도 설정이 안되어 있는데

GRUB_CMDLINE_LINUX=""

아래처럼 변경해줍니다.

GRUB_CMDLINE_LINUX="net.ifnames=1 biosdevname=0"

grub 설정 변경 후, 업데이트해줍니다.

$ update-grub

마지막으로 reboot을 하고 ifconfig 명령어로 이더넷 이름이 변경되었는지 확인합니다.

참고