CLI-параметры
b4 принимает параметры командной строки, и они имеют приоритет над значениями из конфигурационного файла.
Значение, заданное в командной строке, обратно в файл не записывается. Когда b4 сохраняет конфигурацию, настройка, пришедшая из флага, сохраняется с тем значением, которое уже было в файле, поэтому флаг остаётся разовым переопределением, а не постоянным изменением.
Основные
| Флаг | Описание | По умолчанию |
|---|---|---|
--config | Путь к файлу конфигурации | Определяется автоматически, на большинстве систем /etc/b4/b4.json |
--verbose | Уровень логирования: debug, trace, info, silent | info |
-v, --version | Показать версию и выйти | - |
--clear-tables | Удалить правила iptables/nftables, созданные b4, и выйти | - |
Очередь и обработка
| Флаг | Описание | По умолчанию |
|---|---|---|
--queue-num | Номер очереди netfilter | 537 |
--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 | Дублировать строки лога в syslog | false |
--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