Geofeed

Материал из wiki.p3.ru

Геометки IP v4/v6 адресного пространства

Обновление геолокаций IP сетей/диапазонов с помощью Geofeed.

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


Ситуация. Есть видеоплатформа "X" — ее регулярно атакуют хакеры. Причины DDoS-атак неизвестны, но геолокация явная — иностранные регионы.

Владельцу сайта наскучил DDoS. И вместо того, чтобы блокировать IP-адреса точечно, он закрывает платформу "X" для всех пользователей с иностранными префиксами. DDoS-атаки отступили, но что-то, кажется, сломалось.

Что происходит у клиента. Клиенты не могут посмотреть сериал на "X": сайт пишет, что закрыт для иностранных лиц. Но клиенты-то ими не являются.

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

Диалог провайдера и "X". Интернет-провайдер связался с представителем "X" и выяснил, откуда они берут информацию о локации пользователей. Для определения геолокаций видеоплатформа обращается к GeoIP-провайдеру MaxMind — агрегатору, который хранит информацию об IP-адресах.


При чем здесь GeoIP-провайдер?

Для работы интернет-провайдера нужно много IP-адресов. С учетом их дефицита задача поиска усложняется. Иногда приходится выкупать адреса у иностранных интернет-провайдеров.

Бывают ситуации, когда при переезде IP, например, из Турции в Россию, агрегаторы не обновляют информацию в своих реестрах. Вот и разгадка проблемы клиентов "X": провайдер GeoIP MaxMind забыл обновить геолокации IP-адресов.

Итак, популярные GeoIP провайдеры: К международным отновятся - Maxmind, dbip, IP info, IPdata.co, IP2Location, IPhub, IPIP, IPligence, NetAcuity Российские - 2ip.ru, reg.ru, Whoer.net, PR-CY

Есть несколько способов обновить геолокации IP-адресов.


Бородатый способ обновления геолокаций

Обычно интернет-провайдеры собирают неактуальные адреса, обращаются к агрегатору и заполняют специальные анкеты.

Минусы подхода:

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

Но есть вариант проще.

Geofeed: упрощаем обновление геолокаций

В 2013 году компания Google выпустила стандарт для обмена географией IP-адресов — Geofeed. С 2020 года он официально входит в документы RFC.

Представление данных

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

IP-префикс/подсеть (в формате IPv4 или IPv6) код страны регион город

RFC 8805, для примера:

95.85.83.0/24,GB,GB-LND,London

91.196.136.0/24,RU,RU-PER,Perm

Формат, в котором указывается правильное написание страны/региона тут по ссылке.

Готовый csv-документ можно автоматически выгрузить из базы данных, а после — сохранить на сервере, чтобы работал доступ по протоколу HTTPS.


Публикация префиксов

После сохранения таблицы провайдеру нужно добавить ссылку на нее в своем региональном регистраторе IP-адресов (RIR) — AFRINIC, APNIC, ARIN, RIPE NCC или LACNIC.


Встроенный атрибут Geofeed

В RIPE нативно можно добавить поле (атрибут) типа Geofeed для inetnum- и NetRange-объектов. После — вписать в поле ссылку на таблицу с данными.

Как выглядит Geofeed-таблица Google, можно посмотреть по ссылке.


Связь с провайдерами GeoIP

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