Как часто бывает: заходите на сайт, а он вас прогоняет, якобы вы из другой страны? Ситуация неприятная как для пользователя, так и для интернет-провайдера — нужно поднимать базу 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-адресов.
Ответственность за ошибки агрегатора лежит на интернет-провайдере. Есть несколько способов обновить геолокации IP-адресов.
Бородатый способ обновления геолокаций
Обычно интернет-провайдеры собирают неактуальные адреса, обращаются к агрегатору и заполняют специальные анкеты.
Минусы подхода:
— отнимает много времени: нужно заполнить большое количество разных форм,
— если неактуальные IP числятся у нескольких агрегаторов, нужно написать каждому.
Но есть вариант проще.
Geofeed: упрощаем обновление геолокаций
В 2013 году компания Google выпустила стандарт для обмена географией IP-адресов — Geofeed. С 2020 года он официально входит в документы RFC.
Представление данных
Geofeed определяет единый формат данных для обмена геолокацией адресов. Провайдер должен сформировать таблицу из следующих полей:
- IP-префикс/подсеть (в формате IPv4 или IPv6)
- код страны
- регион
- город
Готовый csv-документ можно автоматически выгрузить из базы данных, а после — сохранить на сервере, чтобы работал доступ по протоколу HTTPS.
Размещайте оборудование в дата-центрах Selectel
Обеспечим стабильными каналами связи, бесперебойным питанием и микроклиматом.
Публикация префиксов
После сохранения таблицы провайдеру нужно добавить ссылку на нее в своем региональном регистраторе IP-адресов (RIR) — AFRINIC, APNIC, ARIN, RIPE NCC или LACNIC.
Встроенный атрибут Geofeed
В RIPE нативно можно добавить поле (атрибут) типа Geofeed для inetnum- и NetRange-объектов. После — вписать в поле ссылку на таблицу с данными.
Добавление Geofeed через атрибут Comment
В других регистраторах нет встроенных Geofeed-атрибутов. Ссылку можно добавить через поле Comment / Remark.
Как выглядит Geofeed-таблица Google, можно посмотреть по ссылке.
Связь с провайдерами GeoIP
После добавления Geofeed в базу регионального регистратора можно написать агрегатору и предоставить ссылку для обновления сведений о геолокациях.
По этой ссылке агрегатор будет периодически забирать новые данные об адресах провайдера и актуализировать свой реестр.
Популярна ли технология сегодня
На митапе было больше 100 человек. Среди них — бородатые сетевики из операторов связи и разных провайдеров. Мы спросили, кто использует Geofeed — в зале тишина. Наши слушатели узнали что-то новое. Чтобы следить за развитием технологий, посещайте наши мероприятия.