Основные настройки
Большинство изменений на этой вкладке требуют перезапуска сервиса. Исключения - язык интерфейса и настройки SOCKS5-прокси, которые применяются при сохранении.
Управление
Кнопки в верхней части настроек:
- Перезапустить сервис - перезапуск b4 (ожидаемое время простоя: 5–10 секунд)
При сбросе конфигурации сохраняются: домены, категории GeoSite/GeoIP и настройки тестирования. Всё остальное (сеть, обход DPI, протоколы, логирование) сбрасывается.

Очередь и обработка пакетов
Настройки ядра обработки пакетов через netfilter.

| Параметр | Описание | Диапазон | По умолчанию |
|---|---|---|---|
| Начальный номер очереди | Номер NFQUEUE. Изменяйте, если другие программы используют те же номера | 0–65535 | 537 |
| Метка пакета | Метка netfilter для правил iptables/nftables. b4 использует её для маркировки обработанных пакетов | - | 32768 |
| Рабочие потоки | Количество параллельных воркеров. Больше потоков = выше пропускная способность на многоядерных системах | 1–16 | 4 |
| Лимит TCP пакетов соединения | Сколько TCP-пакетов на соединение анализировать. Сеты не могут превышать это значение | 1–100 | 19 |
| Лимит UDP пакетов соединения | Сколько UDP-пакетов на соединение анализировать. Сеты не могут превышать это значение | 1–30 | 8 |
Эти лимиты - глобальный потолок. В каждом сете можно установить свой лимит, но он не может быть выше глобального. Увеличение значения даёт b4 больше времени на анализ, но повышает нагрузку.
Функции
Протоколы
| Параметр | Описание | По умолчанию |
|---|---|---|
| Поддержка IPv4 | Обработка IPv4-трафика | Вкл |
| Поддержка IPv6 | Обработка IPv6-трафика | Выкл |
Эти переключатели говорят, на какие семейства адресов смотрит b4. Они не включают и не выключают IPv6 на роутере и не мешают сети им пользоваться.
При выключенной поддержке b4 не создаёт IPv6-правил файрвола и не читает IPv6-пакеты. Сайт, на который нацелен сет и который отвечает ещё и по IPv6, клиент откроет по IPv6 - то есть в обход сета целиком: без стратегий обхода, без маршрутизации, без блокировки. Поэтому b4 пишет в лог предупреждение, если у хоста есть рабочий глобальный IPv6-адрес, а эта настройка выключена.
Смягчают это две вещи. b4 вырезает IPv6-адреса из DNS-ответов для доменов, совпавших с сетом, поэтому клиенты, резолвящие через роутер, остаются на IPv4-пути, который b4 защищает, а сет можно явно нацелить на IPv6. См. DNS → Откат на IPv4.
Включение и выключение поддержки IPv6 меняет набор правил файрвола для каждого сета. Сеты перестраиваются на ближайшей синхронизации конфигурации, но сама очередь пакетов привязывается к семействам адресов при старте, поэтому в полном объёме изменение вступает в силу только после перезапуска сервиса.
Фаервол

| Параметр | Описание | По умолчанию |
|---|---|---|
| Пропустить настройку IPTables/NFTables | b4 не будет создавать правила firewall. Используйте, если настраиваете правила вручную | Выкл |
| Интервал мониторинга фаервола | Как часто проверять и восстанавливать правила (сек). Если правила удаляются внешними программами, b4 восстановит их | 10 |
| Движок фаервола | Какой backend использовать для правил | Автоопределение |
| NAT Masquerade | Включить NAT-маскарад. Нужен для контейнеров и шлюзов, где b4 перенаправляет трафик | Выкл |
| Интерфейс Masquerade | На каком интерфейсе применять маскарад. Появляется при включении NAT Masquerade | Все |
Значение 0 полностью отключает мониторинг правил. Если внешняя программа или скрипт удалит правила b4 - они не будут восстановлены.
Движок фаервола - выбор из:
| Значение | Описание |
|---|---|
| Автоопределение | b4 сам определит доступный backend (рекомендуется) |
| nftables | Использовать nftables |
| iptables | Использовать iptables |
| iptables-legacy | Использовать iptables-legacy (для старых систем) |
Сетевые интерфейсы
Выбор интерфейсов для мониторинга. Интерфейсы отображаются как кликабельные метки - нажмите, чтобы включить/выключить.
Если не выбран ни один интерфейс - b4 слушает все доступные.
Настройки логирования

| Параметр | Описание | По умолчанию |
|---|---|---|
| Уровень логирования | Детализация логов | INFO |
| Путь к файлу ошибок | Записывать ошибки в файл | /var/log/b4/errors.log |
| Часовой пояс | Часовой пояс для временных меток | Системный (авто) |
| Мгновенный сброс | Сбрасывать буфер после каждой записи. Может влиять на производительность | Вкл |
| Syslog | Дублировать логи в системный syslog | Выкл |
Уровни логирования:
| Уровень | Что отображается |
|---|---|
| Ошибка | Только ошибки |
| Инфо | Ошибки + основные события |
| Трассировка | Инфо + детали обработки пакетов |
| Отладка | Всё, включая отладочную информацию |
При уровне Ошибка разделы Логи и Соединения в веб-интерфейсе не будут показывать данные - они получают информацию из потока логов, который при этом уровне практически пуст.
b4 не ведёт постоянный лог-файл - всё выводится в stdout/stderr (и перехватывается веб-интерфейсом через WebSocket). В файл errors.log записываются только критические ошибки и аварийные завершения.
Для диагностики проблем используйте Трассировка или Отладка. Для обычной работы достаточно Инфо.
Веб-сервер
Настройки веб-интерфейса b4.

| Параметр | Описание | По умолчанию |
|---|---|---|
| Адрес привязки | IP для прослушивания. 0.0.0.0 = все интерфейсы, 127.0.0.1 = только localhost, :: = все IPv6 | 0.0.0.0 |
| Порт | Порт веб-интерфейса | 7000 |
| TLS Сертификат | Путь к файлу сертификата .crt или .pem (пусто = HTTP) | - |
| TLS Ключ | Путь к файлу ключа .key или .pem (пусто = HTTP) | - |
| Язык | Язык интерфейса: English / Русский | English |
Авторизация
| Параметр | Описание | По умолчанию |
|---|---|---|
| Имя пользователя | Логин для входа в веб-интерфейс | - |
| Пароль | Пароль для входа | - |
Авторизация работает только когда заполнены оба поля. Если указано только имя пользователя или только пароль - авторизация не включится.
Если авторизация включена, но TLS не настроен - логин и пароль передаются по незашифрованному HTTP. Настройте TLS-сертификаты для безопасной передачи. Подробнее - в разделе Безопасность.
SOCKS5 Прокси
Встроенный SOCKS5-прокси. Приложения могут направлять через него трафик - он будет обработан b4 с применением настроенных сетов.

| Параметр | Описание | По умолчанию |
|---|---|---|
| Включить | Запустить SOCKS5-сервер | Выкл |
| Адрес привязки | IP для прослушивания. 0.0.0.0 = все, 127.0.0.1 = только localhost | 0.0.0.0 |
| Порт | Порт прокси | 1080 |
| Имя пользователя | Логин для SOCKS5-авторизации (пусто = без авторизации) | - |
| Пароль | Пароль для SOCKS5-авторизации (пусто = без авторизации) | - |
| Разрешённые источники | IP-адреса и CIDR-диапазоны, которым разрешено открывать соединение (пусто = без ограничения) | - |
Все поля кроме «Включить» становятся доступны только после включения прокси.
Имя пользователя и пароль работают только в паре. Если заполнено ровно одно из двух полей, прокси отказывает всем клиентам, а не работает без авторизации. Оба поля пусты - авторизации нет, оба заполнены - авторизация обязательна. Конфигурация, в которой задано только одно из них, отклоняется при сохранении.
Ни одно поле SOCKS5 не требует перезапуска сервиса. Учётные данные и список источников применяются к работающему прокси, а изменение полей Включить, Адрес привязки и Порт перепривязывает слушающий сокет при сохранении.
Разрешённые источники
system.socks5.allowed_sources перечисляет адреса клиентов, которым разрешено открывать соединение с прокси. Пустой список означает отсутствие ограничения - это значение по умолчанию и поведение прежних версий. Если список не пуст, у клиента, адрес которого не попадает ни в одну запись, TCP-соединение закрывается на этапе accept: до обмена первым байтом SOCKS5 и до того, как соединение займёт слот.
Запись - это либо отдельный IP-адрес, v4 или v6, который читается как /32 и /128, либо CIDR-диапазон. Хостовая часть обнуляется, поэтому 192.168.1.7/24 сохраняется как 192.168.1.0/24.
Список из 192.168.1.0/24 и 127.0.0.1/32 принимает клиентов из этой подсети LAN и с самого роутера, а соединения из любых других источников закрывает.
Список источников - это контроль того же рода, что и правило файрвола: он определяет, какие адреса доходят до прокси, и ничего больше. Личность клиента он не устанавливает. Адрес источника можно подделать, DHCP-аренда переходит от одного устройства к другому, а запись для хоста, который сам является роутером, представляет все хосты за этим роутером. Клиента идентифицируют учётные данные.
Chrome и Chromium не поддерживают SOCKS5-авторизацию по имени пользователя и паролю (crbug 40323993), поэтому подключиться к прокси с авторизацией они не могут вообще. Список источников - способ обслуживать эти браузеры без учётных данных и при этом не отвечать произвольным клиентам.
Учётные данные и список источников - независимые механизмы, которые действуют одновременно. Список не меняет то, какой метод авторизации предлагает прокси, он решает только, дойдёт ли соединение до этапа авторизации. Если настроено и то и другое, клиент должен и приходить с адреса из списка, и предъявить верные учётные данные.
Loopback не разрешается неявно. Клиенту, работающему на самом роутере, нужна явная запись 127.0.0.1/32, или ::1/128 для IPv6, иначе он получит отказ, как любой другой источник вне списка.
Изменение списка вступает в силу при сохранении, перезапуск сервиса не нужен. Активные сессии, источник которых больше не подходит, разрываются, а добавленный в список источник может подключиться сразу.
Отказ в соединении не равен отсутствию прослушивания. Слушатель принимает соединение и затем закрывает его, поэтому порт по-прежнему отвечает на сканирование, и b4 не добавляет для него правил файрвола. С адресом привязки 0.0.0.0 по умолчанию прокси доступен из WAN независимо от содержимого списка источников. Чтобы убрать прокси из WAN, его по-прежнему нужно привязывать к адресу LAN.
0.0.0.0/0 и ::/0 отклоняются при сохранении конфигурации: запись, подходящая любому адресу, отключает ограничение, оставляя его на вид включённым. Запись, которая не является ни IP-адресом, ни CIDR-диапазоном, отклоняется так же.
MTProto Прокси
Встроенный Telegram MTProto-прокси с fake-TLS обфускацией. Трафик Telegram оборачивается в TLS-соединение, маскируясь под обычный HTTPS-трафик. Подробное руководство по настройке - в разделе MTProto Прокси.

| Параметр | Описание | По умолчанию |
|---|---|---|
| Включить | Запустить MTProto-сервер | Выкл |
| Адрес привязки | IP для прослушивания | 0.0.0.0 |
| Порт | Порт прокси | 3128 |
| Домен для Fake SNI | Домен, который будет виден в TLS-рукопожатии. DPI увидит этот домен вместо Telegram | storage.googleapis.com |
| DC Relay | Адрес внешнего relay-сервера (host:port) для доступа к Telegram DC, если они заблокированы по IP | - |
| Secret | Секрет для подключения клиента Telegram. Вставьте его в настройках прокси в Telegram | - |
Кнопка Сгенерировать Secret создаёт секрет на основе текущего домена Fake SNI.
DC Relay нужен, когда b4 установлен на роутере внутри страны с блокировкой, а IP-адреса серверов Telegram заблокированы. В этом случае нужен VPS за пределами блокировки, который будет relay-сервером.
Изменения настроек MTProto требуют перезапуска сервиса.
Глобальный MSS Clamping
Ограничение TCP Maximum Segment Size на SYN/SYN-ACK пакетах для трафика на порт 443. Уменьшает размер сегментов, что приводит к естественной фрагментации - DPI не может собрать фрагментированный ClientHello.

| Параметр | Описание | Диапазон | По умолчанию |
|---|---|---|---|
| Включить | Активировать глобальный MSS Clamping | - | Выкл |
| Размер MSS | Размер MSS в байтах. Меньше значение = больше фрагментация | 10–1460 | 88 |
Мест три, от самого широкого к самому узкому:
- Глобально, здесь - применяется ко всему трафику на порт 443.
- Для устройства, в столбце MSS в таблице устройств ниже - например, для телевизора с YouTube. Работает независимо от глобального.
- Для сета, на вкладке TCP → Общее - для адресов или устройств, на которые нацелен сет. Для покрываемых им соединений имеет приоритет над обеими настройками выше.
DNS
Здесь собрано то, что действует на DNS во всех сетах: перехватывается ли DNS поверх TCP, на какой порт он заворачивается, таймауты и откат на IPv4. Сам резолвер выбирается в сете. См. DNS.
В этой же группе находится Форсировать IPv4 для совпавших доменов. Пока поддержка IPv6 выключена, эта настройка вырезает IPv6-адреса из DNS-ответов для доменов, совпавших с сетом, чтобы такие клиенты оставались на IPv4-пути, который защищает b4, и не трогает все остальные имена. По умолчанию включена, а при включённой поддержке IPv6 неактивна. См. Откат на IPv4.
Фильтрация устройств
Ограничение работы b4 трафиком от конкретных устройств в сети. Полезно, если обход нужен не для всех устройств.
Устройства, найденные в таблице ARP, сопоставляются по MAC-адресу. У устройств, добавленных вручную, MAC-адреса в сети нет, поэтому они сопоставляются по введённому для них IP-адресу - и когда сет ограничен исходными устройствами, и для индивидуального MSS clamping. Задайте такому устройству фиксированный или зарезервированный адрес; если промежуточный роутер подменяет адрес источника его трафика до того, как трафик доходит до b4, сопоставить устройство не получится.
Список разрешённых и запрещённых устройств ниже отбирает трафик для обхода DPI только по MAC-адресу, поэтому список, состоящий из одних добавленных вручную устройств, оставляет обход DPI работающим для всех устройств.

| Параметр | Описание | По умолчанию |
|---|---|---|
| Включить | Активировать фильтрацию по устройствам | Выкл |
| Определение производителя | Скачать базу vendor для определения производителя по MAC (~6 МБ) | Выкл |
| Инвертировать выбор | Переключение между белым и чёрным списком | Выкл |
- Белый список (по умолчанию) - обход DPI работает только для выбранных устройств
- Чёрный список (инвертировать выбор) - выбранные устройства исключаются из обхода DPI
Таблица устройств
При включении фильтрации появляется таблица обнаруженных устройств:
| Столбец | Описание |
|---|---|
| Выбор | Чекбокс для включения/исключения устройства |
| MAC | MAC-адрес или по IP для устройства, добавленного вручную |
| IP | Текущий IP-адрес |
| Имя | Псевдоним устройства (можно задать через иконку редактирования) или vendor |
| MSS | Индивидуальный MSS Clamping для этого устройства (10–1460, пусто = выключен) |
Кнопка Обновить перезагружает список устройств из ARP-таблицы.
MSS Clamping можно настроить для каждого устройства отдельно - например, уменьшить MSS только для телевизора с YouTube, не затрагивая остальные устройства.