Цели
Вкладка «Цели» определяет, к какому трафику применяется сет. Трафик фильтруется по доменам, IP-адресам, категориям GeoSite/GeoIP, ASN и исходным устройствам.
Фильтр версии TLS
На вкладке Домены обхода есть Фильтр версии TLS с вариантами Любая (по умолчанию), TLS 1.2 и TLS 1.3. Сравнивается самая высокая версия, которую предлагает ClientHello клиента.
При совпадении по домену фильтр работает как предпочтение. Среди сетов, совпавших по имени сервера, первым выбирается сет с подходящим фильтром, а если такого нет, сет выбирается так, будто фильтр не задан. При совпадении по IP-адресу, категории GeoIP или ASN сет с неподходящим фильтром соединение не получает.
Домены
Домены вводятся вручную, и клавиша Enter добавляет введённый домен в сет.
- Можно добавлять несколько через запятую или перенос строки
- При дублировании с другим сетом - появляется предупреждение
- Кнопка Редактировать список открывает текстовый редактор (по одному домену на строку)

Категории 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, сопоставить устройство не получится.
Таблица показывает доступные устройства:
| Столбец | Описание |
|---|---|
| Выбор | Чекбокс для включения устройства |
| MAC | MAC-адрес устройства или по IP для устройства, добавленного вручную |
| IP | Текущий IP-адрес |
| Имя | Имя устройства или vendor |
Если устройства не выбраны - сет применяется ко всему трафику. Если выбраны - только к трафику от этих устройств. Сеты с привязкой к устройствам имеют приоритет над общими.
Любое правило маршрутизации сопоставляет адрес назначения. Исходные устройства определяют, чей трафик попадёт в это правило, а не какой трафик будет уведён, поэтому сет, у которого из целей только исходное устройство, не маршрутизирует ничего, и b4 не создаёт для него правило.
Когда устройство выбрано, а на вкладке IP обхода включён переключатель Любой IP-адрес, сет маршрутизирует весь трафик этого устройства. Трафик, который порождает сам роутер, такой сет не трогает: он не может прийти от исходного устройства.