CentOS 7 에서 네트워크 인터페이스 이름 바꾸기
CentOS 7 은 많은 변화가 있었지만 그중 하나가 네트워크 인터페이스 이름 입니다.
지금까지 네트워크 인터페이스 이름은 eth0, eth1 식으로 고정되어 있었습니다. 하지만 CentOS 7 부터는 바이오스 장치 이름을 조합해서 생성됩니다. 다시 말해서 각 서버마다 네트워크 인터페이스 카드가 모두 동일하다고 할지라도 CentOS 7 에서의 네트워크 인터페이스 이름은 모두 다를 수가 있다는 겁니다.
이 문서는 CentOS 7 에서 네트워크 인터페이스 이름 바꾸기 에 대한 것입니다.
1. 상태확인
CentOS 7 에서의 네트워크 인터페이스 이름은 다음과 같습니다.
1 2 3 4 5 6 7 8 9 |
]# ifconfig enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.105 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 fe80::a00:27ff:fe97:3935 prefixlen 64 scopeid 0x20<link> ether 08:00:27:97:39:35 txqueuelen 1000 (Ethernet) RX packets 37862 bytes 29870696 (28.4 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 6939 bytes 513516 (501.4 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 |
enp0s3 으로 나옵니다. 네트워크 인터페이스 설정 파일도 이름과 동일하게 생성 됩니다.
1 2 |
]# ls -lh /etc/sysconfig/network-scripts/ifcfg-enp0s3 -rw-r--r--. 1 root root 321 9월 22 13:50 /etc/sysconfig/network-scripts/ifcfg-enp0s3 |
2. eth0 로 바꾸기
바꾸는 방법은 grub 에서 바이오스장치이름을 네트워크 인터페이스 이름으로 사용하지 않겠다고 선언하는 것입니다. 커널이 업그레이드되면 grub 에 파라메터값을 다시 해줘야 하는 불편함을 없애기위해서 grub 의 기본설정을 변경해 줍니다.
1 2 3 4 5 6 7 8 |
]# vim /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 crashkernel=auto rhgb quiet net.ifnames=0 biosdevname=0" GRUB_DISABLE_RECOVERY="true" |
핵심은 ‘GRUB_CMDLINE_LINUX’ 에 ‘net.ifnames=0 biosdevname=0’ 를 추가하는 것입니다. 그리고 다음과 같이 grub2 를 다시 만들어 줍니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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.10.0-123.9.3.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-123.9.3.el7.x86_64.img Found linux image: /boot/vmlinuz-3.10.0-123.8.1.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-123.8.1.el7.x86_64.img Found linux image: /boot/vmlinuz-3.10.0-123.6.3.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-123.6.3.el7.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-babecd961e9a465686311e3f5930f25e Found initrd image: /boot/initramfs-0-rescue-babecd961e9a465686311e3f5930f25e.img done |
이제 네트워크 인터페이스 파일을 다음과 같이 바꿔 줍니다.
1 2 |
]# cd /etc/sysconfig/network-scripts/ [root@localhost network-scripts]# mv ifcfg-enp0s3 ifcfg-eth0 |
이제 재부팅을 하면 네트워크 인터페이스 이름이 eth0 로 올라온것을 볼 수 있습니다.