Брандмауэр PF: Как отключить всю фильтрацию в петлевом интерфейсе, КРОМЕ особых правил переадресации портов?
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
Пожалуйста помоги!!!
2 ответа
Решение
Наконец я нашел ответ:
использование pass on lo0 all
вместо set skip on lo0
Тот, который помещен ближе к вершине (как может быть 1-е правило фильтрации), будет делать:
pass quick on lo0 no state