Как узнать IP сервера: внутренний и внешний адрес

Как узнать IP сервера: внутренний и внешний адрес

Марина
Марина
📅 27 сентября 2026
Как узнать IP сервера: внутренний и внешний адрес

У сервера почти всегда два адреса, и путаница начинается именно с этого. Внутренний адрес виден изнутри операционной системы — его показывают команды ip a и hostname -I. Внешний адрес — тот, который видят сайты и другие серверы в интернете, его возвращает curl ifconfig.me. На арендованном VPS на Linux эти два адреса чаще всего совпадают, а вот на домашней машине или на сервере за NAT — почти никогда.

Разберём по порядку: чем внутренний адрес отличается от внешнего, какими командами узнать каждый, где адрес лежит в панели провайдера, как посмотреть адрес чужого домена и как убедиться, что адрес сервера сменился. Материал рассчитан на новичка: каждую команду объясняем построчно, каждый непонятный ответ терминала расшифровываем.

Внутренний и внешний IP: два разных адреса одного сервера

IP-адрес — это числовой идентификатор устройства в сети. В версии IPv4 он состоит из четырёх чисел от 0 до 255, разделённых точками: например, 192.168.1.10 или 203.0.113.10. Первый из этих примеров — внутренний адрес, второй — внешний, и разница между ними принципиальная.

Внутренние (их ещё называют «серыми» или частными) адреса зарезервированы под локальные сети. Они повторяются в миллионах сетей одновременно, поэтому маршрутизировать их через интернет нельзя. Внешний («белый», публичный) адрес выдаётся провайдером и уникален на всю сеть — именно на него приходят запросы к вашему сайту.

Понять, какой адрес перед вами, можно по первым числам. Достаточно запомнить четыре диапазона.

Диапазон Начало и конец Где встречается
10.0.0.0/8 10.0.0.0 — 10.255.255.255 Крупные корпоративные и облачные сети
172.16.0.0/12 172.16.0.0 — 172.31.255.255 Docker, внутренние сети гипервизора — программы, которая запускает виртуальные машины
192.168.0.0/16 192.168.0.0 — 192.168.255.255 Домашние и офисные роутеры
100.64.0.0/10 100.64.0.0 — 100.127.255.255 Оператор раздаёт адрес через CGNAT — общий выход в сеть на сотни абонентов

Отдельно стоит адрес 127.0.0.1 — это loopback, «сам себе сервер». Он есть на любой машине, к сети отношения не имеет, и если единственное, что вы нашли в выводе команд, — это 127.0.0.1, значит вы смотрели не на тот сетевой интерфейс.

Как посмотреть внутренний IP адрес сервера командой ip a

Подключитесь к серверу по SSH и выполните короткую команду. Она выводит список всех сетевых интерфейсов машины вместе с назначенными им адресами.

ip a

ip — стандартная утилита управления сетью в современных дистрибутивах Linux, a — сокращение от address. Полная форма записи ip addr делает ровно то же самое. В выводе будет несколько блоков, пронумерованных 1, 2, 3 и так далее. Блок lo — это тот самый loopback с адресом 127.0.0.1, его пропускаем. Нужный интерфейс обычно называется eth0, ens3 или enp1s0, и в его блоке есть строка, начинающаяся со слова inet.

Число после косой черты в этой строке — длина маски подсети. Запись вида inet 192.168.1.10/24 означает адрес 192.168.1.10 в сети из 254 доступных хостов, а /32 — что адрес выдан машине поштучно, без соседей. Строка inet6 — это адрес IPv6, он длиннее и записывается шестнадцатеричными группами через двоеточие.

Если вывод ip a кажется слишком объёмным, есть команда покороче — она печатает только сами адреса, через пробел, без интерфейсов и масок.

hostname -I

Заглавная I здесь обязательна: строчная -i работает иначе и опирается на разрешение имени хоста, из-за чего часто возвращает 127.0.0.1. Команда удобна в скриптах, но если у сервера несколько интерфейсов, вы получите несколько адресов в одну строку и придётся угадывать, какой из них нужен.

Внутренний и внешний IP сервера в выводе ip a, hostname и curl
Свой внешний адрес сервер не знает — его спрашивают у стороннего сервиса, и расхождение с выводом ip a означает работу через NAT.

Внешний адрес: что показывает curl ifconfig.me

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

curl ifconfig.me

curl — утилита, которая отправляет HTTP-запрос и печатает ответ в терминал. Сервис ifconfig.me отвечает одной строкой — вашим публичным адресом, без переноса строки, поэтому приглашение оболочки прилипнет к результату вплотную. Это нормально.

Если у сервера есть и IPv4, и IPv6, curl может выбрать шестую версию и вернуть длинный адрес с двоеточиями. Чтобы принудительно получить привычный адрес из четырёх чисел, добавьте флаг -4 и возьмите другой сервис — он отвечает так же коротко.

curl -4 icanhazip.com

Флаг -4 запрещает curl использовать IPv6. Держите в закладках оба варианта: сервисы такого рода иногда лежат, и если один не ответил в течение 5–10 секунд, проверять сеть рано — сначала попробуйте второй. Разница между «белым» и «серым» внешним адресом важна для любого проекта, который принимает входящие соединения: выделенный IP нужен под собственный почтовый сервер, SSL на отдельном адресе и панели с ограничением доступа.

Почему внутренний и внешний адреса не совпадают: NAT

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

Именно поэтому на домашнем компьютере ip a покажет 192.168.1.10, а curl ifconfig.me — совсем другое число: это адрес роутера, общий на всю квартиру или офис. У некоторых операторов адрес роутера тоже серый, из диапазона 100.64.0.0/10 — тогда сервер вообще недоступен снаружи, сколько порты ни открывай.

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

hostname -I
curl -4 ifconfig.me

Совпали — адрес на интерфейсе публичный. Не совпали — сервер за NAT, и в настройках приложений нужно указывать разные адреса: внутренний для привязки службы, внешний для клиентов и DNS.

Где IP сервера показывает панель провайдера

Адрес арендованного сервера всегда виден в личном кабинете — в карточке услуги, рядом с логином root и датой оплаты. Это самый надёжный источник: панель показывает адрес даже тогда, когда сервер не загружается и подключиться по SSH невозможно.

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

Смотреть в панель полезно ещё по одной причине. Если у услуги в списке несколько адресов, вы сразу поймёте, какой из них основной, а какие дополнительные — из терминала эта иерархия не видна, там все адреса равноправны.

Как узнать IP чужого домена: ping, dig и nslookup

Задача обратная: адрес неизвестен, известно доменное имя. Самый быстрый способ — отправить домену эхо-запрос: адрес будет напечатан в первой же строке, ещё до статистики ответов.

ping example.com

Команда шлёт пакеты бесконечно, пока не остановите её сочетанием Ctrl+C. Если ответов нет, но адрес в первой строке напечатан — имя разрешилось, а сам сервер просто не отвечает на эхо-запросы: многие закрывают их фильтром, и это не признак поломки.

Точнее работает специализированная утилита для запросов к системе доменных имён. Флаг +short убирает служебные секции ответа и оставляет голый адрес.

dig +short example.com

Утилита dig есть не во всех минимальных образах — в Debian и Ubuntu она ставится пакетом dnsutils. Если ставить нечего или нельзя, тот же результат даёт классическая команда, которая идёт в комплекте почти везде.

nslookup example.com

Её вывод многословнее: сверху адрес DNS-сервера, к которому обратились, ниже блок Non-authoritative answer с искомым адресом. Слово «non-authoritative» означает лишь то, что ответ пришёл из кэша промежуточного DNS-сервера, а не от главного сервера домена. На достоверность самого адреса это не влияет.

Команда Что показывает Когда удобнее
ip a Внутренние адреса всех интерфейсов и маски Разбор конфигурации сети сервера
hostname -I Только адреса, одной строкой Быстрая проверка и скрипты
curl ifconfig.me Внешний адрес, как его видит интернет Проверка выхода наружу и NAT
dig +short Адрес домена по данным DNS Чужие сайты, проверка A-записи
ping Адрес домена плюс задержка в мс Когда нужны и адрес, и связность

Пошаговая проверка: собираем все адреса сервера

Ниже короткий сценарий на 5 шагов, который закрывает и внутренний адрес, и внешний, и адрес домена. Пройдите его целиком один раз — дальше будете вспоминать только нужный пункт.

  1. Подключитесь к серверу по SSH: ssh root@ваш_адрес — вход под пользователем root на порту 22/TCP по умолчанию. Пароль при вводе не отображается совсем: набирайте вслепую и жмите Enter.
  2. Выполните ip a и выпишите значение из строки inet у интерфейса, отличного от lo.
  3. Выполните curl -4 icanhazip.com и запишите второй адрес — публичный.
  4. Сравните два числа: совпали — адрес прямой, разошлись — сервер за NAT.
  5. Откройте панель провайдера и сверьте публичный адрес с тем, что указан в карточке услуги.

Если на четвёртом шаге адреса разошлись, а провайдер обещал прямой публичный адрес, откройте тикет в поддержку и приложите вывод обеих команд — это стандартное доказательство того, что машина стоит за трансляцией адресов.

Как понять, что IP сервера сменился

Адрес меняется в трёх случаях: вы перенесли сервер в другую локацию, провайдер выдал новую машину взамен старой или адрес был динамическим и обновился после перезагрузки. Симптомы всегда похожи — сайт открывается через раз, письма не уходят, SSH ругается на несовпадение ключа.

Проверяют по слоям. Первым делом смотрят, что у сервера на интерфейсе сейчас, — командой ip a прямо на машине или через консоль в панели, если SSH уже не пускает. Вторым — что о домене думает DNS: dig +short домен покажет адрес, на который уходят посетители. Третьим сверяют оба числа между собой.

Расхождение означает, что A-запись домена всё ещё указывает на старый адрес. Отдельный неприятный симптом — предупреждение SSH о смене ключа хоста: клиент помнит старый отпечаток для этого адреса и отказывается подключаться. Помогает удаление устаревшей строки из файла ~/.ssh/known_hosts, но только если вы точно знаете, что адрес сменился по вашей инициативе. Разложить проблему на слои помогает пошаговая проверка DNS.

Значения TTL и частные диапазоны адресов при смене IP сервера
TTL понижают за сутки до переезда, а старый сервер держат включённым ещё 24–48 часов: браузеры и провайдеры кэшируют записи по-своему.

Смена адреса и TTL: сколько ждать обновления

Правка A-записи не действует мгновенно. У каждой DNS-записи есть параметр TTL — время жизни в секундах, в течение которого промежуточные серверы имеют право отдавать старое значение из кэша. Пока TTL не истёк, часть посетителей продолжает идти на прежний адрес.

Отсюда простое правило переезда: за сутки до смены адреса понизьте TTL записи, дождитесь, пока старое значение вымоется из кэшей, и только потом меняйте адрес. После переезда верните TTL обратно — низкое значение создаёт лишнюю нагрузку на DNS-серверы.

TTL в секундах Это сколько Когда ставить
300 5 минут За сутки до переезда и в день переезда
3600 1 час Обычный рабочий режим сайта
86400 24 часа Записи, которые не планируется менять

На практике расхождение затягивается: часть провайдеров округляет TTL по-своему, а браузеры и операционные системы держат собственный кэш. Поэтому старый сервер не выключают сразу — его оставляют работать ещё 24–48 часов после смены записи, чтобы никто не упёрся в пустоту.

На каком сервере это пробовать и сколько он стоит

Чтобы потренироваться на живой машине, дорогая конфигурация не нужна: все команды из статьи работают на минимальном тарифе с 1 ядром и 1 ГБ памяти. Такие конфигурации есть у большинства из 44 площадок каталога, а разброс цен на входе — больше чем двукратный.

Провайдер Цена от Базовая конфигурация
Cloudcore 59 ₽/мес 1 ядро, 1 ГБ RAM, 10 ГБ NVMe
Hosting-Russia 99 ₽/мес Российские площадки, поддержка 24/7
4VPS 110 ₽/мес 1 ядро, 1 ГБ RAM, 5 ГБ NVMe
HostVDS 127 ₽/мес 1 ядро, 1 ГБ RAM, 10 ГБ NVMe

Данные проверены 04.09.2026.

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

Частые ошибки

Большинство обращений в поддержку с формулировкой «не могу найти адрес сервера» сводятся к пяти повторяющимся сюжетам. Все они лечатся за минуту, если знать, куда смотреть.

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

  • Берут 127.0.0.1 из вывода ip a — это loopback, для внешнего мира он не существует.
  • Путают hostname -i и hostname -I: строчная буква возвращает адрес из разрешения имени, часто неверный.
  • Прописывают в A-запись серый адрес вида 192.168.х.х — домен после этого не открывается ни у кого.
  • Меняют адрес и ждут результата через минуту, забыв про TTL в 3600 или 86400 секунд.
  • Считают отсутствие ответа на ping признаком того, что сервер выключен, хотя эхо-запросы просто закрыты фильтром.

Частые вопросы

Как узнать IP сервера, если SSH не подключается? Через панель провайдера: адрес указан в карточке услуги независимо от состояния операционной системы. Там же обычно есть веб-консоль, которая работает напрямую через гипервизор и позволяет выполнить ip a даже на машине без сети.

Почему ip a и curl ifconfig.me показывают разные адреса? Значит, сервер стоит за NAT: на интерфейсе назначен частный адрес, а наружу пакеты выходят с публичного адреса шлюза. Для служб на сервере в этом случае указывают внутренний адрес, а клиентам и в DNS отдают внешний.

Что делать, если curl ifconfig.me не отвечает? Сначала попробуйте второй сервис командой curl -4 icanhazip.com — сервисы такого рода периодически недоступны. Если молчат оба, а ping до внешних адресов проходит, дело в блокировке исходящих HTTP-запросов на порту 80 или 443.

Как посмотреть IP адрес сервера по домену, не заходя на сам сервер? Командой dig +short example.com с любой машины — она вернёт адрес из A-записи одной строкой. Если dig не установлен, ту же информацию даст nslookup example.com или первая строка вывода ping.

Сколько ждать после смены адреса в A-записи? От времени жизни записи: при TTL 300 секунд большинство DNS-серверов обновится за 5–15 минут, при TTL 86400 ждать придётся до суток. Старый сервер разумно держать включённым ещё 24–48 часов после правки.

Меняется ли IP при перезагрузке сервера? На арендованном VPS адрес закреплён за услугой и переживает перезагрузку. Смениться он может при переносе машины в другую локацию, при пересоздании сервера из образа и на домашних подключениях с динамическим адресом.

Зачем серверу второй адрес? Дополнительный адрес нужен, когда на одной машине живут независимые сервисы с собственными SSL-сертификатами, почтовый сервер со своей обратной записью или проекты, которым нельзя делить репутацию адреса. Заказывают его в панели, стоимость считается отдельно от тарифа.

Итог

Внутренний адрес показывают ip a и hostname -I, внешний — curl ifconfig.me или curl -4 icanhazip.com, адрес чужого домена — dig +short, nslookup и ping. Расхождение внутреннего и внешнего адресов означает NAT, расхождение адреса сервера и A-записи — незавершённый переезд, а скорость обновления определяет TTL. Если нужна машина, на которой всё это можно спокойно попробовать, стартовые конфигурации от 59 ₽/мес собраны в каталоге VPS и VDS с фильтрами по цене, локации и объёму памяти.

Поделиться:
👁 80 просмотров
Марина
Редактор · FREEHOSTING
Главный редактор FREEHOSTING. С 2020 года тестирует VDS, VPS и хостинг-провайдеров — арендует серверы, нагружает их реальными проектами и пишет честные обзоры по итогам. Помогает читателям выбирать хостинг под свои задачи: от Telegram-бота до production-сайта.