Как узнать IP-адрес в Linux

Содержание
- Зачем нужно знать IP-адрес в Linux?
- Как быстро посмотреть IP-адрес в Linux (локальный)
- Основные команды для просмотра IP-адреса
- ip a — современный и универсальный способ
- hostname -I — самый короткий способ
- ip route get — IP-адрес активного интерфейса
- ifconfig — устаревшая, но ещё используемая команда
- Как узнать внешний IP-адрес в Linux (через интернет)
- Скрипты и команды для продвинутых пользователей
- Часто задаваемые вопросы (FAQ)
- Вывод
Зачем нужно знать IP-адрес в Linux?
IP-адрес — это уникальный сетевой идентификатор устройства. Он необходим для:
- подключения к серверу по SSH;
- настройки веб-серверов, баз данных и других сетевых служб;
- диагностики сетевых проблем;
- настройки фаерволов, маршрутизации и NAT;
- пентеста и анализа трафика.
В этом руководстве я покажу, как узнать IP-адрес в Linux — как локальный (внутренний), так и внешний (публичный), используя простые команды. Инструкции подходят для всех популярных дистрибутивов: Ubuntu, Debian, CentOS, Arch Linux, RedOS, ALT Linux и других.
Как быстро посмотреть IP-адрес в Linux (локальный)
Самый быстрый способ узнать IP-адрес — команда ip
:
ip a
или более явно:
ip addr show
В выводе найди строку вида:
inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0
Твой IP — это 192.168.1.100
.
Основные команды для просмотра IP-адреса
ip a — современный и универсальный способ
ip a
- Показывает все сетевые интерфейсы:
eth0
,wlan0
,lo
и т.д. - Строка
inet
— это IPv4-адрес,inet6
— IPv6.
Если нужен только IPv4 без лишнего:
ip -4 addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}'
Замените
eth0
на нужный интерфейс:wlan0
,ens33
и т.д.
hostname -I — самый короткий способ
hostname -I
- Выводит только IP-адреса, без лишнего текста.
- Удобно использовать в скриптах.
Обычно показывает локальный IP, а также IP Docker-интерфейсов.
ip route get — IP-адрес активного интерфейса
ip route get 1.1.1.1
Пример:
1.1.1.1 via 192.168.1.1 dev eth0 src 192.168.1.100 uid 1000
Значение после src
— это твой IP. Полезно, если у машины несколько интерфейсов: показывает, с какого именно будет исходить трафик.
ifconfig — устаревшая, но ещё используемая команда
ifconfig
По умолчанию не установлена в новых дистрибутивах. Установи
net-tools
Как узнать внешний IP-адрес в Linux (через интернет)
Чтобы узнать внешний (публичный) IP-адрес, с которым ты выходишь в интернет:
curl icanhazip.com
Если curl не установлен:
wget -qO- icanhazip.com
Скрипты и команды для продвинутых пользователей
🔸 Скрипт: вывод всех IP-адресов по интерфейсам
ip -o -4 addr list | awk '{print $2 ": " $4}'
🔸 Получить IP-адрес конкретного интерфейса
ip -4 addr show dev eth0 | grep inet | awk '{print $2}' | cut -d/ -f1
Внешний IP через dig
dig +short myip.opendns.com @resolver1.opendns.com
Часто задаваемые вопросы (FAQ)
🔹 Какие IP-адреса считаются внутренними (локальными)?
IP внутри сетей:
10.0.0.0/8
172.16.0.0 – 172.31.255.255
192.168.0.0/16
Они используются внутри локальных сетей и не видны из интернета.
🔹 Как проверить доступность IP-адреса?
ping 192.168.1.1
Если получаешь ответы — хост доступен. Если нет — возможны проблемы с сетью или фаерволом.
Вывод
Узнать IP-адрес в Linux — задача на 5 секунд, если знаешь нужную команду. Главное — понимать, какой IP тебе нужен:
- Локальный — для работы внутри сети.
- Внешний — для подключения извне.
- По конкретному интерфейсу — если используется несколько сетей или Docker.
🧠 Шпаргалка по командам
Что нужно | Команда |
---|---|
Все IP-адреса | ip a |
Только IPv4 | ip -4 a |
IP по интерфейсу (eth0) | ip -4 addr show dev eth0 |
Активный IP | ip route get 1.1.1.1 |
Внешний IP (curl) | curl icanhazip.com |
Только IP (коротко) | hostname -I |
Если тебе понравилась статья — заходи на SecureFlow.ru и читай другие полезные гайды по Linux, DevOps и информационной безопасности!