본문 바로가기

OS/Linux

Linux - CentOS 8 네트워크 설정(NetworkManager / nmcli)

728x90

CentOS 7까지는 ifcfg-* 파일을 통해 네트워크 설정을 관리하고, systemctl restart network 명령어로 네트워크를 재시작했었습니다. 하지만 CentOS 8에서는 NetworkManager가 네트워크 관리를 하다 보니 설정 방식이 조금 달라졌습니다.

이번 포스트에서는 NetworkManager와 ifcfg, nmcli, nmtui, ifdown/ifup 등 명령어의 활용법을 소개합니다.

 

기존 네트워크설정(IP / DNS 설정) 이 궁금하다면?

 

Linux - 네트워크설정(IP / DNS 설정)

서버로 쓸 OS는 보통 동적 IP 할당인 DHCP를 사용하지 않고 정적 IP를 사용합니다. 리눅스에서 네트워크 설정에 관련된 파일들을 수정하여 네트워크를 설정하는 방법을 정리해 봅니다. ※ DHCP(Dynamic

samso.tistory.com

 


CentOS 8에서 NetworkManager의 역할 변화

CentOS 8에서는 네트워크 관리 도구가 NetworkManager로 전환되었습니다. 이로 인해 기존의 network 서비스가 사라졌고, systemctl restart network 명령어도 더 이상 사용할 수 없습니다. 네트워크 설정과 관리 작업은 NetworkManager를 통해 이루어지며, 이를 위해 주로 nmclinmtui 도구가 사용됩니다.

NetworkManager 설정 파일 위치

  • /etc/sysconfig/network-scripts/ifcfg-*: 기존의 ifcfg-* 파일 형식으로 설정을 저장할 수 있으며, CentOS 7에서 사용하던 방식과 유사하게 사용할 수 있습니다. 단, NetworkManager가 이 파일을 읽도록 설정이 필요합니다.
  • /etc/NetworkManager/system-connections/: NetworkManager가 자체적으로 사용하는 설정 파일들이 저장되는 경로입니다. 주로 .nmconnection 확장자의 파일들이 저장되며, nmcli나 nmtui를 통해 설정한 네트워크 구성도 여기에 기록됩니다.
  • /etc/NetworkManager/NetworkManager.conf: NetworkManager의 전반적인 설정을 관리하는 파일로, NetworkManager가 ifcfg-* 파일을 읽도록 하는 설정은 여기서 관리하고 있습니다.

ifcfg 파일과 NetworkManager의 설정 연동

기존의 /etc/sysconfig/network-scripts/ifcfg-* 파일을 그대로 사용할 수도 있지만,

/etc/NetworkManager/NetworkManager.conf 파일에서 다음 설정을 확인해야 합니다.

[main]
plugins=ifcfg-rh

plugins=ifcfg-rh 설정이 활성화되어 있어야 NetworkManager가 ifcfg-* 파일을 읽고 적용합니다.

만약 이 설정이 없거나 주석 처리되어 있으면, ifcfg-* 파일을 수정해도 NetworkManager가 반영하지 못합니다.


네트워크 설정 반영 방법

CentOS 8에서는 네트워크 설정을 반영하는 방법이 여러 가지입니다. 기존처럼 ifdown과 ifup 명령을 사용할 수도 있지만, NetworkManager의 도구인 nmcli와 nmtui도 유용합니다.

1. NetworkManager 서비스 재시작
설정 파일을 수정한 후 NetworkManager 자체를 재시작하여 변경 사항을 반영할 수 있습니다.

sudo systemctl restart NetworkManager

2. nmcli로 연결 재시작
NetworkManager는 nmcli 명령어를 통해 실시간으로 설정을 반영할 수 있습니다.

nmcli connection reload
nmcli connection down <connection_name>
nmcli connection up <connection_name>

3. ifdown/ifup 명령어 사용
특정 인터페이스의 설정을 빠르게 반영하기 위해 ifdown과 ifup 명령어를 사용할 수 있습니다.

이 방법은 NetworkManager와 무관하게 설정을 강제로 반영하는 방식으로, 변경 사항이 즉각 적용됩니다.

ifdown eth0
ifup eth0

nmcli와 nmtui의 차이점

NetworkManager를 제어하는 두 가지 주요 도구는 nmclinmtui입니다. 

  • nmcli: 명령어 기반으로 NetworkManager의 모든 기능을 세밀하게 제어할 수 있습니다. 설정 자동화나 스크립트 작업에 유용하며, 복잡한 네트워크 구성이나 고급 설정에 적합합니다.
  • nmtui: 텍스트 기반의 인터페이스로, 메뉴를 통해 네트워크 설정을 쉽게 수정할 수 있습니다. 기본적인 네트워크 연결 설정, DNS 설정, 호스트 이름 변경 등 단순한 설정에 매우 편리하며, 초보자도 직관적으로 사용할 수 있습니다.

설정 파일 저장 방식: ifcfg와 nmconnection 파일

NetworkManager는 설정 내용을 파일로 저장하여 시스템 재시작 후에도 설정이 유지되도록 합니다.

  1. ifcfg 파일: /etc/sysconfig/network-scripts/ifcfg-* 파일은 기존의 설정 방식으로, plugins=ifcfg-rh가 활성화된 경우 NetworkManager가 이를 읽어 네트워크 구성을 반영합니다.
  2. nmconnection 파일: nmcli나 nmtui를 통해 설정한 네트워크 구성은 /etc/NetworkManager/system-connections/ 디렉토리에 .nmconnection 파일로 저장됩니다. 

CentOS 8에서 네트워크 설정 팁

  • 기본 설정 확인: NetworkManager가 ifcfg-* 파일을 읽도록 plugins=ifcfg-rh 설정이 활성화되어 있는지 확인합니다.
  • 설정 반영 방법 숙지: nmcli와 nmtui 명령어를 활용해 변경 사항을 빠르게 반영하고, 필요시 ifdown과 ifup 명령어도 병행할 수 있습니다.
728x90
반응형