К основному содержимому

Почему IP-адрес показывает другой город: причины и проверка

VDS / VPS · 13.10.2026 · 4 мин чтения
Иллюстрация к статье «Почему IP-адрес показывает другой город: причины и проверка»

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

Как работает определение города по IP-адресу

IPv4-адрес сам по себе не содержит координат — это число, которое идентифицирует узел в сети, устройство его разбора описано в статье про IPv4-адреса. Сервисы геолокации сопоставляют адрес с базой, в которой диапазоны адресов привязаны к регистрационным данным провайдера — юридическому адресу компании, а не к физическому расположению конкретного пользователя.

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

Почему база geoIP ошибается по городу чаще, чем по стране

Крупные провайдеры и дата-центры часто регистрируют диапазон адресов на один юридический адрес — например, головной офис в столице, — и раздают его клиентам по всей стране. База видит только точку регистрации, поэтому страна определяется почти всегда верно, а город может указывать на офис провайдера, а не на физическое расположение сервера или пользователя.

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

NAT и провайдерские пулы адресов

Операторы с ограниченным числом внешних адресов используют NAT с общим пулом на много абонентов — устройство механизма разобрано в статье про NAT. В таком случае внешний адрес, который видит сайт, принадлежит не конкретному пользователю, а узлу оператора, который может физически стоять в другом городе.

То же относится к серверу: если он работает за NAT внутри облачной инфраструктуры, внешний адрес закреплён за узлом выхода, а не за стойкой, где физически размещено оборудование.

VPN, прокси и CDN перед сервером

Если перед сайтом стоит CDN или туннель — например, Cloudflare Tunnel, — внешний IP-адрес, который видят посетители и сервисы геолокации, принадлежит узлу CDN, а не серверу хостинга. Это нормальная часть схемы, а не ошибка настройки.

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

Сравнение типичных причин

ПричинаКто видит «чужой» городМожно ли исправить со стороны сайта
Регистрация диапазона на офис провайдераи посетитель, и сервернет, зависит от провайдера
Общий пул адресов у мобильного операторапосетительнет
VPN или прокси у пользователяпосетительнет, это выбор пользователя
CDN или туннель перед серверомсерверчастично, через заголовок реального IP
Устаревшая база geoIP у сервисаи посетитель, и сервернет, зависит от сервиса геолокации

Как проверить и уточнить реальный город

Если расхождение мешает — например, геозависимый сервис блокирует доступ, — порядок проверки такой:

  1. узнать, какой именно адрес видит внешний сервис — свой публичный IP можно получить запросом наружу;
  2. сверить этот адрес минимум в двух независимых сервисах геолокации — расхождение между ними подскажет, что база устарела, а не конкретный сайт ошибается;
  3. проверить, не включён ли VPN или прокси на стороне клиента;
  4. если перед сервером стоит CDN, посмотреть заголовок с реальным IP посетителя вместо адреса узла CDN;
  5. при юридически значимой необходимости точного адреса запросить данные у провайдера напрямую, а не полагаться на geoIP.
curl ifconfig.me
curl ipinfo.io/json
dig +short myip.opendns.com @resolver1.opendns.com

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

Почему мой IP-адрес показывает другой город, хотя я никуда не переезжал?

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

Может ли VPN быть причиной неверного города?

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

Почему сервер на хостинге показывает город дата-центра, а не свой регион?

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

Как узнать настоящий IP-адрес посетителя, если сайт работает через CDN?

Нужно смотреть заголовок X-Forwarded-For или аналогичный, который CDN добавляет к запросу — там передаётся адрес реального посетителя, а не узла CDN, принявшего соединение. Настройка чтения этого заголовка зависит от веб-сервера и используемого CDN.

Статья помогла?
← Назад в базу знаний Задать вопрос поддержке