카테고리 보관물: Rocky

Rocky Linux 9.5 NIC IP Setting

개요

RHEL / CentOS 계열 OS에서는 오랫동안 /etc/sysconfig/network-scripts/ifcfg-* 파일로 Rocky Linux NIC IP 설정을 관리했습니다. 그러나 Rocky Linux 9(RHEL 9 계열)부터는 해당 방식이 공식적으로 지원 중단되었으며, NetworkManager가 관리하는 /etc/NetworkManager/system-connections/*.nmconnection 파일 방식으로 전환되었습니다. 이 글에서는 Rocky Linux 9.5 환경에서 NMConnection 파일을 수정하고 nmcli로 변경사항을 반영하는 방법을 정리합니다.

기존 방식 지원 중단 확인

Rocky Linux 9에서 /etc/sysconfig/network-scripts/ 디렉토리를 확인하면 ifcfg 파일 대신 안내 문서만 남아 있습니다. 더 이상 이 디렉토리에서 네트워크 설정이 동작하지 않습니다.

[root@localhost ~]# ll /etc/sysconfig/network-scripts/
total 4
-rw-r--r--. 1 root root 1244 Nov  7 13:30 readme-ifcfg-rh.txt

NetworkManager와 ifcfg의 차이

RHEL/CentOS 7까지는 /etc/sysconfig/network-scripts/ifcfg-* 파일을 직접 편집하고 systemctl restart network로 적용하는 방식이 표준이었습니다. 그러나 RHEL 8부터 network 서비스가 deprecated되고 NetworkManager가 유일한 네트워크 관리 백엔드로 자리잡았습니다. RHEL 9/Rocky Linux 9에서는 ifcfg 파일 자체가 더 이상 지원되지 않습니다.

NetworkManager는 /etc/NetworkManager/system-connections/*.nmconnection 형식으로 연결 프로파일을 저장합니다. 파일 권한은 600이어야 하며, 다른 권한이면 NetworkManager가 해당 파일을 무시합니다. 파일 편집 후에는 반드시 nmcli connection reload로 변경사항을 NetworkManager에 반영해야 합니다.

NMConnection 파일로 수동 IP 설정

NetworkManager가 관리하는 연결 설정 파일은 /etc/NetworkManager/system-connections/ 하위에 있으며, NIC 이름(예: ens33)에 해당하는 .nmconnection 파일을 직접 편집합니다. [ipv4] 섹션의 methodauto에서 manual로 변경하고, address1에 IP/CIDR,게이트웨이 형식으로 주소를 입력합니다. 편집 후에는 nmcli connection reload로 설정을 반영하고 nmcli connection up <NIC명>으로 활성화합니다.

[root@localhost ~]# ll /etc/NetworkManager/system-connections/
total 4
-rw-------. 1 root root 227 Dec 30 17:19 ens33.nmconnection

[root@localhost ~]# vi /etc/NetworkManager/system-connections/ens33.nmconnection

[ipv4]
method=manual
address1=x.x.x.x/24,x.x.x.x
dns=8.8.8.8

[root@localhost ~]# nmcli connection reload
[root@localhost ~]# nmcli connection up ens33
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)

nmcli 명령어로 직접 IP 설정하는 방법

파일을 직접 편집하는 대신 nmcli 명령어로 IP를 설정할 수도 있습니다. 명령어 방식은 파일 편집 실수를 줄일 수 있고, 스크립트에서 자동화하기 용이합니다.

# 기존 연결의 IP 설정을 수동(manual)으로 변경
nmcli connection modify ens33 ipv4.method manual
nmcli connection modify ens33 ipv4.addresses "x.x.x.x/24"
nmcli connection modify ens33 ipv4.gateway "x.x.x.x"
nmcli connection modify ens33 ipv4.dns "8.8.8.8"

# 설정 활성화
nmcli connection up ens33

nmcli connection modify는 내부적으로 해당 .nmconnection 파일을 수정합니다. DHCP로 전환하려면 ipv4.method auto로 변경하고 ipv4.addresses, ipv4.gateway를 비워주면 됩니다. 여러 DNS 서버를 지정할 때는 ipv4.dns "8.8.8.8 8.8.4.4"처럼 공백으로 구분합니다.

설정 결과 확인

nmcli device show <NIC명>으로 IP 주소, 게이트웨이, DNS가 올바르게 반영되었는지 확인합니다. 이후 ping을 통해 외부 통신이 가능한지 검증합니다.

[root@localhost ~]$ nmcli device show ens33
GENERAL.DEVICE:                         ens33
GENERAL.TYPE:                           ethernet
GENERAL.CONNECTION:                     ens33
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         x.x.x.x/24
IP4.GATEWAY:                            x.x.x.x
IP4.ROUTE[1]:                           dst = x.x.x.x/24, nh = 0.0.0.0, mt = 100
IP4.ROUTE[2]:                           dst = 0.0.0.0/0, nh = x.x.x.x, mt = 100
IP4.DNS[1]:                             8.8.8.8

참고

관련 포스트:

참고 문서: RHEL 9 Ethernet 연결 설정 공식 문서 · NetworkManager nmcli 설정 레퍼런스