finally I've found the answer:
use pass on lo0 all
instead of set skip on lo0
PF вопрос по OS X Yosemite 10.10.4:
Я знаю, что set skip on lo0
отключает всю фильтрацию (nat и redirects) на lo0, но что если мне нужно сохранить правила переадресации порта httpd на этом интерфейсе при отключении всех других фильтров:
rdr pass on lo0 inet proto tcp from any to 127.0.0.1 port 80 -> 127.0.0.1 port 8080 rdr pass on lo0 inet proto tcp from any to 127.0.0.1 port 443 -> 127.0.0.1 port 8443
Как бы я это сделал?
pf.conf:
### MACROS lan_int="en0" wifi_int="en2" ###----- OPTIONS ------### set block-policy drop set fingerprints "/etc/pf.os" set ruleset-optimization basic ### disable all filtering on loopback interface set skip on lo0 ###--- NORMLIZATION ---### ### Scrub incoming packets scrub in all no-df ###----- QUEUEING -----### ###--- TRANSLATION: ---### ### HTTPd Port Forwarding rdr pass on lo0 inet proto tcp from any to 127.0.0.1 port 80 -> 127.0.0.1 port 8080 rdr pass on lo0 inet proto tcp from any to 127.0.0.1 port 443 -> 127.0.0.1 port 8443 ###---- FILTERING -----### ### Antispoof antispoof log quick for { lo0 $lan_int $wifi_int } ### Block by default but open ports only for internal interface lo0 block in log block out log
Пожалуйста помоги!!!
finally I've found the answer:
use pass on lo0 all
instead of set skip on lo0
Тот, который помещен ближе к вершине (как может быть 1-е правило фильтрации), будет делать:
pass quick on lo0 no state