록키 리눅스 minimal 설치 후 네트워크 잡기 - network-scripts는 잊고 nmcli를 쓰자

  • 8th August 2026
  • 3 min read

오늘 업체에 방문해서 CentOS를 사용하던 레거시 서버를 정리했다. CentOS는 이미 지원이 끝난 지 오래라 더 끌고 갈 이유가 없었고, 포맷 후 록키 리눅스를 새로 설치했다. 서버 용도라 GUI는 필요 없어서 최소 설치(minimal) 버전으로 진행했다.

설치 자체는 금방 끝났다. 문제는 부팅하고 나서였다. 네트워크가 안 된다. ping이 나가질 않는다.


IP는 잡혀 있었다. 엉뚱한 곳에.

처음엔 IP 자체가 안 잡힌 줄 알았다. 그런데 확인해보니 그게 아니었다.

ip a

IP는 잡혀 있었다. 문제는 잡혀 있는 위치였다. 이 서버는 랜포트가 여러 개 달려 있는 장비였는데, 설치 과정에서 만들어진 연결 프로파일이 실제 케이블이 꽂혀 있는 포트가 아니라 다른 디바이스에 붙어 있었던 것이다. IP는 있는데 통신은 안 되는, 사람 헷갈리게 하는 상태였다.

nmcli로 디바이스 상태를 보면 상황이 한눈에 들어온다.

nmcli device status

케이블이 꽂힌 포트는 disconnected, IP를 물고 있는 포트는 링크도 없는 상태. 어느 포트에 케이블이 살아 있는지는 carrier 값으로도 확인할 수 있다. 최소 설치라 ethtool도 없었기 때문에 이 방법이 유용했다.

cat /sys/class/net/enp4s0/carrier

1이면 링크가 살아 있는 것이고 0이면 죽은 것이다.


network-scripts는 사라졌다

CentOS 7 시절이었다면 여기서 할 일은 정해져 있다. /etc/sysconfig/network-scripts/ifcfg-eth0 파일을 열어서 설정을 고치고 network 서비스를 재시작하면 끝. 손에 익을 대로 익은 방식이다.

그런데 록키 리눅스 최신 버전에서는 이 방식이 통하지 않는다. network-scripts 패키지 자체가 제거됐고, 네트워크 관리는 NetworkManager로 완전히 넘어갔다. 설정 파일도 ifcfg 형식이 아니라 keyfile 형식으로 바뀌어서 아래 경로에 저장된다.

/etc/NetworkManager/system-connections/enp3s0.nmconnection

머리로는 알고 있었는데 손이 아직 CentOS 7에 머물러 있었다. ifcfg 디렉토리부터 찾고 있는 나를 발견했다.


설정 파일을 직접 수정했는데 적용이 안 된다

익숙한 방식대로 system-connections 아래의 .nmconnection 파일을 직접 열어서 인터페이스와 IP를 수정했다. 그런데 적용이 안 된다. 파일은 분명히 바뀌었는데 상태는 그대로다.

원인은 NetworkManager가 이 파일들을 메모리에 올려두고 쓰기 때문이다. 파일만 고쳐서는 NetworkManager가 변경 사실을 모른다. 파일을 수정했다면 reload를 해줘야 반영된다.

nmcli connection reload
nmcli connection up enp4s0

파일 권한도 함정이다. 이 파일은 소유자 root에 권한 600이 아니면 NetworkManager가 무시해버린다. 파일을 새로 만들거나 복사해왔다면 권한부터 확인해야 한다.

이쯤 되니 결론이 나왔다. 파일을 직접 만지는 건 그만두고 nmcli 명령으로 하는 게 맞다. nmcli로 수정하면 파일 반영과 적용까지 한 번에 처리된다.


nmcli로 연결을 옮기고 고정 IP 잡기

먼저 연결 프로파일 목록을 확인한다.

nmcli connection show

IP를 물고 있던 프로파일을 케이블이 실제로 꽂혀 있는 디바이스로 옮긴다. 프로파일을 지우고 새로 만들 필요 없이 interface-name만 바꾸면 된다.

nmcli connection modify enp3s0 connection.interface-name enp4s0

이어서 고정 IP 설정. 이미 있는 프로파일을 수정하는 방식이다.

nmcli connection modify enp3s0 ipv4.method manual \
  ipv4.addresses 192.168.0.10/24 \
  ipv4.gateway 192.168.0.1 \
  ipv4.dns "8.8.8.8 1.1.1.1"

프로파일이 아예 없다면 add로 새로 만든다.

nmcli connection add con-name enp4s0 ifname enp4s0 type ethernet \
  ipv4.method manual \
  ipv4.addresses 192.168.0.10/24 \
  ipv4.gateway 192.168.0.1 \
  ipv4.dns "8.8.8.8 1.1.1.1"

부팅 시 자동 연결까지 걸어주고 활성화하면 마무리.

nmcli connection modify enp4s0 connection.autoconnect yes
nmcli connection up enp4s0

여기까지 하고 ip a를 확인하니 케이블이 꽂힌 포트에 제대로 IP가 잡혔다. ping도 정상. 이후 dnf 업데이트까지 무사히 진행했다.


정리

  • IP가 잡혀 있다고 끝이 아니다. 랜포트가 여러 개인 장비라면 어느 디바이스에 잡혔는지부터 확인하자. nmcli device status와 carrier 값이면 충분하다.
  • 록키 리눅스 최신 버전에 network-scripts는 없다. NetworkManager가 표준이고, 설정 파일은 /etc/NetworkManager/system-connections/의 keyfile 형식이다.
  • 설정 파일을 직접 수정하면 nmcli connection reload 없이는 적용되지 않는다. 권한도 600이어야 한다.
  • 그냥 처음부터 nmcli를 쓰자. 디바이스 변경이든 IP 변경이든 반영과 적용이 한 번에 끝난다.

CentOS 7에서 넘어온 사람이라면 누구나 한 번은 겪을 삽질인 듯하다. 손에 익은 ifcfg를 보내주는 데 시간이 좀 걸렸지만, 익숙해지고 나니 nmcli 쪽이 오히려 편하다. 다음 서버부터는 헤맬 일 없겠지.