Что такое белые IP-адреса и зачем нужен их список
В контексте VPN и сетевой маршрутизации «белыми» называют публичные IP-адреса, которые глобально доступны в интернете. Это противоположность «серым» (приватным) адресам, таким как 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16, которые не маршрутизируются в глобальной сети. Список белых IP-адресов РФ — это перечень подсетей, принадлежащих российским провайдерам, хостингам и компаниям, которые используются для доступа к российским сайтам и сервисам.
Зачем такой список нужен? Когда вы включаете VPN на зарубежном сервере, весь трафик идёт через туннель, что может приводить к проблемам с доступом к российским ресурсам. Многие сайты, особенно маркетплейсы и госуслуги, блокируют или ограничивают доступ из-за рубежа. Чтобы решить эту проблему, можно настроить маршрутизацию: трафик к российским IP-адресам отправлять напрямую, а остальной — через VPN. Это называется split tunneling или исключениями. Список белых IP-адресов РФ позволяет автоматизировать этот процесс, не внося вручную сотни подсетей.
Важно понимать, что «белый список» в данном контексте — это не официальный документ, а практический инструмент, который собирается из открытых данных. Он может включать как все российские подсети, так и только те, что принадлежат крупным сайтам. В любом случае, такой список помогает сократить нагрузку на VPN и избежать блокировок со стороны российских сервисов.
Как формируется список белых IP-адресов: источники данных
Существует несколько подходов к формированию списка белых IP-адресов. Первый — использовать реестры RIR (Regional Internet Registry), такие как RIPE NCC, который отвечает за Европу и Россию. Эти реестры содержат информацию о том, какие IP-подсети выделены тем или иным организациям. Можно скачать базу RIPE и отфильтровать записи по стране (RU), получив полный список российских подсетей.
Второй подход — использовать готовые списки, которые публикуются в открытых проектах. Например, на GitHub есть репозитории, где собираются списки доменов и IP-адресов для обхода блокировок или для исключения из VPN. Один из таких проектов — itdoginfo/allow-domains, который содержит списки доменов, разбитые по категориям: «Russia inside» (домены, доступные из РФ) и «Russia outside» (домены, к которым нужен доступ из-за рубежа). Эти списки регулярно обновляются сообществом.
Третий подход — использовать WHOIS-сервисы, которые предоставляют информацию о принадлежности IP-адресов. Например, сервис ip.osnova.news позволяет получить все диапазоны IP-адресов, зарегистрированных в России, с разбивкой по регионам и провайдерам. Это удобно, если нужен список для конкретного региона или провайдера.
Важно помнить, что списки IP-адресов не статичны: провайдеры получают новые подсети, передают их другим организациям, поэтому для актуальности нужно периодически обновлять данные. Автоматизация этого процесса — ключ к стабильной работе.
Специальные и зарезервированные адреса: что исключить
При составлении списка белых IP-адресов важно исключить специальные и зарезервированные адреса, которые не маршрутизируются в интернете. К ним относятся:
- Приватные диапазоны: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16.
- Loopback: 127.0.0.0/8.
- Link-local: 169.254.0.0/16.
- CGNAT: 100.64.0.0/10 (используется операторами для экономии адресов).
- Multicast: 224.0.0.0/4.
- Зарезервированные для документации: 192.0.2.0/24, 198.18.0.0/15 и другие.
Эти адреса перечислены в стандартах RFC (например, RFC 3330, RFC 3704) и поддерживаются IANA. Если вы строите список вручную, нужно вычесть эти диапазоны из всего адресного пространства. В противном случае в список могут попасть адреса, которые не являются публичными, что приведёт к ошибкам маршрутизации.
Некоторые адреса, такие как 192.0.0.9 и 192.0.0.10, являются глобально доступными, но используются для служебных целей (Port Control Protocol, TURN). На практике их можно игнорировать, так как они не принадлежат реальным серверам. Аналогично, multicast-адреса могут использоваться в локальных сетях, но не должны маршрутизироваться в интернете, поэтому их исключают.
При использовании готовых списков эти исключения обычно уже учтены, но при самостоятельном сборе данных нужно быть внимательным.
Готовые списки IP-адресов РФ: обзор популярных решений
На сегодняшний день существует несколько популярных готовых списков, которые можно использовать для настройки VPN. Один из самых известных — проект itdoginfo/allow-domains на GitHub. Он предоставляет списки доменов, а не IP-адресов, но их можно преобразовать в IP-адреса с помощью DNS-резолвинга. Списки разбиты на категории: общий список «Russia inside» включает домены, которые должны быть доступны напрямую из РФ, а «Russia outside» — домены, которые нужно открывать через VPN.
Другой проект — AntiZapret-VPN от GubernievS, который генерирует списки IP-адресов для обхода блокировок. Он также предоставляет готовые файлы для загрузки маршрутов в роутеры на OpenWRT или Linux. Эти списки обновляются автоматически и включают подсети заблокированных ресурсов.
Также можно использовать базы данных RIPE NCC. Например, скачать файл delegated-extended-latest и отфильтровать записи по стране RU. Это даст полный список российских подсетей, но он будет содержать тысячи записей, что может быть избыточно для домашнего использования.
Для тех, кто хочет получить список только крупных сайтов (Ozon, Avito, Яндекс и т.д.), можно использовать WHOIS-сервисы, такие как ip.osnova.news, которые позволяют искать подсети по названию организации. Однако такой подход требует ручного труда и не гарантирует полноты.
Важно выбирать список, который регулярно обновляется, так как IP-адреса меняются. Сообщество часто публикует обновления, но за их актуальностью нужно следить.
Как преобразовать список доменов в IP-адреса
Если у вас есть список доменов (например, из itdoginfo/allow-domains), его можно преобразовать в список IP-адресов с помощью DNS-запросов. Для этого нужно для каждого домена выполнить резолвинг A-записей и собрать все уникальные IP-адреса. Однако у этого подхода есть нюансы:
- Домены могут иметь несколько IP-адресов (например, для балансировки нагрузки), и все они должны быть включены.
- IP-адреса могут меняться, поэтому список нужно периодически обновлять.
- Некоторые домены используют CDN, и их IP-адреса могут принадлежать зарубежным компаниям (например, Cloudflare), что делает исключение бессмысленным.
Для автоматизации можно использовать скрипты на Python или bash. Например, с помощью утилиты dig или nslookup можно получить IP-адреса для списка доменов и сохранить их в файл. Затем этот файл можно использовать для настройки маршрутизации.
Альтернативный подход — использовать готовые скрипты из проектов, таких как AntiZapret, которые уже умеют генерировать списки IP-адресов из доменов. Это экономит время и снижает риск ошибок.
Важно помнить, что DNS-резолвинг даёт только текущие IP-адреса, и если домен использует гео-балансировку, то из разных точек мира адреса могут отличаться. Поэтому для стабильной работы лучше использовать списки, которые обновляются автоматически.
Настройка маршрутизации: split tunneling на Linux и роутерах
После того как список белых IP-адресов РФ готов, его нужно использовать для настройки маршрутизации. Существует несколько способов:
- Linux (iptables + ipset): Создаётся набор ipset с российскими подсетями, затем добавляются правила iptables, которые направляют трафик к этим подсетям напрямую (через основной интерфейс), а остальной трафик — через VPN-интерфейс. Это классический подход, который хорошо работает на серверах и домашних ПК.
- OpenWRT: На роутерах с OpenWRT можно использовать пакеты PBR (Policy Based Routing) или Podkop, которые позволяют настраивать маршрутизацию на основе списков доменов или IP-адресов. Эти пакеты автоматически обновляют списки и не требуют глубоких знаний.
- WireGuard/AmneziaWG: В конфигурации WireGuard можно указатьAllowedIPs, куда включить только те подсети, которые должны идти через туннель. Если в AllowedIPs указать 0.0.0.0/0, то весь трафик пойдёт через VPN, а для исключений нужно добавить маршруты в таблицу маршрутизации.
- Роутеры с прошивкой Keenetic: Некоторые роутеры поддерживают настройку исключений через веб-интерфейс, где можно указать список IP-адресов или доменов, которые не должны идти через VPN.
При настройке важно учитывать, что маршрутизация по IP-адресам не учитывает DNS-запросы. Если домен резолвится в IP-адрес, который не входит в список, трафик пойдёт через VPN. Поэтому для полного контроля нужно использовать списки доменов и настраивать DNS-фильтрацию (например, с помощью dnsmasq).
Пример настройки на Linux: создаётся файл со списком подсетей, затем команда ipset restore загружает его в набор, и добавляются правила iptables. Этот процесс можно автоматизировать с помощью скриптов, которые запускаются при старте системы.
Практические примеры: как исключить Ozon, Avito и другие сайты
Рассмотрим практический пример. Допустим, вы используете VPN на зарубежном сервере, и российские сайты, такие как Ozon и Avito, не открываются. Чтобы решить проблему, нужно добавить их IP-адреса в список исключений.
Сначала определите IP-адреса этих сайтов. Можно использовать команду nslookup ozon.ru или dig ozon.ru. Вы получите несколько IP-адресов, например, 217.69.128.0/24. Затем добавьте эти подсети в список исключений.
Если вы используете itdoginfo/allow-domains, то там уже есть готовые списки для популярных сервисов. Например, в категории «Russia inside» есть домены Ozon, Avito, Яндекс и другие. Вы можете скачать этот список и использовать его для настройки.
Для настройки на Linux с iptables можно сделать следующее:
- Создайте файл
ru_ips.txtсо списком подсетей. - Выполните
ipset create ru_ips hash:netиipset add ru_ips <подсеть>для каждой подсети. - Добавьте правило iptables:
iptables -t mangle -A PREROUTING -m set --match-set ru_ips dst -j MARK --set-mark 1. - Настройте таблицу маршрутизации, чтобы трафик с меткой 1 шёл через основной интерфейс.
Этот подход позволяет исключить целые подсети, что удобно, если сайт использует несколько серверов. Однако нужно быть осторожным: если сайт использует CDN, его IP-адреса могут быть зарубежными, и тогда исключение не поможет.
Для пользователей роутеров с OpenWRT можно использовать пакет PBR, который позволяет добавлять домены в список исключений, и он сам будет резолвить их в IP-адреса. Это удобно, но требует настройки.
Ограничения и подводные камни при использовании списков
Использование списков белых IP-адресов РФ имеет свои ограничения. Во-первых, списки могут быть неполными или устаревшими. IP-адреса меняются, провайдеры получают новые подсети, а старые могут быть переданы другим организациям. Поэтому регулярное обновление критически важно.
Во-вторых, многие российские сайты используют CDN, такие как Cloudflare или Akamai, которые имеют серверы по всему миру. IP-адреса таких сайтов могут быть зарубежными, и исключение их из VPN не поможет. В этом случае нужно использовать списки доменов и настраивать DNS-фильтрацию, чтобы трафик к этим доменам шёл напрямую, но это сложнее.
В-третьих, некоторые сайты блокируют доступ из-за геолокации, и даже если IP-адрес российский, но трафик идёт через зарубежный VPN, сайт может определить это по другим признакам (например, по языку браузера или cookies). В таких случаях исключение IP-адресов не решит проблему.
Также стоит учитывать, что списки IP-адресов могут содержать ошибки. Например, в список могут попасть подсети, которые не принадлежат России, или наоборот, пропущены важные. Поэтому рекомендуется использовать несколько источников и проверять актуальность.
Наконец, при настройке маршрутизации нужно быть осторожным с правилами iptables, так как ошибки могут привести к потере связи с VPN или к утечке трафика. Рекомендуется тестировать конфигурацию на небольшом количестве подсетей перед полным применением.
Инструменты для автоматизации обновления списков
Чтобы не обновлять списки вручную, можно использовать инструменты автоматизации. Например, скрипты на Python, которые скачивают актуальные данные с RIPE или GitHub и обновляют конфигурацию. Один из таких инструментов — библиотека ipaddressspace, которая позволяет манипулировать IP-адресными пространствами и автоматически вычислять разницу между полным адресным пространством и специальными адресами.
Для роутеров на OpenWRT существуют пакеты, которые автоматически обновляют списки. Например, пакет pbr может загружать списки с URL и обновлять маршруты. Аналогично, podkop генерирует списки для обхода блокировок и обновляет их по расписанию.
Для Linux можно настроить cron-задачу, которая будет запускать скрипт обновления каждый день. Скрипт может скачивать свежий список с GitHub, преобразовывать домены в IP-адреса и обновлять ipset.
Также существуют онлайн-сервисы, которые предоставляют API для получения списков IP-адресов по странам. Например, сервис ip.osnova.news позволяет скачать все российские подсети в текстовом формате. Это можно использовать в скриптах.
Важно выбирать инструменты, которые поддерживают автоматическое обновление, чтобы списки всегда были актуальными. Это особенно важно для пользователей, которые полагаются на VPN для доступа к российским ресурсам.
Безопасность и конфиденциальность при использовании VPN с исключениями
Использование VPN с исключениями для российских IP-адресов имеет свои последствия для безопасности. Когда трафик к российским сайтам идёт напрямую, он не шифруется VPN, и ваш провайдер может видеть, какие сайты вы посещаете. Это может быть нежелательно, если вы хотите скрыть свою активность.
С другой стороны, прямой доступ к российским сайтам может быть быстрее, так как трафик не идёт через зарубежный сервер. Это особенно актуально для стриминга и онлайн-игр.
Важно понимать, что исключения из VPN не защищают от блокировок со стороны РКН. Если сайт заблокирован в России, то прямой доступ к нему не будет работать. В этом случае нужно использовать VPN для доступа к таким сайтам, но тогда российские сервисы могут быть недоступны.
Для баланса можно настроить маршрутизацию так, чтобы только заблокированные сайты шли через VPN, а остальные — напрямую. Это требует более тонкой настройки, но позволяет сохранить доступ и к российским, и к зарубежным ресурсам.
Также стоит учитывать, что при использовании списков IP-адресов есть риск утечки DNS-запросов. Если DNS-запросы идут через VPN, но трафик к IP-адресу идёт напрямую, то DNS-сервер VPN может видеть, какие сайты вы посещаете. Чтобы избежать этого, нужно настроить DNS-фильтрацию или использовать локальный DNS-резолвер.
В целом, использование белых списков — это компромисс между скоростью, доступностью и конфиденциальностью. Каждый пользователь должен решить, что для него важнее.
Вопросы и ответы
Что такое белый IP-адрес и чем он отличается от серого?
Белый IP-адрес — это публичный адрес, который доступен из интернета. Серые (приватные) адреса, такие как 10.0.0.0/8, 192.168.0.0/16, используются только в локальных сетях и не маршрутизируются в глобальной сети. Белые адреса назначаются провайдерами и хостингами для серверов и устройств, которые должны быть доступны извне.
Где взять актуальный список белых IP-адресов РФ?
Актуальные списки можно получить из реестра RIPE NCC (для России), с помощью WHOIS-сервисов, таких как ip.osnova.news, или из открытых проектов на GitHub, например itdoginfo/allow-domains. Эти источники регулярно обновляются, но для полной актуальности рекомендуется автоматизировать обновление.
Как исключить российские сайты из VPN на роутере?
На роутерах с OpenWRT можно использовать пакеты PBR или Podkop, которые позволяют настроить маршрутизацию по спискам доменов или IP-адресов. На роутерах Keenetic есть встроенная функция исключений. Также можно настроить вручную через iptables и ipset, если роутер поддерживает Linux.
Почему российские сайты блокируют доступ через VPN?
Многие российские сайты, особенно маркетплейсы и госуслуги, ограничивают доступ из-за рубежа для защиты от мошенничества или из-за требований законодательства. Они определяют страну по IP-адресу, и если он зарубежный, доступ может быть ограничен. Исключение российских IP-адресов из VPN решает эту проблему.
Можно ли использовать список доменов вместо IP-адресов?
Да, можно. Списки доменов удобнее, так как они не зависят от изменений IP-адресов. Однако для маршрутизации на уровне IP нужно преобразовать домены в IP-адреса с помощью DNS-резолвинга. Некоторые инструменты, такие как PBR, делают это автоматически.
Как часто нужно обновлять список белых IP-адресов?
Рекомендуется обновлять список не реже одного раза в неделю, так как IP-адреса могут меняться. Для автоматизации можно настроить cron-задачу или использовать инструменты, которые обновляются автоматически, например, пакеты на OpenWRT.
Какие риски при использовании белых списков?
Основные риски: неполнота списка (сайт может не открыться), устаревшие данные (IP-адреса изменились), утечка DNS-запросов, а также возможность блокировки со стороны сайтов, если они определяют VPN по другим признакам. Также ошибки в настройке маршрутизации могут привести к потере связи.