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

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

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

Linux / DevOps

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

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

Зачем узнавать внешний IP-адрес сервера?

Когда вы арендуете VPS или настраиваете домашний сервер на Ubuntu/Debian, команда ip a часто показывает только внутренний (серый) IP-адрес локальной сети — например, 10.0.0.5 или 192.168.1.15. Однако для привязки домена, настройки веб-сервера или проброса портов вам нужен именно публичный (белый) IP-адрес, под которым сервер виден во всем глобальном интернете.

Сравнение локального и публичного адреса

Тип адресаГде отображаетсяПримерДля чего нужен
Локальный (Private)В выводе ip a192.168.0.10Связь внутри роутера/датацентра
Публичный (Public)Через внешние API194.87.102.45Вход по SSH, подключение доменов

Способы узнать внешний IP за пару секунд

  1. Основной способ через curl:
    Откройте терминал и выполните одну из быстрых команд на выбор:
    curl ifconfig.me
    # Либо альтернативный сервис:
    curl api.ipify.org
    # Либо сервис от OpenDNS:
    curl icanhazip.com
  2. Если утилита curl не установлена:
    Используйте стандартную утилиту wget:
    wget -qO- ifconfig.me
  3. Узнать подробную информацию с геолокацией и провайдером:
    curl ipinfo.io
    В ответе вы увидите не только IP, но также город, страну и название хостинг-провайдера.

Совет для новичка: Если команда выдает ошибку Command 'curl' not found, установите её за 5 секунд командой: sudo apt update && sudo apt install curl -y.

💡 Практика специалистов: При автоматической настройке серверов всегда используйте связку `curl -s --connect-timeout 3 ifconfig.me`, чтобы ваш скрипт не завис намертво в случае временной недоступности стороннего веб-сервиса.

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

Почему команда ip a не показывает мой публичный адрес?

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

Как вывести только IPv4, если сервер имеет IPv6?

Используйте флаг -4 для принудительного использования протокола IPv4: `curl -4 ifconfig.me`.

Безопасно ли отправлять запросы на ifconfig.me?

Да, это общепринятые публичные службы для системных администраторов, которые возвращают только ваш собственный входящий IP-адрес без передачи персональных данных.

Как сохранить IP-адрес в переменную для скрипта?

Выполните команду: `MY_IP=$(curl -s ifconfig.me)` и проверяйте через `echo $MY_IP`.

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