OS/Command

[Rocky Linux] nmcli 명령어

PeamS 2026. 2. 10. 15:55

퀵 명령어

nmcli 은 명령어 단축 가능
# 대화형 수정 방법
nmcli con edit <NAME>

# 현재 설정 보기
nmcli

# 연결 목록 보기
nmcli con

# 지우기
nmcli con del <NAME>

# 설정하기
nmcli con mo <NAME> ipv4.address 10.0.0.1/24

# 설정하기(추가)(라우트 추가)
nmcli con mo <NAME> +ipv4.routes "10.0.0.0/24 10.0.0.1 100"

# 설정하기(빼기)(라우트 빼기)
nmcli con mo <NAME> ipv4.routes "10.0.0.0/24 10.0.0.1 100"

# 죽이기
nmcli con down <NAME>

# 시작하기 / 설정 반영하기(네임서버, 라우트 설정 반영 시)
nmcli con up <NAME>

 

Intro

Rocky 8 부터는 ifcfg 말고 nmcli 로 네트워크 관리할 수 있도록 변경됐습니다.

cat /etc/sysconfig/network-scripts/readme-ifcfg-rh.txt 로 확인 가능

 

cisco cli 처럼 명령어 단축이 가능합니다. (connection -> con, modify -> mo)

 

값 예시 설명
connection.id eth0 별칭, 별명
connection.interface-name eth0 물리 이더넷 이름(ens, eth,enp...)
ipv4.address 192.168.0.1/24 IPv4 주소 / Prefix
ipv4.gateway 192.168.0.254 IPv4 게이트웨이
ipv4.method manual manual(static), auto(dhcp) 로 보면 편합니다.

 

명령어

대화형 인터페이스 설정 (추가, 수정 가능)

nmcli connection edit
  • set : 값 설정 (예 : set ipv4.address 192.168.0.1/24
  • remove : 값 제거 (예 : remove ipv4.address 192.168.0.1/24)
  • print : 설정 상태 보기 (예 : print ipv4)
  • save : 설정 저장
  • activate : 설정 반영 (nmcli connection up 과 비슷합니다. 바로 설정 값이 올라 옵니다)

wireless

# wifi 상태 확인
nmcli radio 

# wifi 활성화
nmcli radio wifi on

# 주변 wifi 신호 검색
nmcli device wifi list

[root@localhost ~]# nmcli device wifi list
IN-USE  BSSID              SSID              MODE    CHAN  RATE         SIGNAL  BARS  SECURITY
        00:00:00:00:00:00  --                인프라  40    1170 Mbit/s  97      ▂▄▆█  WPA2
        00:00:00:00:00:00  wifi              인프라  40    1170 Mbit/s  94      ▂▄▆█  WPA2
        00:00:00:00:00:00  wifi2             인프라  36    1170 Mbit/s  92      ▂▄▆█  WPA2

# wifi 연결하기
nmcli device wifi connect '와이파이이름' password '비밀번호'

# 다음과 같이 컨넥션이 생성됨
[root@localhost ~]# nmcli con
NAME                UUID                                  TYPE      DEVICE
wiki                                                      wifi      wlp2s0

 

route 설정

nmcli con modify <interface name> +ipv4.routes "<network ip>/<prefix> <gateway ip> <priority>"
ex) nmcli con modify eno4 +ipv4.routes "192.168.0.0/24 10.1.1.1 90"
# 추가는 ipv4.routes 앞에 +, 설정 제거는 - 꼭 붙여야 함

 

예제

bond 이중화 구축

2개 이상의 포트를 묶을 때 사용하며 옵션은 다음과 같습니다.

옵션 기본값 내용
mode - active-backup
primary - 메인 인터페이스 지정
(DEVICE 이름으로 넣어야 함)
num_grat_arp 1 장애 발생 시 Gratuitous ARP 전송 횟수
primary_reselect 0 0 : 즉각 복구
1 : 속도나 듀플렉스 보고 복구
2 : 수동 복구. 인터페이스가 복구돼도 Currently Active Slave 가 바뀌진 않음.

 

2개 포트 active-standby 만들기

# 아래 설정 값 수정해서 사용
# bond0
BOND_NAME"bond0"
BOND_IP="192.168.0.1/24"
BOND_GW="192.168.0.254"
BOND_PINT="eth0"
BOND_SINT="eth1"
# P = primary, S = Secondary

nmcli con add type bond con-name ${BOND_NAME} ifname ${BOND_NAME} bond.options "mode=active-backup,miimon=100"

nmcli con mo ${BOND_NAME} connection.autoconnect yes
nmcli con mo ${BOND_NAME} ipv4.address ${BOND_IP}
nmcli con mo ${BOND_NAME} ipv4.gateway ${BOND_GW}
nmcli con mo ${BOND_NAME} ipv4.method manual

nmcli con add type ethernet slave-type bond con-name ${BOND_NAME}-active ifname ${BOND_PINT} master ${BOND_NAME}
nmcli con add type ethernet slave-type bond con-name ${BOND_NAME}-backup ifname ${BOND_SINT} master ${BOND_NAME}

nmcli con up ${BOND_NAME}-active
nmcli con up ${BOND_NAME}-backup
nmcli con up ${BOND_NAME}

 

2개 포트 active-standby 만들기 (매뉴얼)

bond0 인터페이스 생성하기

nmcli con add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup,miimon=100"

 

eth0, eth1 를 bond0-active, bond0-backup 이름으로 bond0 에 추가하기

nmcli con add type ethernet slave-type bond con-name bond0-active ifname eth0 master bond0
nmcli con add type ethernet slave-type bond con-name bond0-backup ifname eth1 master bond0

 

bond0 에 대해 IP 설정 진행

nmcli con mo bond0 connection.autoconnect yes
nmcli con mo bond0 ipv4.address 192.168.0.11/24
nmcli con mo bond0 ipv4.gateway 192.168.0.1
nmcli con mo bond0 ipv4.method manual

 

설정 반영하기

nmcli con up bond0-active
nmcli con up bond0-backup
nmcli con up bond0

 

eth0 이름으로 된 컨넥션은 비활성화되고 bond0-active 로 올라온다. (eth0 device 가 쓰는 컨넥션이 eth0 -> bond0-active 로 바뀜)
bond0-active 컨넥션이 지워진다면 비활성화 된 eth0 컨넥션이 다시 올라온다. (/etc/NetworkManager/system-connections 확인)

 

messages 로그

test01 kernel: bond0: (slave enp1s0): link status definitely up, 0 Mbps full duplex
test01 kernel: bond0: (slave enp1s0): making interface the new active one
test01 kernel: bond0: (slave enp7s0): link status definitely down, disabling slave

 

트러블슈팅

(Rocky8) nmcli connection up 시 No suitable device found for this connection

에러내용

'eth1'(UUID) 연결 활성화 실패: No suitable device found for this connection (device eth0 not available because profile is not compatible with device (mismatching interface name)).

 

원인 및 해결

eth1 에 물리적인 연결이 없을 경우 eth1 connection up 이 되지 않습니다.

물리적인 연결 후 재시도