NetworkManager를 사용한 RHEL/CentOS 정적 IP 주소 설정

RHEL 또는 CentOS에서 `nmcli`를 사용하여 게이트웨이, DNS, 활성화 및 롤백 확인을 포함한 영구 정적 IP를 설정합니다.

NetworkManager를 사용한 RHEL/CentOS 정적 IP 주소 설정

네트워킹은 서버에서 가장 먼저 올바르게 설정해야 할 사항 중 하나입니다. RHEL 및 CentOS에서 NetworkManager는 인터페이스 파일을 직접 편집하지 않고도 영구적인 정적 IP 주소를 구성할 수 있으며, 이는 최신 Enterprise Linux 릴리스에서 더 안전합니다.

이 가이드에서는 nmcli 명령어를 사용하여 주소, 게이트웨이, DNS 서버를 설정하고, 프로필을 활성화하며, 변경 사항이 재부팅 후에도 유지되는지 확인하는 과정을 안내합니다.

NetworkManager 및 nmcli 이해

구성 단계에 들어가기 전에 사용할 핵심 구성 요소를 명확히 하겠습니다:

NetworkManager란?

NetworkManager는 네트워크 설정을 처리하여 네트워크 연결을 더 쉽게 관리할 수 있게 해주는 데몬입니다. 이더넷, Wi-Fi, 모바일 광대역, VPN 등 다양한 연결 유형을 관리할 수 있습니다. 네트워크 장치를 자동으로 감지 및 구성하고, 활성 네트워크 연결을 유지하며 필요에 따라 사용 가능한 연결 간 전환을 시도합니다. 서버의 경우 네트워크 인터페이스가 올바르게 구성되고 재부팅 후에도 유지되도록 보장합니다.

nmcli란?

nmcli는 NetworkManager의 명령줄 클라이언트입니다. 터미널에서 NetworkManager를 제어하고 네트워크 연결을 구성할 수 있습니다. 그래픽 인터페이스를 사용할 수 없는 헤드리스 서버 환경에서 특히 유용합니다. nmcli 명령어는 직관적이며 네트워크 장치 상태 표시부터 복잡한 연결 프로필 생성 및 수정까지 NetworkManager의 모든 기능을 강력하게 활용할 수 있습니다.

사전 요구 사항

이 가이드를 따르려면 다음이 필요합니다:

  • 루트 권한: 네트워크 구성을 변경하려면 sudo 액세스 권한이 있거나 루트 사용자로 로그인해야 합니다.
  • 시스템 정보: 사용하려는 정적 IP 주소, 서브넷 마스크(또는 CIDR 표기법), 기본 게이트웨이 및 DNS 서버 IP 주소.
  • 식별된 네트워크 인터페이스: 구성하려는 네트워크 인터페이스 이름(예: enp0s3, eth0)을 알아야 합니다. 이를 찾는 방법은 아래에서 설명합니다.

정적 IP 주소 단계별 구성

다음은 nmcli를 사용하여 정적 IP 주소를 구성하는 방법입니다.

1단계: 네트워크 인터페이스 식별

먼저 구성하려는 네트워크 인터페이스의 이름을 알아야 합니다. nmcli device 또는 nmcli device status를 사용하여 모든 활성 네트워크 장치와 상태를 나열할 수 있습니다:

nmcli device status

예시 출력:

DEVICE     TYPE      STATE                   CONNECTION
enp0s3     ethernet  connected               System enp0s3
lo         loopback  unmanaged               --

이 예시에서 enp0s3이 이더넷 인터페이스입니다. 인터페이스 이름을 기록해 두세요.

2단계: 새 네트워크 연결 프로필 생성

일반적으로 기존 DHCP 관리 프로필을 직접 수정하는 대신 정적 IP 구성을 위해 새 연결 프로필을 생성하는 것이 좋습니다. 특히 쉽게 되돌릴 수 있어야 하는 경우 더욱 그렇습니다. 연결 프로필은 특정 네트워크 연결에 대한 모든 설정을 저장합니다.

새 이더넷 연결 프로필을 생성하려면 nmcli connection add 명령어를 사용합니다. 연결 유형, 설명적인 연결 이름(con-name), 인터페이스 이름(ifname)을 지정합니다.

sudo nmcli connection add type ethernet con-name my-static-eth ifname enp0s3
  • type ethernet: 이더넷 연결을 지정합니다.
  • con-name my-static-eth: 이 새 연결 프로필에 이름을 할당합니다. 설명적인 이름을 선택하세요.
  • ifname enp0s3: 이 연결 프로필을 물리적 네트워크 인터페이스 enp0s3에 연결합니다.

대안: 기존 프로필 수정

기존 연결(예: nmcli device status 출력의 System enp0s3)을 수정하려면 기존 con-name과 함께 nmcli connection modify를 사용합니다.

sudo nmcli connection modify "System enp0s3" # 연결 이름으로 바꾸세요

참고: 간단함과 명확성을 위해 이 가이드에서는 my-static-eth라는 새 연결 프로필을 생성했다고 가정합니다.

3단계: IPv4 설정 구성 (IP, 게이트웨이, DNS)

이제 my-static-eth 연결 프로필에 대한 정적 IP 주소, 게이트웨이, DNS 서버를 구성해 보겠습니다. DHCP를 비활성화하려면 IPv4 메서드를 manual로 설정하는 것이 중요합니다.

IP 주소 및 게이트웨이 설정

ipv4.addressesipv4.gateway 속성을 사용합니다. IP 주소는 CIDR 표기법(예: 192.168.1.100/24)이어야 합니다.

sudo nmcli connection modify my-static-eth ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1
  • ipv4.addresses 192.168.1.100/24: 정적 IP 주소를 192.168.1.100으로 설정하고 24비트 서브넷 마스크(255.255.255.0)를 사용합니다.
  • ipv4.gateway 192.168.1.1: 네트워크의 기본 게이트웨이를 설정합니다.

DNS 서버 설정

하나 이상의 DNS 서버 IP 주소를 지정합니다. 여러 주소는 쉼표로 구분합니다.

sudo nmcli connection modify my-static-eth ipv4.dns "1.1.1.1,8.8.8.8"

조직에서 내부 DNS를 운영하는 경우 해당 리졸버 IP를 대신 사용하세요. 예를 들어, 사설 서버는 192.168.1.10192.168.1.11을 사용할 수 있습니다.

IPv4에 대해 DHCP 비활성화

IPv4 메서드를 manual로 설정합니다. 그렇지 않으면 NetworkManager가 이 프로필에 대해 여전히 DHCP를 시도할 수 있습니다.

sudo nmcli connection modify my-static-eth ipv4.method manual

서버가 이 연결에서 IPv6를 사용하지 않아야 하는 경우 명시적으로 비활성화합니다:

sudo nmcli connection modify my-static-eth ipv6.method disabled

네트워크가 IPv6에 의존하지 않는 경우에만 이 작업을 수행하세요.

4단계: 정적 프로필 활성화

새 연결을 활성화합니다. SSH를 통해 작업하는 경우 콘솔 액세스에서 실행하거나 활성 인터페이스를 변경하기 전에 롤백을 예약하세요.

sudo nmcli connection up my-static-eth

동일한 인터페이스에서 이전 DHCP 프로필이 여전히 활성 상태인 경우 정적 프로필이 작동하는지 확인한 후 비활성화합니다:

sudo nmcli connection down "System enp0s3"

"System enp0s3"nmcli connection show의 실제 이전 연결 이름으로 바꾸세요.

5단계: 주소, 경로 및 DNS 확인

활성 연결 확인:

nmcli connection show --active

IP 주소 확인:

ip addr show enp0s3

기본 경로 확인:

ip route

다음과 유사한 경로가 표시되어야 합니다:

default via 192.168.1.1 dev enp0s3

NetworkManager에서 관리하는 DNS 설정 확인:

nmcli device show enp0s3 | grep DNS

그런 다음 실제 연결 테스트:

ping -c 3 192.168.1.1
ping -c 3 1.1.1.1
getent hosts example.com

첫 번째 명령어는 게이트웨이를 확인하고, 두 번째는 아웃바운드 IP 연결을 확인하며, 세 번째는 DNS 확인을 확인합니다.

원격 변경 시 안전 조치

정적 IP 변경은 주소나 게이트웨이를 잘못 입력하면 SSH 세션이 끊어질 수 있습니다. 원격으로 프로필을 적용하기 전에 두 번째 세션을 열어 두고 롤백을 예약하는 것을 고려하세요:

sudo shutdown -r +5 "네트워크 롤백 재부팅"

새 정적 IP가 작동하면 재부팅을 취소합니다:

sudo shutdown -c

재부팅이 허용되지 않는 시스템에서는 임시 at 작업을 생성하거나 대역 외 콘솔 액세스를 사용하여 경로가 잘못된 경우 복구할 수 있도록 하세요.

결론

RHEL 및 CentOS에서 영구적인 정적 IP 구성을 위해 nmcli 연결 프로필을 사용하세요. 최소 작업 세트는 ipv4.addresses, ipv4.gateway, ipv4.dns, ipv4.method manual입니다. 가장 안전한 워크플로는 프로필을 활성화하고 경로 및 DNS 동작을 확인한 후 서버가 새 주소에서 연결 가능한 경우에만 이전 DHCP 프로필을 제거하거나 비활성화하는 것입니다.