Geofeed
Геометки 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 в базу регионального регистратора можно написать агрегатору и предоставить ссылку для обновления сведений о геолокаци. По этой ссылке агрегатор будет периодически забирать новые данные об адресах провайдера и актуализировать свой реестр.