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

CLI-параметры

b4 принимает параметры командной строки, и они имеют приоритет над значениями из конфигурационного файла.

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

Основные

ФлагОписаниеПо умолчанию
--configПуть к файлу конфигурацииОпределяется автоматически, на большинстве систем /etc/b4/b4.json
--verboseУровень логирования: debug, trace, info, silentinfo
-v, --versionПоказать версию и выйти-
--clear-tablesУдалить правила iptables/nftables, созданные b4, и выйти-

Очередь и обработка

ФлагОписаниеПо умолчанию
--queue-numНомер очереди netfilter537
--threadsКоличество рабочих потоков4
--markМетка пакета, используемая в правилах файрвола32768
--ipv4Обрабатывать IPv4-трафик (queue.ipv4)true
--ipv6Обрабатывать IPv6-трафик (queue.ipv6)false

Про --ipv6

--ipv6 - это то же самое, что переключатель Поддержка IPv6 в Настройки → Основные, хранящийся как queue.ipv6. Он говорит, с какими семействами адресов работает b4. Он не включает и не выключает IPv6 на роутере, и сеть в любом случае продолжает им пользоваться.

При выключенном значении, а это значение по умолчанию:

  • b4 привязывает очередь пакетов только к IPv4 и не видит ни одного IPv6-пакета.
  • Ни для одного сета и ни в одном режиме не создаётся IPv6-правил файрвола. Маршрутизация, блокировка и отказ в QUIC, который ставит прокси-сет, существуют только в IPv4.
  • Сайт, на который нацелен сет и который отвечает ещё и по IPv6, клиент откроет по IPv6 в обход сета целиком. Если у хоста есть рабочий глобальный IPv6-адрес, а настройка выключена, b4 пишет об этом предупреждение в лог.
  • Чтобы сузить эту щель, b4 вырезает IPv6-адреса из DNS-ответов для доменов, совпавших с сетом, и клиенты остаются на защищённом IPv4-пути. См. Откат на IPv4.

Семейства адресов очереди привязываются при старте сервиса, поэтому изменение вступает в силу в полном объёме только после перезапуска.

Фаервол

ФлагОписаниеПо умолчанию
--skip-tablesНе создавать правила iptables/nftables при запускеfalse
--tables-monitor-intervalКак часто проверять и восстанавливать правила, в секундах. 0 отключает10

Логирование

ФлагОписаниеПо умолчанию
-i, --instaflushСбрасывать записи лога немедленноtrue
--syslogДублировать строки лога в syslogfalse
--log-dirКаталог для файлов логов b4. Пустое значение отключает запись в файлы/var/log/b4

Веб-сервер

ФлагОписаниеПо умолчанию
--web-portПорт веб-интерфейса. 0 отключает7000

Примеры

Запуск со своим конфигурационным файлом и debug-логированием:

b4 --config /opt/etc/b4/b4.json --verbose debug

Очистка правил файрвола:

b4 --clear-tables

Запуск без автонастройки файрвола, с ручным управлением правилами:

b4 --skip-tables

Запуск с обработкой IPv6 только для этого запуска, без правки конфигурационного файла:

b4 --ipv6