Мне нужна помощь, чтобы заставить работать брандмауэр pf

Итак, я задал этот вопрос на 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команды? Или проблема в том, что он уже есть, но ядро ​​просто несовместимо с ним. Я совершенно сбит с толку.

Ответы (2)

Давайте проясним здесь несколько заблуждений и заставим ваш 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 года.

Надеюсь это поможет.