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

На вебинаре Selectel Network Meetup 4 сетевой инженер Никита Степанов рассказал, как починить географию пользователей и автоматически обновлять геолокацию IP-адресов. Подробности под катом.

Дисклеймер: название Eevee вымышленное, любые совпадения с реальными компаниями случайны.

Адрес Шредингера


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

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

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


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

Диалог провайдера и Eevee. Интернет-провайдер связался с представителем Eevee и выяснил, откуда они берут информацию о локации пользователей.


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

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


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

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


Список агрегаторов — провайдеров GeoIP

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

Возможно, эти тексты тоже вас заинтересуют:

Подводных интернет-кабелей все больше: новые магистрали, суда и возможности
CDN против DDoS-атак: в каких случаях это действительно работает
Объединяй коммутаторы и властвуй — сравниваем Stack и MLAG

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


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

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

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

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

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


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

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


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

Пример заполнения таблицы Geofeed

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



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


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

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

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


RIPE, пример конфигурации. Источник

Добавление Geofeed через атрибут Comment

В других регистраторах нет встроенных Geofeed-атрибутов. Ссылку можно добавить через поле Comment / Remark.


ARIN, конфигурация Google. Источник

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

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


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


Версия от 2ip

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

Популярна ли технология сегодня


На митапе было больше 100 человек. Среди них — бородатые сетевики из операторов связи и разных провайдеров.

Мы спросили, кто использует Geofeed — в зале тишина.

Возможно, стандарт еще слишком молод. Но нам интересно, как много организаций практикуют Geofeed уже сегодня. Если ваша компания одна из них — отпишитесь в комментариях.

Комментарии (2)


  1. Andreyika
    08.09.2022 12:07
    +5

    Сначала у нас лапы ломит из-за отключения доступа к каким-то сервисам
    Потом хвост отваливается потому, что maxmind и pr-cy (?) криво заполнили базу
    Но в целом погода хорошая, если в поле Comment положить ссылку на csv

    Не статья, а письмо Дяди Федора родителям


  1. savostin
    08.09.2022 22:18

    Т.е. реальный способ только "бородатый". Печалька.