Официальные IP-сети роботов Mail.ru и ВКонтакте
Официальные IP-сети роботов Mail.ru и ВКонтакте — Диапазоны сетевых адресов холдинга VK, используемые поисковым ботом Mail.ru, сервисами почтового превью ссылок, сниппет-ботом ВКонтакте (vkShare) и антивирусным сканером контента. Блокировка данных сетей приводит к невозможности генерации карточек предпросмотра при публикации ссылок в соцсети ВКонтакте и мессенджерах.
1. Общие сведения и профиль сетевой активности
Диапазоны адресов закреплены за автономной системой AS47764 (VK LLC / Mail.Ru LLC). Запросы из этих сетей генерируются официальными роботами и сервисами индексации. При настройке фаерволов и WAF рекомендуется вносить эти адреса в белый список (Whitelist), чтобы избежать блокировки поисковой индексации и генерации сниппетов.
Важное правило безопасности:
Никогда не разрешайте доступ только по строке User-Agent. Спам-боты и скрипты кликфрода свободно подставляют User-Agent поисковых роботов. Надежная фильтрация требует сопоставления IP-клиента с приведенным ниже списком подсетей либо выполнения процедуры обратного DNS-запроса (rDNS).
2. Диапазоны IPv4 (CIDR)
Актуальный перечень подтвержденных IPv4-подсетей вендора для белого списка:
| Подсеть (CIDR) | Сетевая маска | Количество IP-адресов | Действие |
|---|---|---|---|
| 94.100.176.0/20 | 255.255.240.0 | 4 096 | |
| 95.163.0.0/16 | 255.255.0.0 | 65 536 | |
| 178.22.88.0/21 | 255.255.248.0 | 2 048 | |
| 185.30.176.0/22 | 255.255.252.0 | 1 024 | |
| 188.93.56.0/21 | 255.255.248.0 | 2 048 | |
| 217.69.128.0/20 | 255.255.240.0 | 4 096 | |
| 87.240.128.0/18 | 255.255.192.0 | 16 384 | |
| 93.186.224.0/20 | 255.255.240.0 | 4 096 |
3. Диапазоны IPv6 (CIDR)
Для веб-серверов с активированным IPv6 добавьте следующие диапазоны:
| IPv6 подсеть (CIDR) | Длина префикса | Действие |
|---|---|---|
| 2a00:1148::/32 | 32 бит |
4. Проверка подлинности (Reverse DNS / PTR)
Обратный DNS-запрос возвращает хост с окончанием *.mail.ru или *.vk.com. Легитимный трафик исходит исключительно из автономной системы AS47764.
# 1. Получаем PTR запись проверяемого IP:
$ dig -x <IP-АДРЕС> +short
# 2. Проверяем прямую A-запись полученного хоста:
$ dig <ПОЛУЧЕННЫЙ_ХОСТ> +short
# Если возвращенный IP совпадает с исходным и хост оканчивается на *.mail.ru, *.vk.com — бот подлинный.
5. Конфигурации для веб-серверов
Используйте готовые директивы для добавления диапазонов в белый список вашего веб-сервера или WAF:
geo $is_mailru {
default 0;
94.100.176.0/20 1;
95.163.0.0/16 1;
178.22.88.0/21 1;
185.30.176.0/22 1;
188.93.56.0/21 1;
217.69.128.0/20 1;
87.240.128.0/18 1;
93.186.224.0/20 1;
2a00:1148::/32 1;
}
Поместите блок geo в контекст http { ... } (например, в /etc/nginx/conf.d/search_bots.conf) и используйте переменную для снятия rate-limit ограничений.
<RequireAny>
Require ip 94.100.176.0/20
Require ip 95.163.0.0/16
Require ip 178.22.88.0/21
Require ip 185.30.176.0/22
Require ip 188.93.56.0/21
Require ip 217.69.128.0/20
Require ip 87.240.128.0/18
Require ip 93.186.224.0/20
Require ip 2a00:1148::/32
</RequireAny>
Директива <RequireAny> разрешает доступ клиентам, чей IP-адрес входит в любую из указанных подсетей.
(ip.src in {
94.100.176.0/20 95.163.0.0/16 178.22.88.0/21 185.30.176.0/22
188.93.56.0/21 217.69.128.0/20 87.240.128.0/18 93.186.224.0/20
2a00:1148::/32
})
Создайте Custom Rule в Cloudflare Dashboard: Security → WAF → Custom rules с действием: Skip / Allow (Пропуск без проверки).