OS X Yosemite 10.10.4でのPFの質問:
そんなこと知ってる set skip on lo0
loのすべてのフィルタリング(NATおよびリダイレクト)を無効にしますが、他のすべてのフィルタリングを無効にしながら、このインターフェイスで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
助けてください!!!
ついに私は答えを見つけました:
使用する pass on lo0 all
の代わりに set skip on lo0
(最初のフィルタリングルールのように)上部に配置すると、次のようになります。
pass quick on lo0 no state