Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

Linux / DevOps

Как узнать IP-адрес сервера в Linux: команда ip a вместо устаревшего ifconfig

Обновлено: 27.08.2026 · Официальная документация ↗

Почему команда ifconfig больше не работает в современных Linux

Долгие годы системные администраторы использовали команду ifconfig для проверки сетевых интерфейсов. Однако в современных дистрибутивах (Ubuntu 20.04+, Debian 11+, RHEL/CentOS 8+) устаревший пакет net-tools был полностью удален из базовой системы. Попытка ввести старую команду приводит к ошибке Command 'ifconfig' not found. На смену пришла современная, быстрая и мощная утилита iproute2 (команда ip).

Сравнение старых и новых сетевых команд

Старая команда (net-tools)Современная команда (iproute2)Что показывает
ifconfigip a (или ip addr show)Список всех сетевых карт, MAC и IP-адресов
route -nip r (или ip route show)Таблица сетевых маршрутов и основной шлюз
netstat -tulnss -tulnСписок открытых сетевых портов и служб

Пошаговое определение локального и внешнего IP-адреса

Шаг 1: Просмотр всех сетевых интерфейсов (команда ip a)

Введите короткую базовую команду:

ip a

Как правильно читать вывод:

  • Интерфейс 1: lo — это локальная петля (Loopback, адрес 127.0.0.1), внутренняя связь сервера с самим собой.
  • Интерфейс 2: eth0 (или ens3, enp3s0) — ваша реальная физическая или виртуальная сетевая карта.
  • Строка inet 192.168.1.150/24 — это локальный IPv4-адрес вашего сервера.
  • Строка inet6 fe80::... — ваш сетевой IPv6-адрес.

Шаг 2: Вывод компактной информации только по конкретной сетевой карте

Чтобы не листать длинный список интерфейсов Docker и мостов, укажите имя вашей сетевой карты:

ip -br a show eth0

(Флаг -br выведет данные в красивой компактной строке Brief).

Шаг 3: Как узнать публичный (внешний белый) IP-адрес сервера

Если сервер находится за роутером или облачным NAT (например, в Яндекс.Облаке или AWS), команда ip a покажет только серый локальный адрес. Чтобы узнать ваш публичный IP, видимый всему миру, выполните один из интернет-запросов:

curl -s ifconfig.me
 или
curl -s icanhazip.com

Шаг 4: Просмотр адреса основного шлюза (роутера)

Узнаем IP-адрес маршрутизатора (Gateway):

ip r | grep default

Типовые ошибки администраторов

  • Установка устаревшего net-tools: Не пытайтесь ставить net-tools ради привычного ifconfig — старая утилита не умеет корректно отображать множественные IP-адреса на одном интерфейсе и пространства имен сетевых пространств (Network Namespaces). Привыкайте к стандарту ip.
  • Путаница между публичным и локальным IP: Настройка веб-сервера на внешний белый IP внутри конфига Netplan приведет к сбою, если сервер работает за облачным шлюзом NAT (привязываться нужно к локальному адресу карты).
Не можете настроить маршрутизацию между подсетями или белый статический IP?
Инженеры ITSTM спроектируют корпоративную сетевую инфраструктуру, настроят VLAN, межсетевые экраны и защищенные каналы связи между офисами.
💡 Практика специалистов: Для удобного цветного отображения сетевых параметров добавьте в свой ~/.bashrc алиас 'alias ip="ip -c"'. Флаг '-c' (Color) раскрасит интерфейсы, IP-адреса и статусы UP/DOWN в терминале разными цветами, что исключает ошибки при чтении вывода.

Частые вопросы (FAQ)

Что означает статус <NO-CARRIER> в выводе команды ip a?

Статус NO-CARRIER означает, что сетевой кабель физически не подключен к порту сетевой карты или на стороне гипервизора отключен виртуальный сетевой адаптер.

Как быстро скопировать только чистый IP-адрес сервера в переменную скрипта?

Используйте команду: hostname -I | awk '{print $1}'.

Что означает статус сетевого интерфейса DOWN?

Интерфейс программно выключен. Включите его командой: sudo ip link set eth0 up.

Как посмотреть MAC-адрес сетевой карты сервера?

В выводе команды 'ip a' найдите строку 'link/ether' рядом с нужным интерфейсом — 12-значный набор шестнадцатеричных символов является физическим MAC-адресом.

Полезные материалы
Рекомендуем