在OSX上redirectpfctl会出错

我希望我所有的stream量都被redirect127.0.0.1:1080上的SOCKS代理。 根据本教程,我将下面的规则添加到/etc/pf.conf的末尾:

 pass on en3 proto tcp from any to any rdr-to 127.0.0.1 port 1080 

当我加载这个configuration文件时,报错:

 pfctl: Syntax error in config file: pf rules not loaded 

我的操作系统是OSX 10.11 El队长。 我错在哪里?

你在规则中遗漏了数据包的方向,它应该是在或离开。

 pass in on en3 proto tcp from any to any rdr-to 127.0.0.1 port 1080 

要么

 pass out on en3 proto tcp from any to any rdr-to 127.0.0.1 port 1080 

另外,我不确定PF的OSX实现支持rdr-to。

我从来没有使用它,但根据手册页 ,它可能看起来更像这样:

 rdr on en3 proto tcp from any to any -> 127.0.0.1 port 1080