본문 바로가기
카테고리 없음

리눅스 사용자는 반드시 알아야할 아주 유용한 ip조회 옵션과 명령!!

by 기본기를 다지는 블로그 2025. 3. 12.

 

리눅스에서 ip를 조회할 때는 보통 ifconfig, ip 명령을 사용합니다.

 

모두 좋은 툴 입니다. 하지만, 너무 많은 정보가 출력되서 조금 불편합니다. 

특히  ip 명령어 사용빈도가 많은데 원하는 네트워크 정보를  찾느라 눈이 아플때도 있습니다.

[root@pcs02 ~]# ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:85:7f:a3 brd ff:ff:ff:ff:ff:ff
    inet 172.30.1.201/24 brd 172.30.1.255 scope global noprefixroute ens192
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe85:7fa3/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:85:7f:ad brd ff:ff:ff:ff:ff:ff
    inet 10.10.10.11/8 brd 10.255.255.255 scope global noprefixroute ens224
       valid_lft forever preferred_lft forever

 

마찬가지로 ifconfig 명령인데요 ip, 서브넷 , 인터페이스의 상태 외에 많은 정보가 출력됩니다.

[root@pcs02 ~]# ifconfig
ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.30.1.201  netmask 255.255.255.0  broadcast 172.30.1.255
        inet6 fe80::20c:29ff:fe85:7fa3  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:85:7f:a3  txqueuelen 1000  (Ethernet)
        RX packets 63272966  bytes 419354356689 (390.5 GiB)
        RX errors 0  dropped 3838018  overruns 0  frame 0
        TX packets 45298861  bytes 5254790465 (4.8 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens224: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.10.10.11  netmask 255.0.0.0  broadcast 10.255.255.255
        ether 00:0c:29:85:7f:ad  txqueuelen 1000  (Ethernet)
        RX packets 15144477  bytes 2474130061 (2.3 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 11093144  bytes 1906611419 (1.7 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 207758  bytes 62783586 (59.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 207758  bytes 62783586 (59.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

 

제가 오늘 소개해드릴 명령은 ip 명령 중 -br 옵션을 추가하여 매우 간결하게 네트워크 인터페이스의 IP/subnet과 라우팅 정보, 기본 상태를 체크할 수 있는 명령입니다.

[root@pcs02 ~]# ip -br a s
lo               UNKNOWN        127.0.0.1/8 ::1/128 
ens192           UP             172.30.1.201/24 fe80::20c:29ff:fe85:7fa3/64 
ens224           UP             10.10.10.11/8

ip : 네트워크 관련 정보를 확인하거나 설정하는 명령어
-br (--brief) : 인터페이스 정보를 간결하게 출력

a (address) : IP 주소 정보를 출력
s (show) : 현재 설정된 정보를 표시

[root@pcs02 ~]# ip -br link
lo               UNKNOWN        00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP> 
ens192           UP             00:0c:29:85:7f:a3 <BROADCAST,MULTICAST,UP,LOWER_UP> 
ens224           UP             00:0c:29:85:7f:ad <BROADCAST,MULTICAST,UP,LOWER_UP>

link: 네트워크 인터페이스의 링크 상태(UP/DOWN) 및 MAC 주소를 간결하게 출력

[root@pcs02 ~]# ip -br r
default via 172.30.1.1 dev ens192 proto static metric 102 
10.0.0.0/8 dev ens224 proto kernel scope link src 10.10.10.11 metric 103 
172.30.1.0/24 dev ens192 proto kernel scope link src 172.30.1.201 metric 102

r (route): 현재 설정된 라우팅 테이블을 간결하게 출력

 

 

또 다른 명령은 nmcli 명령 인데요, ip -br 옵션과 마찬가지로 간결한 네트워크 정보를 확인할 수 있습니다.

[root@pcs02 ~]# nmcli
ens192: connected to ens192
        "VMware VMXNET3"
        ethernet (vmxnet3), 00:0C:29:85:7F:A3, hw, mtu 1500
        ip4 default
        inet4 172.30.1.201/24
        route4 172.30.1.0/24
        route4 0.0.0.0/0
        inet6 fe80::20c:29ff:fe85:7fa3/64
        route6 fe80::/64
        route6 ff00::/8

ens224: connected to ens224
        "VMware VMXNET3"
        ethernet (vmxnet3), 00:0C:29:85:7F:AD, hw, mtu 1500
        inet4 10.10.10.11/8
        route4 10.0.0.0/8

lo: unmanaged
        "lo"
        loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536

 

또는 grep 으로 얻고자 하는 정보만 출력하 조회해볼 수 있습니다.

[root@pcs02 ~]# nmcli device show | grep -E 'GENERAL.DEVICE|IP4.ADDRESS|IP6.ADDRESS'  
GENERAL.DEVICE:                         ens192
IP4.ADDRESS[1]:                         172.30.1.201/24
IP6.ADDRESS[1]:                         fe80::20c:29ff:fe85:7fa3/64
GENERAL.DEVICE:                         ens224
IP4.ADDRESS[1]:                         10.10.10.11/8
GENERAL.DEVICE:                         lo
IP4.ADDRESS[1]:                         127.0.0.1/8
IP6.ADDRESS[1]:                         ::1/128

 

저는 현업에서 ip -br a s 명령과 nmcli 명령을 많이 사용합니다. 트러블 슈팅이나 운영중 문제가 발생할 때 ip 정보를 빠르게 확인할 수 있어 매우 편리합니다. 이 글을 읽으시는 여러분도 사용해보시는걸 매우 추천드립니다.