[Linux] nmcli (네트워크설정)
모든 connection 표시
활성화된 내역만 표시하려면 --active 옵션을 추가합니다.
$ nmcli con show
NAME UUID TYPE DEVICE
System eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ethernet eth0
ens3 522d46ea-91a5-4761-97f7-754afc9dda66 ethernet --
BashCopyBASH
ip 설정
con mod 명령어 뒤에 show 에서 표시되는 connection NAME (위에서는 "System eth0") 을 적어주고 IP 와 netmask, gateway 를 명시합니다.
IP V4
$ nmcli con mod "System eth0" ipv4.address 192.0.2.2/24 ipv4.gateway 192.0.2.254 ipv4.dns "8.8.8.8 168.126.63.1"
BashCopyBASH
IP V6
$ nmcli con mod "System eth0" ipv6.address 2001:db8:0:1::a00:1/64 ipv6.gateway 2001:db8:0:1::1
BashCopyBASH
DHCP 활성화
$ nmcli device modify "System eth0" ipv4.method auto
$ nmcli device modify "System eth0" ipv6.method auto
BashCopyBASH
부팅시 자동 활성화
nmcli con mod "System eth0" connection.autoconnect yes
BashCopyBASH
설정 상태 보기
$ nmcli device show "System eth0"
BashCopyBASH
설정 반영
$ systemctl restart NetworkManager.service
BashCopyBASH
개요
nmcli 는 커맨드에서 Network Manager 를 제어하거나 network 상태를 볼 수 있는 명령어로 다양하게 활용할 수 있는 유용한 명령어입니다.
사용법은 nmcli [OPTIONS] OBJECT {COMMAND} 의 문법을 사용하며 OBJECT 는 nmcli 로 실행할 action 을 의미합니다.
general, networking, radio 등의 OBJECT 가 있으며 축약해서 맨 앞자리 알파벳만 사용해도 됩니다.
즉 아래 2개는 동일한 명령어입니다.
$ nmcli general status
Plain textCopyCODE
$ nmcli g status
Plain textCopyCODE
OBJECT 별 상세 옵션을 보려면 --help 옵션을 추가하고 실행하면 됩니다.
$ nmcli general --help
Usage: nmcli general { COMMAND | help }
COMMAND := { status | hostname | permissions | logging }
status
hostname [<hostname>]
permissions
logging [level <log level>] [domains <log domains>]
Plain textCopyCODE
general 명령어
network 상태나 정보를 볼 수 있습니다.
$ nmcli general { status | hostname | permissions | logging } ARG
BashCopyBASH
현재 네트워크 상태를 보려면 status 옵션을 주거나 아예 생략하면 됩니다.
$ nmcli g st
STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN
connected full enabled enabled enabled enabled
BashCopyBASH
hostname 옵션을 주면 현재 서버에 설정한 호스트 명을 알 수 있습니다.
$ nmcli g h
lesstif.com
BashCopyBASH
device 명령어
device 디바이스 상세 정보를 볼 수 있습니다.
nmcli device show
Plain textCopyCODE
networking 명령어
on/off 옵션으로 네트워크 매니저가 네트웍 관리 여부 설정
nmcli networking { on | off | connectivity } ARG
Plain textCopyCODE
network off
원격으로 연결했을 경우 nmcli network off 를 실행하지 말 것.! RHEL/CentOS 8 network 설정 반영 참고
nmcli net off
Plain textCopyCODE
network on
nmcli net on
Plain textCopyCODE
radio
WIFI 를 on/off 할 수 있습니다.
nmcli radio wifi on
Plain textCopyCODE
connection 명령어
network 활성화
nmcli connection up
Plain textCopyCODE
1. 시스템의 Wi-Fi 활성화 상태 확인
[root@p50 ~] # nmcli radio wifi
disabled
2. 시스템의 Wi-Fi 활성화
[root@p50 ~] # nmcli radio wifi on
3. 시스템의 Wi-Fi 활성화 상태 확인
[root@p50 ~] # nmcli radio wifi
enabled
4. 사용가능한 Wi-Fi AP 리스트 조회 하기
[root@p50 ~] # nmcli device wifi list
IN-USE SSID MODE CHAN RATE SIGNAL BARS SECURITY
AndroidHotspot0396 인프라 6 130 Mbit/s 100 ▂▄▆█ WPA2
GN-8-hotstop 인프라 9 130 Mbit/s 100 ▂▄▆█ WPA2
-- 인프라 56 195 Mbit/s 92 ▂▄▆█ WPA2
WNet 인프라 56 195 Mbit/s 90 ▂▄▆█ WPA2
WGuest 인프라 56 195 Mbit/s 90 ▂▄▆█ --
WIFI-AP 인프라 1 195 Mbit/s 84 ▂▄▆█ WPA2
WGuest 인프라 1 195 Mbit/s 84 ▂▄▆█ --
Red_Hat_Guest 인프라 52 195 Mbit/s 84 ▂▄▆█ WPA2
WGuest 인프라 100 195 Mbit/s 84 ▂▄▆█ --
5. Wi-Fi AP 연결 하기
[root@p50 ~] # nmcli device wifi connect Red_Hat_Guest password <PASSWORD>
6. Wi-Fi AP 연결 확인
[root@p50 ~] # nmcli device wifi list
IN-USE SSID MODE CHAN RATE SIGNAL BARS SECURITY
* Red_Hat_Guest 인프라 52 195 Mbit/s 52 ▂▄__ WPA2
6. Wi-Fi AP 연결 상세확인(모든 필드 내용 확인하기)
[root@p50 ~] # nmcli -f all device wifi list
NAME SSID SSID-HEX BSSID MODE CHAN FREQ RATE SIGNAL BARS SECURITY WPA-FLAGS RSN-FLAGS DEVICE ACTIVE IN-USE DBUS-PATH
AP[1] Red_Hat_Guest 4D6372616E6574 00:EA:BD:D0:FC:22 인프라 52 5260 MHz 195 Mbit/s 52 ▂▄__ WPA2 (없음) pair_ccmp group_ccmp psk wlp4s0 예 * /org/freedesktop/NetworkManager/AccessPoint/2235
관련하여 nmcli의 Manual page등을 참조하시면 보다 다양한 옵션 및 정보를 확인 하실수 있습니다.
# man nmcli 또는 man nmcli-example을 참조하시면 보다 다양하고 상세한 가이드를 확인하실 수 있습니다.