Перейти к основному содержимому

Цели

Вкладка «Цели» определяет, к какому трафику применяется сет. Трафик фильтруется по доменам, IP-адресам, категориям GeoSite/GeoIP, ASN и исходным устройствам.

Фильтр версии TLS​

На вкладке Домены обхода есть Фильтр версии TLS с вариантами Любая (по умолчанию), TLS 1.2 и TLS 1.3. Сравнивается самая высокая версия, которую предлагает ClientHello клиента.

При совпадении по домену фильтр работает как предпочтение. Среди сетов, совпавших по имени сервера, первым выбирается сет с подходящим фильтром, а если такого нет, сет выбирается так, будто фильтр не задан. При совпадении по IP-адресу, категории GeoIP или ASN сет с неподходящим фильтром соединение не получает.

Домены​

Домены вводятся вручную, и клавиша Enter добавляет введённый домен в сет.

  • Можно добавлять несколько через запятую или перенос строки
  • При дублировании с другим сетом - появляется предупреждение
  • Кнопка Редактировать список открывает текстовый редактор (по одному домену на строку)

targets

Категории GeoSite​

Вместо добавления доменов по одному можно выбрать категорию из базы GeoSite. Каждая категория содержит сотни или тысячи доменов (например, youtube, discord, google).

Для использования GeoSite нужно загрузить базу данных (Настройки, Geodat настройки).

Клик по категории показывает список входящих в неё доменов.

IP-адреса​

Ручной ввод IP или CIDR-диапазонов (например, 10.0.0.0/8, 192.168.1.100).

Работает аналогично доменам: поддержка массового редактирования, предупреждения о дублях.

Категории GeoIP​

Аналог GeoSite, но для IP-диапазонов. Категории привязаны к странам и ASN.

ASN​

ASN (номер автономной системы) обозначает сеть в интернете: AS15169 - это Google, AS13335 - Cloudflare. Цель ASN заставляет сет совпадать со всеми диапазонами адресов, которые анонсирует эта сеть, без перечисления диапазонов вручную, а b4 поддерживает список в актуальном состоянии, когда сеть добавляет и отзывает диапазоны.

Вкладка ASN принимает номер (15169), тот же номер с префиксом (AS15169) или IP-адрес. Для IP-адреса b4 определяет сеть, которая его анонсирует, и предлагает её ASN, а если адрес анонсируют несколько сетей - каждый из них. При добавлении ASN сначала разрешается, поэтому в его строке видны имя владельца, число префиксов (IPv4 / IPv6), примерное число IPv4-адресов и время последнего обновления. Если разрешить ASN не удалось, ошибка показывается, но ASN всё равно можно добавить: b4 продолжит попытки в фоне.

В каждой строке можно обновить префиксы, посмотреть их полный список и убрать ASN из сета. ASN, чьи префиксы ещё неизвестны, показывается с предупреждением и последней ошибкой загрузки, если она была. На ярлыке вкладки выводится число ASN в сете.

Номера, которые никогда не обозначают публичную сеть, отклоняются с ошибкой: 0, 23456, документационный, частный и зарезервированный диапазон 64496-131071 и всё начиная с 4200000000.

Откуда берутся префиксы​

В конфигурации хранится только номер, без префикса AS: "asns": ["15169"]. Префиксы b4 загружает сам из RIPEstat, сервиса данных RIPE NCC: это префиксы, которые ASN анонсирует от своего имени по данным коллекторов маршрутов RIS, без анонсов, которые видны лишь немногим коллекторам. Частные, зарезервированные и документационные диапазоны и маршруты по умолчанию отбрасываются, префикс внутри более широкого отбрасывается, а две соседние половины большего префикса сливаются в него. Браузер к RIPEstat не обращается.

Результат хранится в asn_cache.json в каталоге файла конфигурации. Файл общий для всех сетов, где указан ASN, и для всех браузеров; из него же берутся метки ASN на странице Трафик. Файл, который при запуске не читается как JSON, переносится в asn_cache.json.corrupt, и ASN, на которые ссылаются сеты, загружаются заново.

Обновление​

СобытиеЧто происходит
Запуск b4Загрузка asn_cache.json не обращается к сети, и сеты используют его префиксы как есть, какими бы старыми они ни были, поэтому после перезагрузки без доступа в интернет сеты продолжают совпадать с последними известными префиксами. Фоновая проверка, описанная ниже, запускается сразу после старта.
Сразу после запуска, затем каждый часФоновая проверка загружает каждый ASN, на который ссылается любой сет, включённый или нет, если записи для него нет или она старше 20 часов. ASN загружаются по одному.
В сете появился ASN без префиксовПроверка запускается сразу.
Загрузка не удаласьОстаётся последняя удачная копия. Следующая попытка - через 30 секунд, и с каждой новой неудачей ожидание удваивается, но не больше часа.
Префиксы изменилисьВсе сеты, которые ссылаются на ASN, разворачиваются заново, и правила файрвола обновляются.

Ответ без префиксов отклоняется. Ответ, который покрывает меньше половины прежнего адресного пространства в IPv4-адресах или в IPv6-сетях /64, принимается, только если три загрузки подряд с интервалом в час вернули такое же сокращение; до тех пор используется прежний список, поэтому пробел в данных RIPEstat не опустошает сет. Кнопка обновления в редакторе сета подчиняется тому же правилу: она оставляет прежний список и сообщает о сокращении, а принять его может только фоновая проверка.

До первого разрешения​

ASN без префиксов в кэше не даёт ни одного адреса, и сет не совпадает с трафиком этой сети, пока не пройдёт первая загрузка. Редактор сета и карточка сета показывают такой ASN как неразрешённый. Сет, у которого домены, адреса, категории и ASN не дают ничего, не совпадает ни с чем: он не начинает действовать на все соединения к своим портам, его MSS clamp не устанавливается, а правила маршрутизации появляются, когда разрешится хотя бы одна цель.

Как сопоставляются адреса​

Префиксы добавляются в список адресов сета после категорий GeoIP и перед адресами, введёнными вручную. Фильтр версии IP сета действует на них строго: при 4 загружаются только префиксы IPv4, при 6 - только IPv6.

Дальше ASN ведёт себя так же, как те же префиксы, введённые в разделе IP-адреса: их используют обход DPI, маршрутизация, блокировка, дублирование пакетов и MSS clamp, а для области действия MSS clamp ASN считается IP-целью. Сет с целями ASN и без доменов не может отслеживаться мониторингом: мониторинг подтверждает, какой сет обрабатывает сайт, по имени хоста.

Когда адрес назначения покрывают несколько сетов, два пути выбирают по-разному:

ПутьКакой сет получает соединение
Обход DPIПервым идёт сет, совпавший по имени сервера TLS или QUIC, затем адрес, запомненный по прежнему совпадению имени сервера. Среди адресных целей, будь то IP, GeoIP или ASN, выигрывает сет, ограниченный устройством-источником, затем самый длинный префикс; порядок в списке решает только между префиксами одной длины.
МаршрутизацияДлина префикса роли не играет. Сеты, ограниченные выбранными устройствами или интерфейсами-источниками, проверяются раньше остальных, а среди сетов одного вида соединение забирает тот, что выше в списке.

Поэтому сет маршрутизации для одного сервиса удерживает свой трафик от сета маршрутизации на всю сеть, только если стоит выше него в списке.

Большие и общие сети

Ограничения на размер нет. Большая сеть разворачивается в тысячи префиксов, и каждый из них - элемент наборов файрвола, которые строят маршрутизация, дублирование пакетов и MSS clamp, а также запись в сопоставителе адресов b4, что на слабом роутере стоит памяти и времени загрузки. Вкладка ASN предупреждает, когда префиксов больше 2000 или IPv4-адресов больше 16 777 216.

Облачные, хостинговые и CDN-сети вроде AWS, Google Cloud, Cloudflare, Akamai или Hetzner несут множество не связанных между собой сервисов, поэтому цель ASN для такой сети захватывает и все остальные сайты, размещённые там. Сет маршрутизации на такую сеть захватывает и публичные DNS-резолверы в ней, например 8.8.8.8 в AS15169 или 1.1.1.1 в AS13335. Цель по домену или более узкий сет, поставленный выше, ограничивает охват нужным сервисом.

к сведению

ASN можно добавить и со страницы Трафик, и из результатов «Хостинги и CDN» DPI Детектора, и через MCP инструментом b4_edit_set_targets.

Исходные устройства​

Ограничивает действие сета трафиком от конкретных устройств в сети.

Устройства, найденные в таблице ARP, сопоставляются по MAC-адресу. У устройств, добавленных вручную, MAC-адреса в сети нет, поэтому они сопоставляются по введённому для них IP-адресу. Такому устройству нужен фиксированный или зарезервированный адрес; если промежуточный роутер подменяет адрес источника его трафика до того, как трафик доходит до b4, сопоставить устройство не получится.

Таблица показывает доступные устройства:

СтолбецОписание
ВыборЧекбокс для включения устройства
MACMAC-адрес устройства или по IP для устройства, добавленного вручную
IPТекущий IP-адрес
ИмяИмя устройства или vendor

Если устройства не выбраны - сет применяется ко всему трафику. Если выбраны - только к трафику от этих устройств. Сеты с привязкой к устройствам имеют приоритет над общими.

Исходные устройства сами по себе трафик не выбирают

Любое правило маршрутизации сопоставляет адрес назначения. Исходные устройства определяют, чей трафик попадёт в это правило, а не какой трафик будет уведён, поэтому сет, у которого из целей только исходное устройство, не маршрутизирует ничего, и b4 не создаёт для него правило.

Когда устройство выбрано, а на вкладке IP обхода включён переключатель Любой IP-адрес, сет маршрутизирует весь трафик этого устройства. Трафик, который порождает сам роутер, такой сет не трогает: он не может прийти от исходного устройства.