nmcli 의미 : network manager command line interface
CLI : A command-line interface (CLI) is a text-based user interface (UI) used to run programs, manage computer files and interact with the computer. Command-line interfaces are also called command-line user interfaces, console user interfaces and character user interfaces. CLIs accept as input commands that are entered by keyboard; the commands invoked at the command prompt are then run by the computer.
명령줄 인터페이스(CLI)는 프로그램을 실행하고 컴퓨터 파일을 관리하며 컴퓨터와 상호 작용하는 데 사용되는 텍스트 기반 사용자 인터페이스(UI)입니다. 명령줄 인터페이스는 명령줄 사용자 인터페이스, 콘솔 사용자 인터페이스 및 문자 사용자 인터페이스라고도 합니다. CLI는 키보드로 입력되는 입력 명령을 받아들입니다. 명령 프롬프트에서 호출된 명령은 컴퓨터에서 실행됩니다.
리눅스에서 커맨드 라인으로 사용할수 있는 wifi 연결 커맨드 및 Daemon 등은 여러 종류가 있는데 이중에서 iwconfig, wpa_supplicant가 가장 대표적으로 사용되고 있다.
iwconfig는 사용법이 간단한데 비해 essid(와이파이 이름), 와이파이 Password를 입력할때 오류가 자주 발생되는 문제로 나도 자주 사용하지는 않고 다만 Wireless LAN 인터페이스가 현재 커널에서 인지를 하고 있는지, 또는 전원이 올라가있는지등을 확인 할때만 사용하고 있다.
# emerge networkmanager
nmcli를 사용하기 위해 네트워크매니저를 설치하자. 설치를 마무리 하면 NetworkManager 데몬을 실행시켜줘야 함.
# /etc/init.d/NetworkManager start
이렇게 되면 이전에 설정되어 있던 wpa_supplicant 등의 설정값들이 무시되고 기존에 dhcpd로 부여받았던 IP Address가 변경될수도 있다. 예를 들어 wireless로 Gentoo에 연결하고 있는중에 NetworkManager 데몬을 시작하게 되면 갑자기 연결이 끊길수도 있다는 이야기 임.
# rc-update del wpa_supplicant default
* service wpa_supplicant removed from runlevel default
# /etc/init.d/wpa_supplicant stop # 서비스를 중지시켜야 한다.
wpa_supplicant Daemon이 동작하고 있는 상태이면 NetworkManager와 서로 충돌 상황이 생겨서 IP가 계속 바뀌거나 아래의 nmcli connect가 제대로 동작하지 않는 상황이 만들어질수도 있다.
이제 NetworkManager를 서비스로 등록하자
# rc-update add NetworkManager default
* service NetworkManager added to runlevel default
nmcli 사용 방법
[WiFi 검색 목록 확인 방법]
# nmcli dev wifi
IN-USE BSSID SSID MODE CHAN RATE SIGNAL BARS SECURITY
B4:A9:4F:AF:A5:FB KT_GiGA_A5F7 Infra 7 130 Mbit/s 52 ▂▄__ WPA1 WPA2
4E:BC:E9:E7:1E:0A AT_501_R742PVNWW_1e0a Infra 11 65 Mbit/s 50 ▂▄__ WPA2
50:46:AE:1E:7C:06 LGWiFi_7C07 Infra 10 130 Mbit/s 44 ▂▄__ WPA2
56:46:AE:1E:7C:06 -- Infra 10 0 Mbit/s 42 ▂▄__ WPA1
BA:A9:4F:2B:76:8D -- Infra 3 130 Mbit/s 34 ▂▄__ WPA2
C6:A9:4F:2B:76:8D SK_WiFiGIGA768A_2.4G Infra 3 130 Mbit/s 34 ▂▄__ WPA2
B4:A9:4F:2B:76:8D SK_WiFiGIGA768A Infra 3 130 Mbit/s 32 ▂▄__ WPA2
14:4D:67:91:13:E1 CJWiFi_13E2 Infra 3 130 Mbit/s 20 ▂___ WPA1 WPA2
E4:75:DC:41:95:E2 AT_102_3REK1G03N8201R_2_95e3 Infra 11 65 Mbit/s 19 ▂___ WPA2
36:4D:67:91:13:E1 -- Infra 3 130 Mbit/s 17 ▂___ WPA1
26:4D:67:91:13:E1 -- Infra 3 130 Mbit/s 17 ▂___ WPA1 WPA2
04:09:A5:16:93:3F SK_WiFiGIGA933C_2.4G Infra 11 130 Mbit/s 14 ▂___ WPA2
[접속방법]
# nmcli dev wifi connect WIFINAME password 1234567890 ifname wlp3s0n
Device 'wlp3s0n'successfully activated with 'XXXXXX (UUID)로 나옴'
ifname은 필수 파라미터는 아니다. 만약에 Wireless가 여러개를 가지고 있는 상황에서는 위와 같이 명시적으로 지정해줘야 하는 것뿐.
와이파이는 연결되면 DHCP 사용시에 IP를 자동으로 부여받고 기본적인 네트워크 설정까지 한번에 세팅해 준다. 서버용도가 아닌 휴대용으로 사용하는 기기라면 nmcli를 사용해서 WiFi 접속시에 불편함이 없도록 하는것도 좋은 선택이 될것이다.