Итак, я задал этот вопрос на security.stackexchange.com и superuser.com, и ни на одном из этих форумов никто не ответил. Надеюсь, здесь кто-то знает ответ.
Я использую Mac OS X. Я хотел бы иметь возможность настроить pf, потому что он кажется более сложным и гибким, чем брандмауэр Mac OS X по умолчанию, к которому вы можете получить доступ через Системные настройки. Я попытался использовать некоторые команды pf и получил несколько ошибок, которых не понимаю.
bash-3.2$ sudo pfctl -s rules
No ALTQ support in kernel
ALTQ related functions disabled
scrub-anchor "com.apple/*" all fragment reassemble
anchor "com.apple/*" all
bash-3.2$ sudo pfctl -s states
No ALTQ support in kernel
ALTQ related functions disabled
Я посмотрел ALTQ в Википедии, и, похоже, это программа организации очередей, которая выполняет статистическое мультиплексирование пакетов на уровне ядра. Это модуль ядра, который системы BSD используют для организации очереди пакетов. И ядро Mac OS X, по-видимому, его не поддерживает.
Ладно, это не имеет особого смысла. Зачем Mac OS X включать брандмауэр BSD pf, но не включать поддержку программного обеспечения очередей, необходимого для работы этого брандмауэра? Разве это не контрпродуктивно? Должен быть какой-то способ включить поддержку ALTQ, но я понятия не имею, что это такое. Я даже не совсем уверен, что такое ALTQ. Это загружаемый модуль ядра, который я должен загрузить с помощью kextload
команды? Или проблема в том, что он уже есть, но ядро просто несовместимо с ним. Я совершенно сбит с толку.
Давайте проясним здесь несколько заблуждений и заставим ваш PF работать на вас. Во-первых, часть ALTQ в PF обрабатывает функции QoS или Quality of Service, которые могут иметь отношение к вашим потребностям, только если вы выполняете какую-то сложную сетевую маршрутизацию через машину и вам необходимо установить приоритет маршрутизации определенных типов чувствительных к задержке сетевых ресурсов. трафик — видеопотоки, звонки по мобильному телефону и т. д. — чтобы уменьшить задержку и обеспечить такой трафик большей реакцией.
Я бы не беспокоился о том, что часть QoS не была реализована в порте Apple того, что кажется версией PF для FreeBSD. Apple, должно быть, предвидела меньшее использование сетевой маршрутизации на уровне предприятия в своей операционной системе и большее использование домашними и офисными пользователями, решив пропустить включение ALTQ.
Далее я считаю следующую команду более полезной для обзора того, что делает PF:
sudo pfctl -vvv -s all
Наш следующий шаг — определить, что вы хотите от PF. Конфигурация мяса и картофеля для PF находится в файле /etc/pf.conf. Есть ли что-то конкретное, что вы хотели бы сделать с PF, или вы хотите, чтобы я выложил несколько примеров файлов pf.conf, чтобы дать вам представление о том, как он используется.
В общем, вы делаете мудрый выбор, решив использовать PF. Обидно, что Apple по той или иной причине (подсказка — вспомните Эдварда Сноудена...) решила развернуть свою операционную систему со встроенным брандмауэром, но отключенным по умолчанию, и без включенных по умолчанию правил фильтрации пакетов. ..
Двери широко открыты, если вы спросите меня...
Надеюсь, что это поможет.
Что ж, я не эксперт в этом, pf
но я только что попробовал команды pfctl -s state
, pfctl -s rules
и они работают с моей установкой El Capitan (у меня включен брандмауэр в Системных настройках), а также печатается предупреждение для ALTQ.
Я предполагаю, что Apple портировала большинство, но не все функции, pf
поэтому вы получаете это предупреждение для ALTQ, что означает, что pf
он не поддерживает формирование трафика в OS X.
В качестве примечания, OpenBSD (первоначальный разработчик pf
) фактически удалил поддержку ALTQ с апреля 2014 года.
Надеюсь это поможет.