Вопрос Правило PF с использованием return-rst в Mac OS X не отвечает с перезагрузкой TCP


Я пытаюсь добавить простое правило PF:

block return-rst out proto tcp from any to any port 33128

для фильтрации всего исходящего трафика на TCP-порт 33128, и я бы хотел, чтобы он ответил сбросом. Однако, когда я тестирую его с помощью nc, он истекает время, вместо того, чтобы немедленно возвращаться с ошибкой отказа соединения, которая предполагает, что пакеты, идущие в порт 33128 отбрасываются без отправки сброса TCP:

$ nc -v 172.22.2.2 33128
nc: connectx to 172.22.2.2 port 33128 (tcp) failed: Operation timed out

Способ включения PF и добавления этого правила:

$ echo "block return-rst out proto tcp from any to any port 33128" > pf.conf
$ sudo pfctl -f pf.conf
$ sudo pfctl -e

Что случилось с этим правилом?


2
2018-04-09 20:46


происхождения


с той же проблемой. Я пытаюсь использовать pfctl для имитации полностью мертвого соединения с определенным доменом для некоторых тестов, но все, что я получаю, это таймаут - Fernando Mazzon
Какую версию MacOS вы используете? Это отлично работает для меня 10.10. Я предполагаю pfctl -e возвращается без ошибок? - eradman
@eradman Запуск 10.10 тоже. $ sudo pfctl -e Нет поддержки ALTQ в связанных с ALTQ функциях ядра отключен pfctl: pf уже включен. Другие правила работают очень хорошо, просто это правило имеет проблемы, получая тайм-ауты вместо сброса - Fernando Mazzon


ответы: