리눅스에서 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 정보를 빠르게 확인할 수 있어 매우 편리합니다. 이 글을 읽으시는 여러분도 사용해보시는걸 매우 추천드립니다.