Гид по технологиям

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

6 min read Linux Обновлено 31 Dec 2025
Как узнать IP-адрес в Linux
Как узнать IP-адрес в Linux

Команда Linux для получения IP-адреса ПК

IP-адрес — числовая метка, однозначно идентифицирующая устройство в сети. Существуют два основных типа адресов: приватные и публичные. Приватный адрес используется внутри локальной сети и недоступен напрямую из интернета. Публичный адрес глобально маршрутизируем и нужен для связи с ресурсами в сети Интернет.

Этот практический материал объясняет, как быстро и безопасно получить информацию об IP-адресе на Linux-системах и какие инструменты для этого применять.

Как работают IP-адреса

Прежде чем смотреть адреса на своей машине, полезно понимать основные принципы. В домашней сети каждое устройство получает уникальный приватный IP. Такие адреса не позволяют напрямую подключаться к интернету — для этого нужен публичный IP.

Принцип работы NAT: замена приватного IP на публичный

Когда вы обращаетесь к сайту, ваш роутер или провайдер назначает публичный IP для исходящих соединений. Процесс называется NAT — Network Address Translation. NAT заменяет приватный IP в заголовке пакета на публичный, валидный в глобальной сети.

В одном предложении — NAT связывает приватную сеть с интернетом, сохраняя уникальность адресации внутри локальной сети.

Как найти приватный IP в Linux

RFC 1918 задаёт диапазоны приватных адресов. Число X ниже означает любое значение от 0 до 255.

  • 10.X.X.X — 10.0.0.0/8
  • 172.16.X.X — 172.31.X.X — 172.16.0.0/12
  • 192.168.X.X — 192.168.0.0/16

Ниже — проверенные способы узнать приватный IP.

Быстро: ip addr

Самый универсальный инструмент — ip из iproute2:

ip -4 addr

Эта команда покажет интерфейсы, их IPv4-адреса и loopback (127.0.0.1).

Вывод адресов ip addr в Linux

Если нужен только один IP-адрес для основного маршрута, используйте следующее:

ip route get 1.1.1.1 | awk '{print $7}'

Эта команда получает маршрут до публичного адреса 1.1.1.1 и извлекает исходящий интерфейс и соответствующий IP.

Простая альтернатива: hostname

hostname -I

Выведет список адресов, назначенных хосту (простая и быстрая команда для скриптов).

Пример вывода hostname -I

NetworkManager: nmcli

Если вы используете NetworkManager, полезна команда:

nmcli -p device show

Она выводит подробную информацию по каждому устройству, включая IP, шлюз и DNS.

Вывод данных сети через nmcli

Как узнать публичный IP в Linux

Публичный IP ваш роутер/провайдер назначает извне, поэтому его нельзя прочитать прямо на интерфейсе (он виден локально как IP шлюза). Чтобы узнать публичный IP, сделайте запрос к внешнему сервису, который вернёт ваш видимый адрес.

Команды для получения публичного IP

Примеры с dig (DNS), curl и wget:

# Через OpenDNS
dig +short myip.opendns.com @resolver1.opendns.com

# Через Google DNS (TXT-запись)
dig TXT +short o-o.myaddr.l.google.com @ns1.google.com
# Через curl
curl https://ifconfig.me ; echo
curl https://ipinfo.io/ip ; echo
# Через wget
wget -qO- api.ipify.org ; echo
wget -qO- https://ipecho.net/plain ; echo

Или просто откройте браузер и введите в Google: what is my ip — Google сразу покажет ваш публичный IP.

Важно: внешний сервис может вернуть IPv4 или IPv6-адрес в зависимости от вашей сетевой конфигурации и от того, через какой стек подключён ваш трафик.

Как скрыть IP-адрес в Linux

Если вы не хотите, чтобы ваш публичный IP был виден ресурсам в интернете, есть три основных способа.

  • VPN: шифрует трафик и заменяет ваш публичный IP на IP сервера VPN. Подходит для приватности и обхода гео-блокировок.
  • Tor: пересылает трафик через сеть добровольных узлов для анонимности. Подходит для максимальной приватности, но медленнее.
  • Прокси: перенаправляет запросы через другой сервер. Не шифрует трафик по умолчанию, поэтому менее безопасен.

Выбор зависит от целей: шифрование и стабильность — VPN, анонимность — Tor, простая маршрутизация — прокси.

Important: Бесплатные прокси и некоторые VPN могут вести логи. Для конфиденциальности выбирайте проверенные поставщики с политикой отсутствия логов.

Практическое руководство: когда какой метод использовать

  • Если нужно быстро узнать локальный IP для отладки — используйте ip или hostname.
  • Если скрипт должен получить IP машины в CI/CD — используйте ip route get или hostname -I и проверяйте пустой вывод.
  • Если нужна проверка «какой IP виден в Интернете» — используйте curl/wget к надежному API (например, ipinfo, ipify, ifconfig.me) или dig к OpenDNS.
  • Если задача — скрыть реальный IP — используйте VPN с хорошей репутацией или Tor для усиленной анонимности.

SOP: быстрый план проверки IP (оперативный)

  1. Проверка приватного адреса
    • Выполните ip -4 addr
    • Если нужно точечное значение, запустите ip route get 1.1.1.1 | awk ‘{print $7}’
  2. Проверка публичного адреса
    • Выполните curl https://ifconfig.me ; echo
    • Если curl отсутствует, используйте wget -qO- api.ipify.org ; echo
  3. Документирование
    • Сохраните вывод в лог: ip -4 addr > /var/log/ip-check.log
  4. При проблемах
    • Проверьте, доступен ли шлюз: ip route show
    • Проверьте конфигурацию DNS: systemd-resolve –status или nmcli device show

Критерии приёмки

  • Команды возвращают ожидаемые IP (приватный — в диапазоне RFC1918; публичный — валидный внешний адрес).
  • В логах присутствуют timestamp и интерфейс.

Чеклист по ролям

Администратор:

  • Проверить ip addr и маршруты
  • Проверить статус NetworkManager и демонов сети

Разработчик:

  • Быстро получить IP для настройки тестов: hostname -I
  • Убедиться, что контейнеры получают адреса (docker network inspect)

Пользователь:

  • Использовать curl или Google для простого определения публичного IP

Сценарии, когда методы не сработают

  • В окружениях с NAT на нескольких уровнях (Carrier-Grade NAT) публичный IP провайдера не совпадает с публичным IP, который видит ресурс; вы всё равно увидите адрес последнего NAT.
  • В закрытых окружениях без внешнего доступа curl/wget не сможет получить публичный IP.
  • В системах с нестандартными сетевыми стеками (сборки с отсутствующим iproute2) команды могут отличаться.

Альтернативные подходы

  • Для автоматизированного мониторинга используйте агентные оповещения, отправляющие текущий публичный IP на ваш сервер.
  • В Kubernetes-кластерах проверяйте внешний IP сервисов через kubectl get svc — для определения видимого адреса служб.

Короткий глоссарий

  • IP: адрес устройства в сети.
  • Приватный IP: адрес из диапазонов RFC1918, используется внутри сети.
  • Публичный IP: адрес, маршрутизируемый в интернете.
  • NAT: механизм подмены адресов между приватной и публичной сетями.

Mermaid: решение какой команды использовать

flowchart TD
  A[Нужно узнать IP?] --> B{Локальный или публичный}
  B -- Локальный --> C[ip -4 addr \nили hostname -I]
  B -- Публичный --> D{Есть curl/wget/dig?}
  D -- Да --> E[curl https://ifconfig.me]
  D -- Нет --> F[Попробовать dig к OpenDNS]
  E --> G[Готово]
  F --> G
  C --> G

Тесты и критерии приёмки

  • Тест 1: ip -4 addr выводит интерфейс с адресом в диапазоне RFC1918.
  • Тест 2: curl https://ifconfig.me возвращает корректный IPv4/IPv6-адрес.
  • Тест 3: В случае отсутствия сети команды корректно завершаются с понятным сообщением об ошибке.

Советы по безопасности и конфиденциальности

  • Не публикуйте публичный IP в публичных репозиториях, если он связан с хостами, к которым могут быть привязаны сервисы.
  • При использовании сторонних сервисов для определения IP выбирайте проверенные API (ipify, ipinfo) и читайте политику логирования.
  • При необходимости полной анонимности используйте Tor и внимательно проверяйте утечки DNS.

Итог

Linux предоставляет простые и быстрые способы узнать приватный и публичный IP. Для большинства задач достаточно комбинации ip/hostname для локального адреса и curl/wget/dig для публичного. Дополнительные чеклисты и SOP помогут интегрировать эти проверки в повседневную работу.

Summary:

  • Приватный IP: ip -4 addr или hostname -I
  • Публичный IP: curl https://ifconfig.me или dig к OpenDNS
  • Скрыть IP: VPN/Tor/Proxy

Если нужно — могу подготовить одностраничный скрипт, который автоматически сохранит приватный и публичный IP в файл и отправит уведомление при изменении адреса.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Обновление до бета‑версии Ubuntu
Ubuntu

Обновление до бета‑версии Ubuntu

Ошибка 'file too large' на Linux — как исправить
Linux

Ошибка 'file too large' на Linux — как исправить

Очистка Windows 10 без полной переустановки
Windows 10

Очистка Windows 10 без полной переустановки

Удалённая помощь с Schnitz Remote Lite
Удалённая помощь

Удалённая помощь с Schnitz Remote Lite

Исправить зацикливание входа в Ubuntu
Ubuntu

Исправить зацикливание входа в Ubuntu

sudo: пароль верный, но не принимается — как исправить
Linux

sudo: пароль верный, но не принимается — как исправить