nmcli란?

nmcli는 NetworkManager Command Line Interface의 약자로, 리눅스의 네트워크 관리 데몬인 NetworkManager를 터미널에서 제어하는 도구입니다.

직접 파일을 수정하는 경우에는 오타 검증이 어렵고, 즉시 반영이 되지 않기 때문에 작업 중 불편함이 있습니다.

하지만 nmcli를 사용하면 명령어 입력 과정에서 문법 오류를 검증해주고, 설정 파일의 경로와 문법을 외울 필요 없이 간단하게 명령어로 네트워크 설정이 가능합니다.

설정 과정 예시

네트워크 인터페이스 조회

nmcli device 명령어로 현재 서버에 어떤 랜카드가 꽂혀있는지 확인

활성화된 연결 프로파일 확인

nmcli connection show 명령어로 현재 적용되어 있는 설정(프로파일)을 확인합니다.

NAME: 연결 프로파일 이름 (설정 시 이 이름을 사용합니다) DEVICE: 이 프로파일이 연결된 물리 장치

고정 IP(Static IP) 설정하기

가장 많이 사용하는 고정 IP 설정 시나리오입니다. 여기서는 인터페이스 이름을 ens34이라고 가정하고 진행했습니다. (본인의 환경에 맞춰 변경)

목표 설정값은 아래와 같습니다.

IP: 192.168.200.26 
Subnet: 255.255.255.0 (/24) 
Gateway: 192.168.200.1 
DNS: 168.126.63.1

먼저 IP와 서브넷(Prefix)을 한 번에 입력합니다.

sudo nmcli con mod ens34 ipv4.addresses 192.168.200.26/24

그리고 외부 통신을 위해 게이트웨이를 입력해줍니다.

sudo nmcli con mod ens34 ipv4.gateway 192.168.200.1

DNS 주소도 추가해줍니다.

sudo nmcli con mod ens34 ipv4.dns "168.126.63.1"

※ 중요

설정 후 반드시 DHCP가 아닌 수동(Manual) 모드로 변경해줘야 합니다.

sudo nmcli con mod ens34 ipv4.method manual

그리고 인터페이스를 재시작해줍니다. 만약 SSH로 원격 중이면 이 과정에서 한번 연결이 끊기게 됩니다.

sudo nmcli con down ens34 && sudo nmcli con up ens34

※ IP를 잘못 설정한 경우 서버실로 달려가야하는 불상사가 발생하니 IP 입력은 여러번 확인 권장드립니다.

명령어만 정리

# 1. IP와 서브넷(24) 설정 
sudo nmcli con mod ens34 ipv4.addresses 192.168.200.26/24 
 
# 2. 게이트웨이 설정 
sudo nmcli con mod ens34 ipv4.gateway 192.168.200.1 
 
# 3. 방식을 수동(Manual)으로 변경 
sudo nmcli con mod ens34 ipv4.method manual 
 
# 4. DNS 설정 
sudo nmcli con mod ens34 ipv4.dns "168.126.63.1" 
 
# 5. 변경 사항 적용 (재시작) 
sudo nmcli con down ens34 && sudo nmcli con up ens34