ESC

Start typing to search across invoices, services, domains, tickets, and more...

Search... Ctrl+K
IP и ASN

Неверная геолокация IP: публикация Geofeed (RFC 8805) и исправление в MaxMind, IP2Location и ipinfo

5 шагов 10 мин чтения 2 просмотров 0
Содержание

У только что выделенных IP-блоков часто неправильная геолокация: сервер в Японии, а IP определяется как американский. Из-за этого сайты показывают не тот язык, а стриминговые сервисы и платёжные системы срабатывают на проверки. Неточная геолокация IP возникает, потому что базы MaxMind, IP2Location, ipinfo и другие ещё не обновились. В статье описано, как опубликовать файл Geofeed (RFC 8805), указать его в WHOIS через атрибут geofeed и отправить исправления в основные базы; файл размещается на Debian/Ubuntu или CentOS/Rocky/AlmaLinux.

Шаг 1: Проверьте текущую геолокацию IP и данные WHOIS

Зафиксируйте, что сейчас показывают базы, и значение поля country в WHOIS, чтобы потом сравнить. Country в WHOIS обычно означает страну регистрации, а не фактического использования, но некоторые базы его учитывают.

curl -s https://ipinfo.io/198.51.100.10/json
whois 198.51.100.10 | grep -iE "inetnum|netname|country|geofeed"

Шаг 2: Подготовьте CSV-файл Geofeed (RFC 8805)

Geofeed — это простой CSV, по одному префиксу в строке: префикс, код страны (ISO 3166-1), код региона (ISO 3166-2, необязательно), город, почтовый индекс (необязательно). Подсеть /24 можно разбить на меньшие префиксы с разными локациями; IPv6 тоже поддерживается. Строки, начинающиеся с #, — комментарии.

# geofeed.csv  (RFC 8805: prefix,country,region,city,postal)
198.51.100.0/25,JP,JP-13,Tokyo,
198.51.100.128/25,HK,,Hong Kong,
2001:db8:100::/48,KR,KR-11,Seoul,
Все префиксы в geofeed должны входить в WHOIS-объект, который на него ссылается; записи вне диапазона игнорируются. Названия городов указывайте в общепринятом английском написании.

Шаг 3: Разместите файл Geofeed по HTTPS

Подойдёт любой публичный HTTPS-адрес, например geofeed.csv в корне вашего сайта. Файл должен отдаваться с кодом 200 в исходном виде, без авторизации и перенаправлений на HTML-страницу.

# Debian / Ubuntu: apt install -y nginx    CentOS / Rocky / AlmaLinux: dnf install -y nginx
cp geofeed.csv /var/www/html/geofeed.csv        # Rocky/Alma default root: /usr/share/nginx/html
curl -sI https://www.example.com/geofeed.csv
curl -s  https://www.example.com/geofeed.csv

Шаг 4: Добавьте атрибут geofeed в WHOIS

Чтобы базы находили ваш geofeed автоматически, сошлитесь на него в объекте inetnum/inet6num. В базе RIPE есть отдельный атрибут geofeed:, в других RIR используется формат «remarks: Geofeed URL» из RFC 9632. Редактировать объекты может только держатель ресурса. Для IP, арендованных у IMIDC, создайте тикет с адресом geofeed — IMIDC как член RIPE NCC, APNIC, ARIN и AFRINIC обновит WHOIS и при необходимости поле country.

# RIPE NCC (inetnum / inet6num attribute)
geofeed:  https://www.example.com/geofeed.csv
# APNIC / ARIN / AFRINIC (RFC 9632 remarks format)
remarks:  Geofeed https://www.example.com/geofeed.csv

whois -h whois.ripe.net 198.51.100.0/24 | grep -iE "geofeed|remarks"

Шаг 5: Отправьте исправления в MaxMind, IP2Location и ipinfo

Часть баз забирает geofeed автоматически, но прямая заявка ускоряет обновление:

  • MaxMind (GeoIP2 / GeoLite2): страница запроса на исправление данных GeoIP (maxmind.com/en/geoip-data-correction-request), можно указать URL geofeed.
  • IP2Location: страница Data Correction на их сайте — укажите диапазон и правильное местоположение.
  • ipinfo: форма ipinfo.io/corrections или ссылка на ваш geofeed.

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

for s in ipinfo.io/198.51.100.10/country ipinfo.io/198.51.100.10/city; do
  echo -n "$s: "; curl -s "https://$s"; echo
done

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

Через сколько geofeed начнёт действовать?

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

Google всё ещё показывает неверное местоположение

Google использует собственные данные. Отправьте форму обратной связи Google по геолокации IP и держите geofeed и WHOIS согласованными.

Можно ли указать страну, где IP фактически не используется?

Не рекомендуется. Geofeed должен отражать реальное использование; ложные данные могут игнорироваться или помечаться как недостоверные.

Если проблема не решена, создайте тикет в поддержку IMIDC, работающую 24/7.

Помог ли вам данный ответ?

Похожие руководства