본문 바로가기

Engineering/Linux

command line 에서 ip 주소 확인 방법

728x90

linux 계통이나 Mac OS 에서 많이 사용하는 호스트 서버의 ip 주소 확인 방법을 정리해 본다.

 

ifconfig
- CentOS / Rocky : 기본 인테페이스 정보 노출
- Mac : -a 옵션을 안줘도 전체 인터페이스 정보 노출

$ ifconfig
ens3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1496
        inet 183.110.93.82  netmask 255.255.255.0  broadcast 183.110.93.255
        inet6 fe80::f816:3eff:fe38:e154  prefixlen 64  scopeid 0x20<link>
        ether fa:16:3e:38:e1:54  txqueuelen 1000  (Ethernet)
        RX packets 76591791  bytes 73205631681 (73.2 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 51176585  bytes 42992462681 (42.9 GB)
        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
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 344783  bytes 49353652 (49.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 344783  bytes 49353652 (49.3 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

※ ifconfig 는 ip 주소를 알아내는 기능 외에도 명령어 이름에서 알 수 있듯이 네트워크 인터페이스 ip 주소값을 설정할 수 있다. 또한 인터페이스 up/down(활성화/비활성화)를 할 수 있다.

ex) ifconfig eth0 192.168.0.100 up

 

ip addr

- CentOS / Rocky

$ ip addr
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
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1496 qdisc fq_codel state UP group default qlen 1000
    link/ether fa:16:3e:38:e1:54 brd ff:ff:ff:ff:ff:ff
    altname enp0s3
    inet 183.130.93.82/24 metric 100 brd 183.140.93.255 scope global ens3
       valid_lft forever preferred_lft forever
    inet6 fe80::f816:3eff:fe38:e154/64 scope link 
       valid_lft forever preferred_lft forever

※ ip 명령어는 addr 명령어 외에 route 명령어로 라우팅 테이블 정보를 확인할 수 있다. ifconfig 로 비슷하게 주소 설정도 가능하다.

$ ip route
default via 183.110.93.1 dev ens3 proto dhcp src 183.110.93.82 metric 100 
169.254.169.254 via 183.110.93.14 dev ens3 proto dhcp src 183.110.93.82 metric 100 
183.110.93.0/24 dev ens3 proto kernel scope link src 183.110.93.82 metric 100 
222.122.146.200 via 183.110.93.1 dev ens3 proto dhcp src 183.110.93.82 metric 100

 

- Mac : 해당 명령어 없음. scutil 명령어로 대체 가능

% scutil --nwi
Network information

IPv4 network interface information
     en0 : flags      : 0x5 (IPv4,DNS)
           address    : 172.25.1.24
           reach      : 0x00000002 (Reachable)

   REACH : flags 0x00000002 (Reachable)

IPv6 network interface information
   No IPv6 states found


   REACH : flags 0x00000000 (Not Reachable)

Network interfaces: en0

 

hostname -i

- CentOS / Rocky

$ hostname -i
10.166.116.62 172.17.0.1

 

- Ubuntu : -I 옵션으로 대체

$ hostname -i
hostname: Name or service not known
$ hostname -I
183.110.93.82

 

- Mac : hostname 명령어는 있지만 -i 옵션이 없다. X