Как посмотреть IP-адреса сетевых интерфейсов на Linux-сервере?

«Как посмотреть IP-адреса сетевых интерфейсов на Linux-сервере?» — вопрос из категории Linux, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В современных дистрибутивах Linux для работы с сетевыми настройками используется утилита ip из пакета iproute2.

Основная команда:

ip addr show
# Или сокращённо:
ip a

Она выведет список всех сетевых интерфейсов (loopback, ethernet, bridge, VLAN и т.д.) с их состояниями, MAC-адресами и назначенными IP-адресами (IPv4 и IPv6).

Альтернативные и вспомогательные команды:

  • hostname -I — быстро вывести все IPv4-адреса, назначенные серверу, в одну строку. Удобно для скриптов.
  • ifconfig — устаревшая, но знакомая многим утилита. Может не быть установлена по умолчанию в минимальных дистрибутивах.

Пример вывода ip a для интерфейса с адресом:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether aa:bb:cc:dd:ee:ff brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::aabb:ccff:fedd:eeff/64 scope link
       valid_lft forever preferred_lft forever