NetworkManager
NetworkManager는 Linux의 network connection을 관리하는 daemon과 CLI/TUI 도구 모음이다. 연결 설정은 device에 직접 붙는 일회성 상태가 아니라 connection profile로 관리하는 것이 기본이다.
Installation
sudo apt update sudo apt install network-manager # Debian, Ubuntu sudo dnf install NetworkManager NetworkManager-tui # Fedora, RHEL 계열
Debian/Ubuntu의 network-manager package에는 daemon과 세 client가 함께 포함된다. Fedora/RHEL 계열에서는 nmcli와 nm-online이 NetworkManager, nmtui가 NetworkManager-tui subpackage에 들어 있다.
NetworkManager는 Linux network management daemon이므로 macOS Homebrew와 Windows winget용 공식 package는 제공되지 않는다.
nmcli --version
systemctl is-active NetworkManager
Command 선택
| Command | 용도 | 권장 상황 |
|---|---|---|
nmcli | 상태 조회, profile 생성·수정·활성화, script 출력 | server, automation, troubleshooting |
nmtui | curses 기반 대화형 profile 편집·활성화 | terminal에서 수동 설정 |
nm-online | NetworkManager의 연결 또는 startup 완료 대기 | boot dependency, script의 제한 시간 대기 |
NetworkManager | daemon process | 일반적으로 systemctl로 관리 |
Service
systemctl status NetworkManager sudo systemctl enable --now NetworkManager sudo nmcli general reload journalctl -u NetworkManager -b
SSH로 접속한 server에서 active connection을 수정하거나 NetworkManager를 restart하면 원격 연결이 끊길 수 있다. 먼저 새 profile을 만들고 설정을 검토한 뒤 maintenance console 또는 out-of-band access를 확보한다.
Profile과 Device
- connection profile: IP, DNS, route, Wi-Fi 등 지속 설정을 담는 구성 객체다.
- device: Ethernet, Wi-Fi, bridge, VLAN 같은 현재 network interface다.
- 하나의 device에 여러 profile을 만들 수 있지만 일반적으로 한 시점에는 하나의 profile만 활성화된다.
- persistent 변경은
nmcli connection modify를 사용한다.nmcli device modify는 현재 device에 적용하는 임시 변경으로 구분한다.
nmcli general status
nmcli connection show
nmcli connection show --active
nmcli device status
Configuration
- daemon 설정:
/etc/NetworkManager/NetworkManager.conf,/etc/NetworkManager/conf.d/*.conf - system connection profile:
/etc/NetworkManager/system-connections/*.nmconnection - runtime profile:
/run/NetworkManager/system-connections/ - vendor profile:
/usr/lib/NetworkManager/system-connections/
keyfile profile 작성과 권한은 /etc/NetworkManager/system-connections를 참고한다.
Troubleshooting
nmcli general status nmcli general permissions nmcli device status nmcli connection show --active journalctl -u NetworkManager -b --no-pager
- device가
unmanaged이면 다른 network manager,NetworkManager.conf의 unmanaged 설정, udev rule을 확인한다. - profile이 활성화되지 않으면 device 이름, IP 중복, gateway와 route, secret agent 또는 권한 오류를 확인한다.
network-online.target지연은NetworkManager-wait-online.service와 profile의 autoconnect,ipv4.may-fail,ipv6.may-fail설정을 함께 확인한다.
See Also
History
- codex:: 2026-07-19 NetworkManager 명령군, 설치, service, profile 개념과 troubleshooting을 정리했다.