web-dev-qa-db-ja.com

PFファイアウォール:特定のポート転送ルールを除いて、ループバックインターフェイスですべてのフィルタリングを無効にする方法は?

OS X Yosemite 10.10.4でのPFの質問:

そんなこと知ってる set skip on lo0loのすべてのフィルタリング(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

助けてください!!!

1
Drew

ついに私は答えを見つけました:

使用する pass on lo0 all の代わりに set skip on lo0

2
Drew

(最初のフィルタリングルールのように)上部に配置すると、次のようになります。

pass quick on lo0 no state

0
poige