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

Как узнать публичный IP-адрес в Linux

3 min read Linux Обновлено 23 Apr 2026
Публичный IP в Linux — быстро и просто
Публичный IP в Linux — быстро и просто

Коротко: используйте host или dig для запроса DNS-сервисов (например, OpenDNS) или внешние веб-сервисы через curl/wget. Эти методы показывают ваш публичный IP даже за NAT. Ниже — команды, подсказки по проверке и рекомендации по безопасности.

Что такое публичный и приватный IP

Публичный IP — адрес, видимый в интернете. Приватный IP — локальный адрес внутри вашей сети. Публичный IP назначает ваш провайдер или NAT-шлюз.

Получение публичного IP с помощью host

Утилита host получает DNS-информацию и может вернуть ваш публичный IP через сервис OpenDNS.

host myip.opendns.com resolver1.opendns.com

Чтобы вывести только адрес, примените grep и awk:

host myip.opendns.com resolver1.opendns.com | grep "myip.opendns.com has" | awk '{print $4}'

Фото: результат команды host с публичным IP

Скриншот: получение публичного IP в Linux с помощью host

Важно: команда возвращает IP, который виден внешнему резолверу. Если у вас включён VPN, результат будет адресом VPN-сервера.

Использование dig

dig — универсальный инструмент для DNS-запросов. Команда ниже возвращает только IP-адрес в строке вывода.

dig +short myip.opendns.com @resolver1.opendns.com

Скриншот: вывод dig с публичным IP

Использование внешних веб-сервисов (curl / wget)

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

curl https://ipinfo.io/ip ; echo
wget -qO- https://ipecho.net/plain ; echo

Команды выше получают IP с ipinfo.io и ipecho.net.

curl https://ipecho.net/plain ; echo
wget -qO- https://ipecho.net/plain ; echo
curl https://ifconfig.me ; echo
wget -qO- https://ifconfig.me ; echo

Скриншот: получение публичного IP с веб-сайтов через curl/wget

Быстрый чит‑шит — команды в одном месте

КомандаОписание
host myip.opendns.com resolver1.opendns.comDNS-запрос через OpenDNS, выводит подробную информацию
host …… + grep/awk — возвращает только IP
dig +short myip.opendns.com @resolver1.opendns.comКороткий вывод только IP
curl https://ipinfo.io/ipБыстрый HTTP-запрос к внешнему сервису
wget -qO- https://ifconfig.meАльтернатива curl

Когда эти методы могут не сработать

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

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

  • Посмотреть интерфейсы и маршруты: ip addr show и ip route show — это покажет локальные адреса и шлюз по умолчанию, но не всегда публичный IP.
  • Использовать системный роутер/панель управления провайдера для просмотра назначенного IP.
  • Проверить логи подключений на граничном оборудовании (NAT/Firewall).

Ментальная модель: почему это работает

Когда вы делаете запрос к внешнему сервису, он видит источник пакета в момент прихода запроса. Если ваш трафик проходит через NAT или VPN, сервис увидит адрес NAT-шлюза или VPN-узла. DNS-запрос к myip.opendns.com специально настроен так, чтобы ответ содержал исходный адрес запроса.

Диаграмма для выбора метода

flowchart TD
  A[Нужно быстро узнать IP?] --> B{Есть curl/wget?}
  B -- Да --> C[Использовать curl https://ipinfo.io/ip]
  B -- Нет --> D{Есть dig/host?}
  D -- dig --> E[dig +short myip.opendns.com @resolver1.opendns.com]
  D -- host --> F[host myip.opendns.com resolver1.opendns.com]
  C --> G[Проверить результат]
  E --> G
  F --> G

Роли: что сделать в зависимости от вашей роли

  • Администратор сети: проверить на шлюзе/ firewall публичный IP и логи NAT; использовать внешний резолвер.
  • Разработчик/инженер: добавить вызов curl в скрипт деплоя для динамической конфигурации и логирования.
  • Обычный пользователь: откройте терминал и выполните curl https://ifconfig.me

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

  • Команда возвращает корректный IPv4 или IPv6-адрес.
  • Результат совпадает с тем, что видит внешний ресурс (например, веб-версия ipinfo.io).
  • Скрипт использует обработку ошибок (таймауты, проверка формата IP).

Рекомендации по безопасности и конфиденциальности

  • Запросы к внешним сервисам раскрывают вашему провайдеру и сервису факт обращения. Не отправляйте дополнительные данные.
  • Для приватности используйте доверенные сервисы или свой собственный резолвер. VPN меняет отображаемый публичный IP.
  • Если обрабатываете IP в логах, соблюдайте политику хранения и доступа.

Краткое резюме

  • host, dig и curl/wget — простые способы узнать публичный IP в Linux.
  • Команды полезны для скриптов, мониторинга и диагностики сети.
  • Учтите влияние NAT и VPN на отображаемый адрес.

Важно: эти методы не меняют ваш сетевой статус; они лишь показывают адрес, по которому вас видят внешние сервисы.

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

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

Правило третей в фотографии — практическое руководство
Фотография

Правило третей в фотографии — практическое руководство

Отключить всплывающее окно Spotify в Windows 10
Windows

Отключить всплывающее окно Spotify в Windows 10

Как чистить клавиатуру — полное руководство
Гаджеты

Как чистить клавиатуру — полное руководство

Безопасный и анонимный доступ к дарквебу
Кибербезопасность

Безопасный и анонимный доступ к дарквебу

Запустить ChromeOS с USB на любом ПК
Руководство

Запустить ChromeOS с USB на любом ПК

GooPhone: как отличить клон iPhone 5
Мобильные телефоны

GooPhone: как отличить клон iPhone 5