我希望我的所有流量都重定向到 上的 SOCKS 代理。我根据127.0.0.1:1080
以下规则添加到 的末尾:/etc/pf.conf
本教程:
pass on en3 proto tcp from any to any rdr-to 127.0.0.1 port 1080
当我加载此配置文件时,报错:
pfctl: Syntax error in config file: pf rules not loaded
我的操作系统是 OSX 10.11 El captain。我哪里错了?
答案1
我的操作系统是 OSX 10.11 El captain。我哪里错了?
— 希望这个语法能够起作用。
Pf 的移植到 MacOS 的版本从首次出现到移植到 Mojave(包括)一直处于冻结状态,Apple® 不会对其进行更新。仍然man pf.conf
有适当的规则示例rdr
。
答案2
您的规则中缺少数据包的方向,它应该是进或出。
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